世界级图形设计大师Paul Rand(保罗.兰德)曾经说过:“设计绝不是简单的排列组合与简单地再编辑,它应当充满着价值和意义,去说明道理,去删繁就简,去阐明演绎,去修饰美化,去赞美褒扬,使其有戏剧意味,让人们信服你所言……”,由此可见,设计绝非轻而易举之事,优秀的设计更是难上加难,今日小编偶然发现一篇界面设计师Joshua Porter博客当中的一篇文章——《Principles of User Interface Design》,文章中列举了20大UI设计原则,看完之后,觉得挺受启发,于是试着将其编译,希望能够给广大设计师——特别是刚入门的初级设计师,提供较好的学习机会。全文编译如下:

1.清晰度是首要工作

清晰度是界面设计中,第一步也是最重要的工作。要想你设计的界面有效并被人喜欢,首先必须让用户能够识别出它?让用户知道为什么会使用它?比如当用户使用时,能够预料到发生什么,并成功的与它交互。有的界面设计得不是太清晰,虽然能够满足用户一时的需求,但并非长久之计,而清晰的界面能够吸引用户不断地重复使用。

2.界面是为促进交互而存在的

界面的存在,促进了用户和我们的世界之间的互动。优秀的界面不但能够让我们做事有效率,还能够激发、唤起和加强我们与这个世界的联系。

3.保护和尊重用户的注意力

我们在阅读的时候,总是会有许多事物分散我们的注意力,使得我们很难集中注意力安静地阅读。因此,在进行界面设计的时候,能够吸引用户的注意力是很关键的,所以千万不要将你应用的周围设计得乱七八糟分散人的注意力,谨记屏幕整洁能够吸引注意力的重要性。如果你非要显示广告,那么请在用户阅读完毕之后再显示。尊重用户的注意力,不仅让用户更快乐,而且你的广告效果也会更佳。因此要想设计好的界面,保护和尊重用户的注意力是先决条件。

4.让界面处在用户的掌控之中

人类往往对能够掌控自己和周围的环境感到很舒心。不考虑用户感受的软件往往会让这种舒适感消失,迫使用户不得不进入计划外的交互,这会让用户很不舒服。保证界面处在用户的掌控之中,让用户自己决定系统状态,稍加引导,我想你会达到你希望的目标。

5.直接操作的感觉是最好的

当我们能够直接操作物体时,用户的感觉是最棒的,但这并不太容易实现,因为在界面设计时,我们增加的图标往往并不是必须的,比如我们过多的使用按钮、图形、选项、附件等等其他繁琐的东西以便我们最终操纵UI元素而不是重要的事情。而最初的目标呢?就是希望简化而能够直接操纵……因此在进行界面设计时,我们要尽可能多的了解一些人类自然手势。理想情况下,界面设计要简洁,让用户有一个直接操作的感觉。

6.每个屏幕需要一个主题

我们设计的每一个画面都应该有单一的主题,这样不仅能够让用户使用到它真正的价值,也使得上手容易,使用起来也更方便,在必要的时候更容易进行修改。如果一个屏幕支持两个或两个以上的主题,立马会让整个界面看起来混乱不堪。正如文章应该有一个单一的主题以及强有力的论点,我们的界面设计也应该如此,这也是界面存在的理由。

7.勿让次要动作喧宾夺主

每个屏幕包含一个主要动作的同时,可以有多个次要动作,但尽量不要让它们喧宾夺主!文章的存在是为了让人们去阅读它,并不是让人们在Twitter上面分享它。所以在设计界面的时候,尽量减弱次要动作的视觉冲击力,或者在主要动作完成之后再显示出来。

8.自然过渡

界面的交互都是环环相扣的,所以设计时,要深思熟虑地考虑到交互的下一步。考虑到下一步的交互是怎样的,并且通过设计将其实现。这就好比我们的日常谈话,要为深入交谈提供话由。当用户已经完成该做的步骤,不要让他们不知所措,给他们自然而然继续下去的方法,以达成目标。

9.外观追随功能(类似于形式追随功能)

人总是对符合期望的行为最感舒适。当其他人、动物、事物或者软件的行为始终符合我们的期望时,我们会感到与之关系良好。这也是与人打交道的设计应该做到的。在实践中,这意味着用户只要看一眼就可以知道接下来将会有什么的动作发生,如果它看上去像个按钮,那么它就应该具备按钮的功能。设计师不应该在基本的交互问题上耍小聪明,要在更高层次的问题上发挥创造力。

10.区分重点

如果屏幕元素各自的功能不同,那么它们的外观也理应不同。反之,如果功能相同或相近,那么它们看起来就应该是一样的。为了保持一致性,初级设计师往往对应该加以区分的元素采用相同的视觉处理效果,其实采用不同的视觉效果才是合适的。

11.强烈的视觉层次感

如果要让屏幕的视觉元素具有清晰的浏览次序,那么应该通过强烈的视觉层次感来实现。也就是说,如果用户每次都按照相同的顺序浏览同样的东西,视觉层次感不明显的话,用户不知道哪里才是目光应当停留的重点,最终只会让用户感到一团糟。在不断变更设计的情况下,很难保持明确的层次关系,因为所有的元素层次关系都是相对的:如果所有的元素都突出显示,最后就相当于没有重点可言。如果要添加一个需要特别突出的元素,为了再次实现明确的视觉层级,设计师可能需要重新考虑每一个元素的视觉重量。虽然多数人不会察觉到视觉层次,但这是增强设计的最简单的方法。

12.恰当的组织视觉元素,减轻用户的认知负荷

正如注明设计师John Maeda在其著作《Simplicity》中所言,恰当地组织视觉元素能够化繁为简,帮助他人更加快速简单地理解你的表达,比如内容上的包含关系。用方位和方向上的组织可以自然地表现元素间的关系。恰如其分地组织内容可以减轻用户的认知负荷,他们不必再琢磨元素间的关系,因为你已经表现出来了。不要迫使用户做出分辨,而是设计者用组织表现出来。不要迫使用户自己去把问题搞明白,设计师应当直接在

13.色彩不是决定性的因素

物体的色彩会随光线改变而改变。艳阳高照与夕阳西沉时,我们看到的景物会有很大反差。换句话说,色彩很容易被环境改变,因此,设计的时候不要将色彩视为决定性因素。色彩可以醒目,作为引导,但不应该是做区别的唯一元素。在长篇阅读或者长时间面对电脑屏幕的情况下,除了要强调的内容,应采用相对暗淡或柔和的背景色。当然,视读者而定,也可采用明亮的背景色。

14.循序展现

每个屏幕只展现必需的内容。如果用户需要作出决定,则展现足够的信息供其选择,他们会到在下一屏找到所需细节。避免过度阐释或把所有一次展现,如果可能,将选择放在下一屏以有步骤地展示信息。这会使你的界面交互更加清晰。

15.内嵌“帮助”选项

在理想的用户界面,“帮助”选项是不必要出现的,因为用户界面能够有效地指引用户学习。类似“下一步”实际上就是在上下文情境中内嵌的“帮助”,并且只在用户需要的时候出现在适当的位置,其他时候都是隐藏的。

设计者的任务不是在用户有需要的地方建立一个帮助系统,把发现用户需要的义务推诿给用户,让用户去在帮助系统中寻找他们问题的答案。而是应该确保用户知道如何使用你提供的界面,让用户在界面中得到指导并学习。

16.关键时刻:零状态

用户对一个界面的首次体验是非常重要的,而这常常被设计师忽略。为了更好的帮助用户快速适应我们的设计,设计应该处于零状态,也就是什么都没有发生的状态。但这个状态不是一块空白的画布,它应该能够为用户提供方向和指导,以此来帮助用户快速适应设计。在初始状态下的互动过程中会存在一些摩擦,一旦用户了解了各种规则,那将会有很高的机会获得成功。

17. 针对现有问题去完善界面

人们总是寻求各种方案去解决已经存在的问题,而不是潜在的或者未来的问题。所以,不要为假设的问题设计界面,我们应该观察现有的行为和设计,解决现存的问题。这确实不是件能够让人兴奋的事情,但却是最有价值的事情,因为一旦你的用户界面愈加完善,会有更多的用户愿意使用你的界面。

18.优秀的设计是无形的

优秀的设计有个古怪的属性,它通常会被它的用户所忽略。其中的一个原因是这个设计非常成功,以至于它的用户专注于完成自己的目标而忽略了自己面对的界面,用户顺利达成自己的目标后,他们会很满意地退出界面。但是作为设计师,这可能会有点不公平,当我们的设计很优秀的时候,我们不会受到很多阿谀奉承。当然,优秀的设计师不会去介意这些,因为他们心里明白,满意的用户往往都是沉默的。

19.多领域学习,借鉴其他学科

视觉、平面设计、排版、文案、信息结构以及可视化,所有的这些知识领域都应该是界面设计应该包含的内容,设计师对这些知识都应该有所涉猎或者比较专长。不要看不起这些知识:要从中获取许多值得学习的东西,以此来提高你的工作能力。设计师的眼光要长远,要能从看似无关的学科中学习,比如出版、编程、装订、滑板、消防甚至空手道。

20.界面的存在必须有所用途

在大多数设计领域,界面设计成功的要素就是有用户使用它。打个比方,一把漂亮的椅子,虽然精美但坐着不舒服,那么用户不会选择使用它,它也就是失败的设计。因此,界面设计不仅仅是设计一个使用环境,还需要是创造一个值得使用的艺术品。界面设计仅仅能够满足其设计者的虚荣心是不够的:它必须要有用。

优秀设计师应当知道的20大UI设计原则的更多相关文章

  1. Java程序员应当知道的10个面向对象设计原则

    面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) . Decorator(装饰器).Observer(观察者) 等设计模式,而没有把足够多的注 ...

  2. Python小白需要知道的 20 个骚操作!

    Python小白需要知道的 20 个骚操作! Python 是一个解释型语言,可读性与易用性让它越来越热门.正如 Python 之禅中所述: 优美胜于丑陋,明了胜于晦涩. 在你的日常编码中,以下技巧可 ...

  3. 12个优秀用户体验的移动应用程序 UI 设计

    最美丽的,现代化的和惊人的移动 UI 设计就在这里.今天,我们挑选了12个来自 Behance 和 Dribbble 网站的优秀用户体验的手机界面设计.这些界面设计作品都是由世界各地的优秀设计师分享, ...

  4. 优秀设计师必须知道哪些优秀的UI设计原则

    转自:http://www.gamelook.com.cn/2016/01/240359 界面清晰最重要 界面清晰是UI设计的第一步,要想让用户喜欢你设计的UI,首先必须让用户认可它.知道怎么样使用它 ...

  5. 2018年3大UI设计趋势,你知道吗?

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 之前小编已经和大家讨论了2018年软件测试的五大趋势,现在让我们一起来看看移动UI设计在2018年会 ...

  6. 9个永恒的UI设计原则

    很多人都在寻找那些能够帮助他们快速提升设计能力的方法,但你是否想过,自己身上的哪些方面会对你的设计产生影响呢?是使用工具的技巧,对设计的理解和态度,还是你的生活习惯呢?我想说所有这些都是决定你的设计是 ...

  7. Java程序员应该知道的20个有用的lib开源库

    一般一个经验丰富的开发者,一般都喜欢使用开源的第三方api库来进行开发,毕竟这样能够提高开发效率,并且能够简单快速的集成到项目中去,而不用花更多的时间去在重复造一些无用的轮子,多了解一些第三方库可以提 ...

  8. 系统管理员应该知道的20条Linux命令

    如果您的应用程序不工作,或者您希望在寻找更多信息,这 20 个命令将派上用场. 在这个全新的工具和多样化的开发环境井喷的大环境下,任何开发者和工程师都有必要学习一些基本的系统管理命令.特定的命令和工具 ...

  9. 系统管理员应该知道的 20 条 Linux 命令

    如果您的应用程序不工作,或者您希望在寻找更多信息,这 20 个命令将派上用场. 在这个全新的工具和多样化的开发环境井喷的大环境下,任何开发者和工程师都有必要学习一些基本的系统管理命令.特定的命令和工具 ...

随机推荐

  1. 非阻塞IO服务器模型

    我们来考虑一个情形,你跟千千万万个玩家是魔兽世界的超级粉丝,每周末准时组团打boss.每当周末游戏服务器就亚历山大,因为起码几十万用户同时在线.如果用我们的多线程阻塞服务器作为游戏服务器是否可行呢?先 ...

  2. Impala中的代码生成技术

    Cloudera Impala是一种为Hadoop生态系统打造的开源MPP(massive parallel processing)数据库,它主要为分析型查询负载而设计,而非OLTP.Impala能最 ...

  3. JAXB(Java Architecture for XML Binding)

    marshal(Java对象转化成XML) import javax.xml.bind.annotation.XmlRootElement; //指定根元素,其他属性默认为根元素的子元素 @XmlRo ...

  4. 什么时候App委托会收到App进程被结束的消息

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在Xcode建立的新项目后,在AppDelegate类会发 ...

  5. Sharing The Application Tier File System in Oracle E-Business Suite Release 12.2

    The most current version of this document can be obtained in My Oracle Support Knowledge Document 13 ...

  6. Android必知必会-获取视频文件的截图、缩略图

    背景 公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下. 代码实现 /** * 获取 ...

  7. 如何在web.xml文件中引入其他的xml文件(拆分web.xml)

    转载自:http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html 最近在做一个Servlet+javaBean的项目,服务器用的是t ...

  8. 1070. Mooncake (25)

    题目如下: Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many ...

  9. 关于USB驱动的软件测试方法

    在工作中难免会使用一些外部设备挂载到平台进行测试,比如U盘,那么判断一个U盘是否能正常读写的方法如下: 1.在U盘中放入一个二进制文件(xxx.bin) 2.通过U盘在软件上读取该二进制文件,并计算其 ...

  10. Java与C之间的socket通信

    最近正在开发一个基于指纹的音乐检索应用,算法部分已经完成,所以尝试做一个Android App.Android与服务器通信通常采用HTTP通信方式和Socket通信方式.由于对web服务器编程了解较少 ...