代码简洁性
开发者谦逊
2011年11月15日 by Max Kanat-Alexander
你的程序对我来说并不重要。我不关心它的用户界面。我不在乎它叫什么名字。我不在乎是谁开发的,也不在乎它的版本号。
我唯一关心的是你的程序能否帮助我实现我的目标。如果它能做到这一点,那才是真正了不起的成就,你应该为此感到自豪。没必要仅仅因为你觉得程序重要,就让它占用我更多的注意力。
当然,你的程序对你来说很重要!当你长时间编写代码时,很容易对它产生感情。编写过程如此艰难。你的聪明才智无边无际,在你智慧的高山上投下了凡人的阴影。你克服了人类曾经面临的一些最大心理障碍。确实,你必须在每座塔顶、每条街道,甚至地球的洞穴中大声宣告这一点。
但请不要这样做。因为你的用户并不在乎。你的开发同事可能会感兴趣,但你的用户不会。
当你真正聪明时,用户看到的是程序非常出色。如此出色,以至于用户几乎注意不到它的存在。这才是真正的 brilliance。
最违反这一理念的是那些每次我启动电脑时都会弹出窗口的程序。我知道你的软件在那里。是我安装的。你真的不需要提醒我。如果我的目标是启动电脑以便使用它,你的弹出窗口如何帮助我实现这个目标?它没有帮助,所以请去掉它。
还有其他更小的问题制造方式,都围绕着向用户索取过多时间或注意力:
“用户肯定会愿意点击三个表单屏幕才能使用我的产品。” “我相信用户会想学习我为这个程序发明的所有图标,所以去掉这些图标的文字标签没问题!” “我相信通过弹出这些对话框来阻止用户工作是可以的。” “用户肯定会愿意在这个巨大的页面上搜索一小段文字以便点击它。” “我们为什么要简化这个?那会需要很多工作,而且对我来说已经很容易了…”
等等。
开发者真正需要的谦逊是愿意从用户的世界中移除自己的身份。停止告诉用户程序的存在。不要认为用户关心你的程序,愿意花时间使用它的界面,或者想要了解它。他们关心的不是你的程序——而是他们自己的目标。完美地帮助他们实现这些目标,你就为他们创造了完美的程序。
-Max
分享 点击在Facebook上分享(在新窗口中打开) Facebook 点击在LinkedIn上分享(在新窗口中打开) LinkedIn 点击在Hacker News上分享(在新窗口中打开) Hacker News 点击在Reddit上分享(在新窗口中打开) Reddit 点击在Threads上分享(在新窗口中打开) Threads 点击在X上分享(在新窗口中打开) X
10条评论 发表回复
Tony Mechelynck 说:2011年11月15日晚上9:48 我要补充一点:是的,你的程序应该是透明的(“不被注意”),并尽可能做用户期望的事情。但用户有不同的偏好和期望。如果某个特定用户发现程序运行"与期望相反"(也许因为他有不寻常的期望),更改配置设置的方式应该是明显的(需要很少搜索)和简单的(每个更改的设置需要很少用户操作)。
回复
Max Kanat-Alexander 说:2011年11月16日凌晨1:08 这似乎是一个合理有效的观点。我相信我们都同意必须谨慎添加多少偏好设置,但这都包含在使偏好设置本身简单化中。
-Max
回复
John P 说:2011年11月16日上午9:15 不过不同的用户想要不同的东西。虽然一个用户(可能是偶尔使用的用户)可能欣赏带有图标的文本标签以便轻松找到功能,但另一个(重度日常用户)可能讨厌它们占用的额外屏幕空间。对一个人因缺失而吸引注意力的东西,对另一个人却因存在而吸引注意力。
请注意,我认为没有多少用户真正想要在启动时出现侵入性弹出窗口来宣传程序的存在。另一方面,如果它们成功地提高了生产者品牌的知名度,那么它们就为创建者服务了一个目的,并且可能会继续存在。
回复
Max Kanat-Alexander 说:2011年11月16日晚上11:02 我倾向于认为这类事情大多可以以一种实际上对高级用户和新用户都很好的方式实现。实际上,我多年来一直在维护一个产品,必须在其用户界面上做到这一点,我认为我们最近一直在学习如何以一种对两个群体都相当可行的方式来实现。
至于弹出窗口:开发者的目的不是软件的目的。此外,计算历史表明,赢家是那些最好地服务用户同时在业务方面执行良好的人。拥有优秀的产品是创造品牌知名度的完全体面的方式。我没有看到Chrome在我的浏览器界面上到处弹出它的名字或标志,但它获得市场份额的速度比历史上任何其他浏览器都快。我通常认为以"品牌知名度"为由来损害用户的论点是软弱和短视的。
-Max
回复
Fredrik Carlén 说:2012年12月3日下午12:59 说得好,说得好。
回复
Vladimir Dzhuvinov 说:2011年11月16日晚上10:48 Max,你是在暗示某个更广泛使用的PC环境吗?
回复
Max Kanat-Alexander 说:2011年11月16日晚上10:57 哈哈哈!我没想过,但有时候确实是这样,当然!
-Max
回复
Ben Morrow 说:2011年11月16日晚上10:49 这里的一个主要因素是通过通知创建品牌知名度。这很糟糕,但大多数用户没有意识到通知很糟糕,并将其与品牌负面关联。傲慢可能最终是更大的因素。
伙计,你能想象如果你的医生以自我祝贺的方式不断打电话给你,说你最近没有感染艾滋病,然后向你提供健康保险升级以确保万无一失吗?对不起,Norton医生,我要换供应商了。
回复
Max Kanat-Alexander 说:2011年11月16日晚上10:58 哈哈哈哈!是的,我喜欢医生的类比!
-Max
回复
Reilly Sweetland 说:2011年11月29日下午12:01 我认为当程序允许用户用尽可能少的"程序"实现他们的目标时,也有某种美学。换句话说,你如何占用最少的用户心智周期来完成他们的目标?
很多有趣的用户体验讨论都源于此,但我认为你在这里抓住了重点,Max。对开发者或设计师来说,很容易陷入机制而忽视大局。
回复 发表回复取消回复
联系 关于 书籍:《理解软件》 书籍:《代码简洁性》
输入您的邮箱… 订阅
© 2025 版权所有。由The Fox提供技术支持。 管理同意联系 关于 书籍:《理解软件》 书籍:《代码简洁性》 返回顶部