所以我们看到,“对用户不友好”的背后,其实是程序设计的不合理使得它们缺少抽象,而不是用户的问题。这种对用户不友好的现象在 Windows,Mac,iPhone, Android 里也普遍存在。比如几乎所有iPhone用户都被洗脑的一个错误是“iPhone 只需要一个按钮”。一个按钮其实是不够的。还有就是像 Photoshop, Illustrator, Flash 之类的软件的菜单界面,其实把用户需要的功能和设置给掩藏了起来,分类也经常出现不合理现象,让他们很难找到这些功能。
如何对用户更加友好,是一两句话说不清楚的事情。所以这里只粗略说一下我想到过的要点:
统一:随时注意,人是一个统一的系统的一部分,而不是什么古怪的神物。基本上可以把人想象成一个程序模块。
抽象:最大限度的掩盖程序内部的实现,尽量不让人知道他不必要知道的东西。不愿意暴露给其它程序模块的细节,也不要暴露给人。“机所不欲,勿施于人”。
充要:提供给人充分而必要(不多于)的机制来完成人想完成的任务。
正交:机制之间应该尽量减少冗余和重叠,保持正交(orthogonal)。
组合:机制之间应该可以组合(compose),尽量使得干同一件事情只有一种组合。
理性:并不是所有人想要的功能都是应该有的,他们经常欺骗自己,要搞清楚那些是他们真正需要的功能。
信道:人的输入输出包括5种感官,虽然通常电脑只与人通过视觉和听觉交互。
直觉:人是靠直觉和模型(model)思考的,给人的信息不管是符号还是图形,应该容易在人脑中建立起直观的模型,这样人才能高效的操作它们。
上下文:人脑的“高速缓存”的容量是很小的。试试你能同时想起7个人的名字吗?所以在任一特定时刻,应该只提供与当前被关注对象相关的操作,而不是提供所有情况下的所有操作供人选择。上下文菜单和依据上下文的键盘操作提示,貌似不错的主意。
原文转自:http://www.kuqin.com/shuoit/20131106/336092.html