基本的设计原则
写在前面
看了苹果在WWDC2017年发布的“基本的设计原则”的视频,简单记录一下
UI (user interface)用户界面, 对比另一个人机界面(human interface)使用更为广泛,但是后者在Apple的历史非常悠久
用户(user)这个词,实际上在苹果看来是非常冰冷抽象的。它狭隘地定义了 人与界面的关系,但是人(human)这个词则不同,这个词让我们对设计的对象有了大致的画面
“界面设计根本上是为人类而服务,不是为了把应用做得漂亮,或者做得工整,简单,紧凑
这些虽然也很重要,但是他们不是真正的目标,真正的目标是,为人类而服务,或者能给应用的使用者带去积极影响”
App应该带来什么
上文提到,我们做应用,实际上是为了人类而服务,所以App应该带来的,也是人所需要的东西
一个人需要什么?
- 安全性和可预测性
- 知识,意义,理解
- 实现个人目标或者专业需求
- 感受美丽和快乐
所以一个好的App应该:
- 使用户可以轻松预测他们的行为将产生的后果
- 通过提供清晰有用的信息来帮助用户做出明智的选择
- 精简工作流程
- 有一种美学上令人满意的体验
导航系统设计
一个好的导航系统应该回答下列的基本问题:
- 我在哪里?
- 我可以去哪里?
- 当我到达那里时,我会发现什么?
- 附近有什么?
- 我怎么出去?
在实际中,navigationbar的标题,和tabbar的选中项目就是在回答”我在哪里?“的问题
tabbar的其他部分,有时还有当前页面的tableView就是在回答“我可以去哪里?”以及“附近有什么?”
简洁明了的标签栏图标和易懂的标识显示要去的地方都有什么
返回键就是出口 帮助人们定位应用里位置
应用中的每一屏都要解决这几个问题,在完成一个页面后,我们都应该检查页面是否回答完成了这些问题
反馈设计
“反馈让我们的驾驶更自信更安全,反馈帮助我们预测可能造成汽车无法正常驾驶,或完全开不了的问题”
为了安全考虑,汽车的反馈必须清楚,及时,而且易懂,汽车有多种反馈方法:
- 状态反馈,告诉我们汽车的状态
- 完成反馈,告诉我们运行时成功还是失败
- 警告反馈,告诉我们潜在的问题
- 错误反馈,提示我们某些操作造成了错误
准确,及时,易懂和提供信息的反馈很关键,反馈解答了极为重要的问题
- 我能做什么?
- 刚刚发生了什么?
- 现在什么情况?
- 接下来会怎样
好的反馈应该像对话,和你的设计对象对话,反馈是你的语言,来回答人们没有问出的问题,让人们知道他们在做什么,并为他们提供指引。
所以在设计应用的时候,想想你在跟使用者对话,如果你们在一个房间里,你会说什么,怎么说
可视性原则
对于汽车而言,它把重要的信息展示在面前,虽然有些凌乱但它展示的数据是必须的,它们必须直观,让你可以轻易的看到信息
如果把上文提到的1导航系统,比如说一个tabbar里的内容全部折叠,人们会很难看到还有哪些功能是可用的
当然这里有一个权衡,过于紧凑的页面会有压迫感,让人无法迅速决定内容,特别是使用者不熟悉应用的时候,所以可视性必须与其他元素权衡
一致性原则
一致性原则指相似的设计特性要用相似的方式表示,比如一辆汽车刹车应该在左边,油门应该在右边。一致性原则大幅度提升了车辆的可用性。所有的图标,术语,通用一套设计词汇,这样可以降低学习成本,让人们更快的上手
内部一致性
内部一致性指的是应用中,控件的设计,在视觉和感觉上要与彼此保持一致,字体,大小,颜色要有一致的视觉风格。当你的产品一切都能匹配,人们对产品的完整性会有更深刻的感受,人们会本能地认为这个设计是经过深思熟虑的选择
心智模型和系统
相比开车而言,水龙头更是基本的东西。但是某种程度上,你要去学怎么开水龙头,你要学会调整各种不同龙头的开关,观察结果。比如,你如何知道哪个开关是热水?你能知道,大多是因为一般控制热水的都是左边的开关。还有,你为什么隔几秒才试一下水温呢?这是因为你预计会有延迟,调整温度后过一会儿水才会热
只看水,很难分辨热水还是冷水。我们都有过被水烫到的经历。现在每次开水龙头时,你就不会想这些了,你会本能地这么做
因为在大脑中,有了这样一个小小的可爱的模型。这个水龙头,它代表的水龙头是含有不同部分和一系列功能和行为的系统
比如会流出水的喷孔,还有手柄,可以控制温度和水流大小。这些部分都经过仔细的设置和安排
这个模型也有特定的行为,比如调整热水后,要等一会儿,水温才会上升。这种模型是你的心智模型,每个你互动的系统都会形成一个心智模型。这些心智模型十分简化,它们没有全面获取系统内部的运作。尽管如此,你越常使用这个系统,你的模型就越全面。心智模型的开发要通过个人的体验,基于不完整的事实,所以每个人都有独特的心智模型
心智模型分为两个部分
- 系统模型:研究系统运作的模型
- 交互模型:系统互动的模型
当一个系统,与我们的心智模型相吻合,那么我们对这个系统的预期就一样。我们并没有真正意识到预期的存在,我们对这个系统的认知是本能的
反过来,如果系统与心智模型不一致,就会打破我们本能的预期
在应用设计的时候,让人们改变心智模式,了解你的应用是有很大风险的。对已经长期使用的产品,做任何改变都让人感觉难以适应
接近性
接近性是指控件作用于对象的距离,控件离对象越近,我们就越认为它们有关联
接近性可以帮助表现控件之间的关系,比如卧室的开关一定在卧室里
接近性好的设计,会符合人体工学
映像
映像是指控件的设计能象征它所控制的对象,比如亮度,亮度增加,亮度下降,意义在于控件反应了升降动作
映像还可以表示控件的排列关系,他们的顺序代表了如何配置它们控制的对象。好的映射要让开关的排列能反应灯的布局,关注映像就能更轻松地选择控件安装位置,排列顺序,以及使用哪种控件
可用性
一个物品的特性,决定哪些行为可行,哪些不行,这个物品在视觉上和触觉上告诉我们他可以用来干什么
可用性是主观的,一个人感知到的可用性,其他人可能感受不到,人们对可用性的感知大多来自它们经常做出的动作
可用性的感知关系到每个环境,每个物品,它们让人知道它能做些什么,显而易见的提示人们用正确或者预期的方式来进行互动,应用也是同样的道理
应用界面必须清楚的显示可供操作的的动作,避免人们不知道怎样正确的操作它
渐进展开原则
渐进展开原则是处理复杂问题的技术
渐进展开是逐步减轻人们从易到难的过程,渐进展开也会隐藏复杂性,这样人们就只用简单的节面完成基本任务
渐进展开是一种必要且有用的技术,但是它也会吞没部分信息和功能,如何正确使用渐进展开原则可以参考二八定律