首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

那些熟悉却说不出的设计法则-复杂性守恒定律

任何系统都存在固有的复杂性,当复杂性无法避免或简化时,请试着将复杂性隐藏起来,为用户呈现简单的一面。

如果你是一位自媒体人,你在某个平台管理你的作品时,你是否会因为作品列表有几十种状态而崩溃?

如果你是一位自媒体人,你在某个平台上传一个500M的视频,当视频正在上传时,你无法做任何其他操作,只能等待视频上传完成,你会不会崩溃?

如果你是一位普通的手机用户,在相册里想批量删除几百张照片时,只能一张一张的选择照片,你会不会崩溃?

如果你是一位设计师,在遇到以上问题,却不知道怎么处理时,可以了解下复杂性守恒定律

什么是复杂性守恒定律

复杂性守恒定律又称为特斯勒定律,是人机交互发展中出现的一条格言。复杂性守恒定律描述的是:任何系统都存在固有的复杂性,且无法被减少,唯一要考虑的是,如何将复杂性隐藏起来,让用户简单、高效的使用系统。

上世纪,计算机刚诞生的时候,还是少数专业人员的工具,专业人员通过输入代码来命令计算机执行各项程序,随着用户界面的诞生,计算机才真正的开始走向大众,计算机复杂的执行命令的方式,被简单易用的用户界面取代,任何用户,无需了解计算机如何运行,就能操作自如。

移动互联网发展至今,良好的用户体验是提升产品行业竞争力最重要的条件之一,用户体验设计师在实现良好的用户体验设计上,离不开研发工程师的支持。面对不可避免的系统复杂性,研发工程师需要花费更多的精力,实现用户界面上的简化,不能将系统的复杂性交给用户。

复杂性守恒定律设计案例

一、在体验一款为自媒体人开发的APP时,我遇到过这样的设计方案,当我选择了一个要发布的视频,且设置了标题、分类等信息后,点击发布按钮,页面底部弹出一个发布进度提示条,页面背景有蒙层,如左图所示。在此状态下,我无法在APP内进行任何其他操作,只能等待视频上传完成。这样的设计方案,严重损害了用户体验。

系统上传视频的复杂性,不应该限制用户的其他操作行为。如果优化这个体验问题,应该将上传进度做在后台,告知用户上传进度,且不干扰用户进行其他操作。如右图示,为优化后的设计方案,将上传进度的复杂性隐藏在界面的状态栏,不阻碍用户继续其他操作,且让用户只能简单的感知到上传任务在进行。这样的设计方案,需要研发工程师付出更多精力来实现看似简单的隐藏。

二、还是这款APP,我在体验编辑文章时,遇到了以下问题:

当我新建一篇文章时,我输入了一些文字,在点击返回时,弹出提示框,告诉我是否保存,但是没有告诉我保存至哪里(我想可能是保存至草稿吧)。

编辑页有个保存icon,使用几次后,我才知道保存icon是提供给用户实时保存用的,以防文字丢失(我很疑问,现在笔记类的APP不都是系统实时保存的吗?),为什么要将保存的成本转嫁给用户。

我发现,每次输入一些文字,点击保存icon,toast提示“保存中”至“保存完成”整整用了6秒的时间,在这6秒期间,我是不能继续输入文字的,这样的保存体验,真的很糟糕,并且,我很费解,点击返回时,会提示我是否保存,那么这里的保存icon有何用?

我发现,保存icon的存在,唯一能解决的问题,就是用户第一次使用时,不知道怎么保存输入的文字(amazing)。

编辑文章模块,没有自动保存功能(或许是PM定义的规则就是不默认自动保存至草稿)。

以上的问题,如果进行体验优化,应该将保存的复杂性交给系统完成,实行自动保存,并且将保存的状态以低干扰性的方式传达给用户,让用户无需为文字丢失而担心,为用户提供高效、低干扰、有保障的创作环境。

如下图,为优化后的方案,将“保存中”、“已保存”的状态提示放在顶部导航栏的左侧,位于返回按钮右侧,用户有输入行为时,就显示“保存中”状态,打消用户不知怎么保存的顾虑。当用点击返回时,在进行一次保存。自动保存的规则可以是每N分钟自动保存一次,如果存在自动保存至服务器加载时间太久的问题,那么可以先自动保存至本地,等用户点击返回时,再将本地的数据同步至服务器,这需要研发工程师将保存的复杂逻辑隐藏在系统里。也许这会增加研发难度,但是这是好的用户体验应当付出的成本

对于用户来说,不管是保存至本地、还是同步至服务器,这都是系统的事用户唯一需要知道的就是,文章保存了,且不会丢,这就够了。

三、在使用iPhone的相册功能时,如果用户需要批量、快速的选中多张图片,进行分享、删除、隔空投递等操作时,iOS系统为用户提供除点选外的滑动选择功能,用户只需要在相册列表中从左侧向右滑,然后继续向下滑,就可以选中滑动区域内的所有图片,且再次执行此操作,还可以将选中的图片取消选中。

选择多张图片,对用户来说,原本是一件很复杂、很费时的事情,但是系统却通过简单的滑动方式解决,滑动方式的背后,隐藏了满足此功能的复杂逻辑和实现方式。

四、在我参与的一项产品优化项目中,遇到了历史原因而存在的问题,我的作品列表,针对于作品状态,系统提供了多达15种状态展示,产品经理梳理完发现状态有:未发布、已发布、审核中、审核不通过、发布中、发布失败、未发布(审核中)、未发布(转码中)、未发布(转码失败)、视频审核未通过、未发布(付费)、视频已删除、转码中、转码失败、已发布(付费)。

这15种状态,是系统处理作品时,将复杂的处理流程直接展示在用户端,但是对于用户来说,用户不需要知道如此复杂的流程,用户只关心TA的文章发成功了没,没发成功的原因是什么。因此,后台处理作品的复杂状态和用户端状态应该是两套。15种复杂状态需隐藏在系统中,只为用户提供“草稿、审核中、审核未通过(失败原因)、已发布”四种状态,就足以满足用户的需求

五、搜索是我们经常使用的功能,在搜索交互模式中,搜索流程通常是:点击搜索框、输入关键词、点击搜索按钮、选择结果,在输入关键词环节,有的搜索交互模式会提供“模糊匹配”和“自动补全”功能,帮助用户快速完成输入行为。

1.如图示,豆瓣APP在用户使用搜索功能时,对输入的关键字进行实时的模糊匹配,提前为用户展示匹配的结果。这样设计的优点是,用户无需输入完整,也无需点击搜索按钮,就能预先知道是否有匹配的结果,提升了用户的搜索效率和搜索体验。对研发工程师来说,实现起来,会投入更多精力,比如模糊匹配增加了访问服务器的频率,或许还需要对接口和字段进行升级,对模糊匹配准确性做策略等等。但是在用户体验上,是非常明显的体验提升,因此在时间、资源、数据库允许的情况下,请尽量为搜索交互模式提供模糊匹配的功能(感觉会被研发小哥亲切的问候,但是,用户至上啊)。

2.如图示,Google搜索,在用户使用搜索功能时,对输入的关键字进行联想并自动补全,如果自动补全的刚好是用户需要的,将会提高用户的搜索效率和搜索体验。自动补全,在研发实现上,比普通的搜索功能更复杂,但是对于用户来说,用户只需感知到有个下拉框匹配了相关搜索词,就足够了。

复杂性守恒定律,在各行各业都有验证。汽车变速箱的复杂,无需让用户知道,用户只需要知道怎么简单的拨动一下杠杆,就能变速;MacBook Pro做的非常薄,却性能强大,Apple官网没有通篇介绍工艺的复杂性,系统优化的难度,只介绍了他们为用户带来了更薄、性能更强、APP更好用的笔记本电脑。

总结:任何系统都存在固有的复杂性,且无法被减少,唯一要考虑的是,如何将复杂性隐藏起来,而不是将复杂性转嫁给用户,让用户面对复杂、难用、费解的系统。

重要说明:设计法则并非绝对正确,需在理解的基础上适当的运用,切勿拘泥于设计法则。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190827A0EOAF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com