流是“一种深层、几近冥想式的投入状态”。流通常产生一种“温和的快感”,让人感觉不到时间的流逝。处于流状态的人是非常高效,尤其是投入工程、设计、开发或写作等建设性活动时。因此我们在设计产品时应该促进和增强流,还应竭尽全力避免任何可能打断流的行为。
遵循用户的心理模型
用户对于软件如何执行自己的任务的判断基于过往的经验所积累的自然的想法,并非去按照计算机的运行机制设想活动的过程。
如用户在手机端购买电影票选座时,他们关心座位的位置与距离屏幕的距离,因此,如果把座位与屏幕以图形化的方式显示出来,并提醒用户最佳的观影座位是那些就比较合理。
少就是多
用户界面中元素的数量越多,意味着更多选择,使用难度越大。为了不让界面成为控件的堆砌,精心编配接界面中的编配就变得很重要。少就是多的核心价值是目的驱动的极简主义,让每一个元素都指向目的。
提供选择,而不是提出问题
设想在开车时,汽车为用户提供了完善的选择,却从未发出一个对话框,人们依旧可以顺畅的驾驶汽车到目的地。因此无模态的选择有助于给用户带来控制感和掌控感,这也正是人们使用数字产品时想要的感觉。
让必要工具近在咫尺
设想一位工匠在制作一件作品,他会把常用的工具摆放在手边才能专注的工作,而不希望总是去远处拿工具中断眼前的工作。
提供无模态反馈
当用户在操控产品或使用工具时,清晰的显示这些操作状态和效果非常重要。这些效果必须容易看到,容易理解,不会阻止或干扰当前的工作。进度反馈是流的一个关键元素。
如网易云音乐在成功开始播放一首歌曲后会提供反馈。
设计要以防万一,但应预测其可能性
设计产品不应把可能性和概率等同视之,如用户6小时工作后,会选择保存工作或直接结束程序,虽然每个选择都有可能,但放弃工作结果的概率非常低。若这时出现一个对话框询问用户是否保存更改,则属于冗余的交互设计。
量化呈现信息
数字化的呈现信息难以阅读和理解。
反应对象和应用程序的状态
在观察我们身边的人时,会发现人们工作、休息、走路或在运动,我们能看到每个人给其他人的反馈,也依靠这样的反馈进行社交。
同样,程序也应给用户提供所处状态的线索。当程序休眠、恢复或运行时,都应给用户相应的反馈。
避免不必要的报告
不需要把与用户无关的信息以对话框的形式报告给用户,这会影响流式的使用体验。可以通过在软件中建立状态指示器,使感兴趣的用户得知问题,而忙于其他任务的用户也不会感到突兀。
避免空白状态
对于大部分来说,从空白开始很难,而在别人做好的基础上开始会简单很多。因此软件再提供功能时,可以做一些预设,然后让用户根据自己的需要调整,避免出现完全空白的状态,让用户解决所有的问题。多数情况下,软件可以按照过往经验和多数用户的偏好做出相应假设。
区别命令和设置
在工具栏上放上快速访问功能的按钮,把功能配置用户界面放在菜单中。配置工具更适合用户学习和配置,而按钮则为用户提供快速简单的动作。
隐藏较少使用的功能
对于会造成程序严重的视觉错位或执行了不可逆的动作的功能要隐藏起来。
优化响应,容许延迟
产品设计的关键一点是要有足够的响应能力,否则再丰富的视觉样式都不会打动人。如果延迟不可避免,理想情况下是让用户等待时执行其他工作,延迟的进程在线下或后台进行。这时向用户明确交代状态和进度,以及剩余时间,同时取消机制在这时也非常重要。
如经典的instagram上传照片的设计,用户点击上传后无需等待,并可以继续执行其他的操作,同时软件会在后台完成照片的上传工作。
动作、时间与过渡
第一台把动作动画过渡当做用户体验核心元素的计算设备是苹果的麦金塔电脑,而现在动作、动画已经成了数字产品体验不可或缺的关键部分。
由于动作是表达和说明对象之间关系的强大机制,因此在移动设备有限的屏幕空间下,动画的切换帮助用户创造了一个强烈的心理模型,把呈现在视野里的东西与上一个视图内容联系起来。动画的使用使软件看起来是响应式的、沉浸式的,让人们忘记屏幕上的弹、捏、转动和滑动只是像素提供的物理幻想,拉近人们与数字世界之间的距离。
动画的设计目标:
1,短暂和响应,动画的时间是程序响应用来完成目标的时间。
2,意义恰当,避免用户错误的理解了动画的含义。
2,尽量模拟真实世界的物理交互,如弹性、动力。
总结
好的产品不只有所实现的功能,它更能让用户执行任务时像流水一样毫不费力,感觉不到设计的存在。而实现这样的流式体验需要精心设计符合用户心理模型的功能布局与过渡动画。