要点:我会尽力解释Jakob Nielsen的10设计启发式算法。我会用例子告诉你,做为一名开发人员,如何使你的产品以及你产品背后的代码更加有用。php
开发者也是设计师,他们只是使用不一样的媒介。程序员
所以,你知道如何设计系统也是你的最终产品的一部分。算法
关注于把底层设计的更加有用将会帮助肯定如下事情:网络
当我与开发者一块儿工做的时候发现,这些观念已经在程序员之中存在了–只是他们尚未把这个表达给设计师。还有不少须要去作,可是基础已经存在了,这难道不是好消息吗?学习
在个人例子中并无任何实际的代码,由于我以为人们对于编写任何软件的正确方式都太敏感了。网站
像设计师同样,程序员喜欢运用他们的创造力来解决复杂的问题。而我宁愿你考虑一下下面关于设计系统的规则,而不是按照一组严格的规定来讲“这是解决XX问题最好的方法”。spa
启发式只是经过你的经验中学习。它是用于查找在用户界面的易用性问题,使得它们能够参加到做为迭代设计过程的一部分的方法。命令行
咱们获得3-5个启发式设计的专家来使用咱们的产品,并判断它是否符合最基本的可用性规则,即“10设计启发式”合规,这是启发式的简化。翻译
下面让咱们开始吧。设计
曾经上传图像到一个网站?好比说一个社交网络的头像?
主要的原则是要使你始终能够了解上传的状态。上面的例子只是告诉你上传的状态。而看到它的进步使用户更加舒服,你不以为吗?
当写文档或命名一个组成部分,始终尝试使用熟悉的术语。了解目标用户是谁,而后使用他们熟悉的单词、短语和概念。
系统应该容许你自由去探索其内容,可是以一种更加负责的方式,应该让你能够从你可能犯的错误中进行恢复。好比说支持“撤销”与“重作”。
苹果和微软都对“肯定”和“取消”按钮的顺序有不一样的意见。哪一个更好?
都很差或者都好?固然,这并不重要,重要的是你要确保全部用户交互系统的一致性。
要作到这一点,你就不该该让你的用户困惑,为何不同的单词、不同的环境或者操做确获得相同的结果。
在错误可能发生的第一个位置阻止错误是很是重要的。
当咱们一开始的时候,就有QA人员来寻找产品中的缺陷以保证产品质量。而后把他们放到生产线上,让他们指出如何在第一道工序开始就作出没有缺陷的产品。你会惊讶于这样的效率是多么的高,当你作的东西中的缺陷在第一时间被发现而不是到最后才被发现。
— Mary Poppendieck
显示出提高用户可用性的标识,这是另外一个有帮助的内容。
CLI(命令行接口) 是一个彻底无视这一原则的最好的例子,经过这样,它演示了优雅(它用灵活性与效率来弥补了它所缺乏的)。
在你的系统上提供一个潜在的、隐藏的层,来帮助有经验的用户经过“噪声”,变得更加有效率。
Cli 就是这样一个“隐藏”界面的功能是能够多么强大的例子(咱们甚至能够选择扩展)。
最初被列为“审美和简约设计”。这一原理是关于提升信噪比的。
你提供给用户的全部数据都要有必定的约束–是否有臃肿的HTTP请求的占用带宽、充满缺陷的API、以及须要太多请求的交互界面。
尽可能用最小的输入,得到最大的产出。
错误消息应该用平实的语言表达(没有代码),精确显示问题,建设性地提出一个解决方案。对用户是有用的。而且提供一个解决方案。
就像 这样。
在设计原则的列表中看到这一项,我和你同样感到惊讶。
即使没有文档也可使用的系统,最好也仍是要提供帮助和文档。任何此类信息都应该易于搜索,关注用户的任务,列出具体的进行步骤,并切不该该太大。
我但愿这对你是有帮助的。若是你有任何问题或见解,请留言。