软件工程·UI设计原则专题
由于UI设计原则很多而且微妙复杂,再加上自己本身对概念的理解也不是很充分,所以写这篇博客专门复习一下,因为有很多感觉都是其他原则的一个具体案例,所以详细程度是不一样的
一、设计原则(UI design principle)
1. Anticipation(前瞻性)
UI设计的前瞻性体现在预知上面
这种预知来自于对用户的历史使用数据的分析或者是开发者专门进行的用户使用调查,通过得到的信息,预知用户来到界面之后想要做什么
使用人工智能来手机用户对于界面的习惯和喜好的数据,然后利用这些数据进行评估,提前预测并回答用户的需求,可以减少用户的认知性决定
在具有前瞻性的UI中,用户并不需要输入新的信息,只是在元素上更具有选择上面的前瞻性,从某种意义上来说,是开发者帮助用户进行对于选项的筛选,代表用户进行一定程度上的选择
能够体现前瞻性的元素有 : 弹出框、地理位置、推荐、通知或者提醒等等
EXAMPLE:
1,我们在打开百度地图的时候,想要选择路线, 那么地图可能通过分析你的历史使用数据,自动给你提供Home这个选项,我们就可以直接点选,会更加方便
2. 在QQ音乐里面,会根据用户的对于音乐的偏好,来推荐音乐和歌单
前瞻性的作用是 :
- 减少认知负荷 : 认知负荷是指用户在做某件事情的时候需要付出的心理努力,前瞻性可以通过减少或者消除用户必须做出的决定的数量来减少心理努力,用户越是不需要考虑他们需要做什么来实现他们的目标,就越可能想要去实现它
- 简化用户接口 : 屏幕上更少的选择意味着界面的设计会更加干净,更加直观
- 节省时间 : 确保用户能够更快地找到自己需要的东西或者做出决定
- 提高转换率 : 电子商务网站的个性化产品推荐为销售提供机会,能够创造更多收入
2. Communication/Feedback
communication的机制就是说,UI会对每个交互的工作进行一个结果的反馈,这个反馈是可见的,可以理解的, 说的直观一点其实就是:当用户进行完一个task,界面会给出一个提示,这个提示有可能是告诉你这个task是否完成,也有可能是用来引导你更接近于完成
常见的例子有 :按钮悬停效果、错误弹出、确认消息、完成动画、检查标记和颜色变化
EXAMPLE:
1. 在Word文档里面,我们如果想要去选择菜单中的哪个功能(格式刷),当我们把鼠标移到那里的时候,我们会发现格式刷所在的框颜色变深,这就是一种反馈,告诉你这个框里面的选项是可以点击的,是可以选择的
2. 在加载视频的时候或者是游戏开始之前,可能出现一个进度条动画,这也是反馈的一种很常见的样式
3. 还有一种反馈的形式是提供一种real-time的视觉反馈,就比如说,我们看到文本中带下划线的蓝色字体,我们就知道这是一个超链接
3. Consistency(一致性)
一致性就是说UI元素和元素对应的功能符合用户的认知,也就是说,UI元素和元素功能之间的对应关系应该和已经存在的,用户已经学习或者熟悉过的对应关系是一致的
如果这种对应关系在页面之间是不一样的,就会造成inconsistent
UI元素包括:
- 符号 : 用来传递信息的图标
- 代码 : 颜色、大小、重量、标记和其他可以表示成数据值或者是调用隐喻的图形维度
- 单位 : 用于特定的数值或者一组相关的属性
- 格式 : 文本的格式
- 术语 : 在UI中描述对象、类、行为和事件
- 缩写/快捷方式 : 在术语中对功能或者控制词的描述
- 排版 : 在每个页面、菜单、窗口或者临时序列中的相对位置
inconsistency有两种类型:
- irregularity(不规律):不同的元素拥有相同的功能和行为
- contradiction(冲突) : 相同的元素具有多种不同的功能
irregularity | contradiction | |
symbol(符号) | 在窗口A中,用水滴的图案来表示查看水资源剩余量,但是在窗口B中用水龙头的图案来查看水资源剩余量 | 在窗口A中,用水滴的图案来表示水资源的剩余量,但是在窗口B中,同样用水滴的图案表示使用的水资源总量 |
Codes(代码) |
在注册账户的时候,我们有的时候会被要求密码格式,一旦出错,就会在下方出现一行字体提示 在窗口A中,字体的颜色是红色,但是在窗口B中,字体的颜色是橙色 |
说的离谱一点,在一个交通信号灯模拟软件中,用橙色来表示禁止通行,但是其实用户心里面的对应关系是“红色是禁止通行” |
度量单位 | 在窗口A中,身高使用m为单位显示的,但是在窗口B中,身高是用cm来表示的 | None |
数据格式 |
在窗口A中,身高使用x.xxx m来表示 在窗口B中,身高使用x.xxxxx m来表示 |
对于时间的表示: XX/XX/XX 在一个窗口里面是年月日的排序 在另一个窗口里是日月年的排序 |
术语 |
在窗口A中,确认按钮上面是“confirm” 在窗口B中,确认按钮上面是“OK” |
在窗口A中,confirm代表对修改的确认,但是在窗口B中,confirm开始一个功能的执行 |
缩写/快捷方式 |
在页面A中,control+ C是复制 在页面B中,control + M是剪切 |
在页面A中, IS表示information system, 在页面B中, IS表示instruction slide |
4. Controlled Autonomy(控制权)
满足用户的控制欲也是很重要的,可以通过定期呈现系统的状态、直接有效的操作、相似的环境、即使反馈、可预期的交互和结果、清晰的路径来保持用户的控制
一种很有效的方式就是:永远允许用户在界面的所有阶段反向操作,也就是回溯
另一种方式是建立有效的导航机制和方便使用的界面,让用户不用在页面上一点点寻找自己想要实现的功能,让用户的每一步都会得到预期的反馈,就能满足这个原则
EXAMPLE:
1. 在编辑Word文档的时候,如果我们打错了字或者不小心删掉了一大段内容,我们可以点左上角的撤销来返回前面的额操作
2.在进入淘宝界面的时候,图标下面会提前告诉或者提示你这是什么功能,然后你就会得到一个印象,在脑海中形成界面的样子,然后点击之后就可以得到符合你预期的某种反馈,也就是有点像在考试之前就知道有什么题型,或者直接知道答案的样子……
5.efficiency(效率)
efficiency要求用户可以在尽可能少的步骤之内完成自己想完成的任务,同时也要求在设计中尽可能避免复杂冗余的元素,所以efficiency总是和simplicity有千丝万缕的联系
simplicity要求在用户完成任务的过程中尽可能减少用户的认知负担
也就是说,efficiency要求尽可能缩减,精化过程,通过“更少”来得到“更多”
首先的一个标准就是:简单的接口应该对用户是透明的,应该避免依稀复杂的操作,同时,使用的语言描述也应该比较简洁清晰
其次 : 每个屏幕应该只有一个主要的核心关注区,也就是只有一个焦点,或者说C位也可以,这就要求我们把主要的动作放在前面和中间,把次要的动作移到更深的位置,或者给他们更轻的视觉重量和适当的排版
最后是clarity,在用户完成任务的每一步,保证他们只能看到绝对必要的动作
EXAMPLE:
1.在进行一些功能,比如说切换页面的时候,尽可能用一个动作一个图标完成,越简单越好
2.将页面的名称,文章的标题放在最显眼的位置
6.focus(焦点)
这个principle强调的是 :一个华丽的用户界面远远不如一个有用的用户界面
每一个UI元素都应该有它存在的目的,同时,它能够对整个产品起到积极的辅助作用,帮助页面更好地向用户提供帮助
UI中只能包括对可用性也就是符合efficiency要求的元素,尽量不要使用没有关联的,出挑的颜色,元素或者按钮,不要在边框上乱放一些容易分散用户注意力的元素或者是材料
EXAMPLE:
在网页提供的文章结束之后,在最底部显示广告
7. Fitt's Law
这个定律的基本内容是 :越大越近的对象越容易交互
从UI设计的角度上,用户的鼠标从一个点A到达另一个点B的时候, AB之间越近,交互会越轻松,如果想要增大AB之间的距离,那么B的体积应该要随之增大来保证原来的轻松程度
这个定律同样可以用来提高efficiency
EXAMPLE:
在淘宝上,或者某些购物网站上,“下单”这个icon总是和商品的图片等概述信息离得不远
8. human interface objects
现在已经开发出了一个巨大的可以重用的人机界面对象库
人机界面对象就是屏幕上可见的对象和图标,可以被用户使用,来进行某种动作或者是功能
9. Latency reduction
APP应该在某种程度上使用多任务处理,让用户继续工作
就是类似于流水线一样,一部分没有影响的程序可以慢慢进行,先让用户去下一步
10.learnability
learnability 就是说:界面应该容易使用,同时容易记忆,用户的记忆负担小
这个原则可以通过让界面变得更加直观来实现 : 直观的意思就是清晰和一致(clear and consistent),所以这个通常和consistency是共生的
再一种途径就是,我们可以通过将引导用户的线索尽可能设置成现实生活中的物体,这样用户的学习能力也会增强
11. maintain work product integrity
说白了就是自动保存,保证已经存在的状态不会因为一些意料之外的事情清空
12. readability
可读性其实是clarity(也就是efficiency)的一个衍生,也算是一个必要条件(?)
会影响可读性的因素有:
- 背景颜色 : 背景颜色不要分散用户的注意力,不要太过刺激出挑
- 视觉层次 : 调整大小,强调最重要的视觉元素,让它能够被用户先看到,我们把主要的动作放在前面和中间,把次要的动作移到更深的位置,或者给他们更轻的视觉重量和适当的排版
- 留白 : 适当留白,强调重点内容
- 文本 : 排版
- 字体大小 :不同的网站和应用需要的字体大小是不一样的,必须说给老年人看的就应该字体稍微大一些
13. track state
要让用户随时知道自己进行到了哪一步,可以用标题等来提示,感觉应该是control autonomy里面衍生出来的内容
14. visible navigation
功能导航应该放在所有页面的同一个位置,这也是consistency、anticipation的要求
软件工程·UI设计原则专题相关推荐
- Joshua Porter 20条UI设计原则
原文链接地址: http://www.niushe.com/news/show-3683.html,转载请注明出处,侵权必究,谢谢! 设计师Joshua Porter发表了一篇文章--<P ...
- 前端 UI 设计原则(基于Ant-design)
前端 UI 设计原则(基于Ant-design) 本文摘录自:AntDesign官网 1. 设计原则 1.1 亲密性纵向关系:三种间隔横向关系:栅格布局 1.2 对齐 Law of Continuit ...
- APP的UI设计原则及UI界面适配步骤
本文转载自http://www.cyzone.cn/a/20140619/259323.html 从最初的AppStore仅有不到500个APP,到现在,据统计APP近几年增加的数量已经超过3000, ...
- 优秀设计师应了解的UI设计原则!
没了解UI设计之前你是不是也曾经这么误解过UI设计师:为什么UI设计师的工资可以那么高?明明只是对着交互界面画色块跟线条吗?其实,真正优秀的UI设计师,是能够站在用户的角度做产品设计的,能力可是胜于美 ...
- 麓言信息 优秀的UI设计师必须了解UI设计原则
UI设计是指在考虑用户体验和交互设计的前提下,对用户界面进行的美化设计,涉及移动端.PC端.多媒体终端等各个领域.在实际生活中,一个优秀的UI设计师不仅需要对界面进行美化,还需要对界面中的一些元素 ...
- UI设计原则背后的认知心理学
了解人的感官和大脑是如何工作的,去衡量及判断那些设计原则更靠谱;UI设计师需要确定哪个设计原则更适用于给定的环境,从而优选应用,UI设计师必须深思熟虑,而不是盲目的应用设计原则,应该理解其基本原则并有 ...
- 9个永恒的UI设计原则
很多人都在寻找那些能够帮助他们快速提升设计能力的方法,但你是否想过,自己身上的哪些方面会对你的设计产生影响呢?是使用工具的技巧,对设计的理解和态度,还是你的生活习惯呢?我想说所有这些都是决定你的设计是 ...
- Android UI设计原则
UI设计有时是一件非常耗时且枯燥的工作,但是,UI设计是Android开发必须要掌握.且要熟练掌握的一部分,也许当你熟练的时候你会发现其中的乐趣. 以下是UI设计中应该注意和地方,也说不上是原则,是众 ...
- 【APP UI 设计模式】(一)APP UI 设计原则和流程
一.基本原则 1.用户体验原则UCD,以用户为中心去设计 2.设计模式是可重用的设计规范实现 3.反模式是糟糕设计的典型,极力避免使用 ...
最新文章
- 下面关于表单的叙述错误的是_下面是关于表单数据环境的叙述,其中错误的是A.可以在数据环境中加入与表单操作有关的表B.数据环...
- 卷积神经网络模型解读汇总——LeNet5,AlexNet、ZFNet、VGG16、GoogLeNet和ResNet
- es6 匿名函数求阶乘
- 4 个最好的 Linux 引导程序
- Nginx-Nginx配置文件详细说明
- 2019 Vue开发指南:你都需要学点啥?
- Teams中的快捷键让沟通协作更加高效
- 错误计算机怎么打开,电脑开机出错怎么回事
- Linux学习笔记-Linux下的设备文件
- javascript 漂亮随机码
- Android SharedPreferences最佳实践
- python hashlib_python hashlib模块
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(转)
- 联想小新潮7000-13 型号:LENOVO 81BS 制作黑苹果,MACos 10.14.2+WIN 10 双系统
- 视觉SLAM十四讲学习笔记-第五讲-图像和实践
- 阿里云 Linux云服务器登陆方式(Windows远程登录工具XShell,基于ssh建立会话)
- android 微信图片动画,一款仿微信图片加载,微博图片加载,视频加载时的进度view...
- 关于全球时间的一点理解
- oracle的安装教程
- 青岛房产证信息查询步骤