近几年移动平台风生水起,APP多得数不胜数,交互方式也是遍地开花,相信大家都玩过那么几个让人惊艳的APP。大家看到的亮点或是转场够炫、或是拟物得恰到好处、又或是突破性的操作方式,但我认为“需要时显示”也是许多设计中的精妙之笔,是设计师应遵循的原则之一。

需要时显示

首先谈谈“需要时显示”这个概念,记忆中这句话有2个出处:

Extras on Demand. -《Designing Interfaces》

摘抄:让80%的使用情形更容易,而剩下的20%至少是可能达到的(需要用户稍做努力)。

Only Show What I Need When I Need It. -《Android Design-Design Principle》

摘抄:当一下子看到太多东西时,人们容易受打击。将任务和信息分解成小的、可消化的片段。隐藏当前非必须的选项,并指导人们如何走下去。

两个出处,一个贯穿全书,一个作为操作系统的规范,可见这句话的分量。

举个例子

说到这里,我忍不住要举个非常喜欢的案例-ALKAQUA矿泉水。不知道有多少同学在超市看到过这瓶水,反正它惊艳了我的时光…

整个瓶身只有LOGO,净含量等信息,配上胶囊状的形态,看上去非常简洁,气质优雅。

但这还不是高潮,真正的高潮是在转动瓶身时的那一刹那,我被折服了。

关于此水的详细介绍用极小的字体印在了背面,而又恰好地利用水的折射放大了文字。

画外音:我们为什么要转动瓶身了?一定是在寻找!那么当你要找它时,它就恰到好处地出现在你眼前,没有早一步,也没有晚一步,刚巧赶上了。

为什么“需要时显示”

在我看来,“需要时显示”能成为设计原则并不是不无道理:

1.页面承载更多信息

自从人类记录事物的方式从壁画到罗马人的“codex”页后,内容就变得有了边界。移动设备的兴起,使我们传统意义上的“页”变得越来越小,更加地需要隐藏使界面承载更多的信息!

2.使界面变得优雅

排版上认为,界面的优雅在于合适的留白,让人的视线可以得到喘息。就像批发市场对比奢侈品店的陈列,拥堵、嘈杂总给人一种低档、庸俗的感觉,而宽敞的空间总让人觉得从容、闲适。功能的隐藏释放了空间,使我们的界面变得优雅。

3.核心任务/信息更清晰

页面所有的设计应该为其核心任务服务,隐藏不必要的信息,核心信息才会相对清晰和凸显,这是对用户最好的指引。

4.打动用户

精妙的“功能出场”如同ALKAQUA的说明那样,在我们真正需要时给予我们,这样的设计能与用户产生思维上的互动,让人瞬间感动。

正题:如何“需要时显示”

“需要时显示”其实讲的是2点:

1.暂时不需要的功能要隐藏起来。 2.被隐藏的功能要能被发现。

第1点许多人已经探讨过了,我们可以通过聚拢、压缩等方式来进行。这里需要探讨的是第2点——如何让用户发现功能,或者说是“功能可见性”的问题。

换句话说,设计师定义了页面中隐藏了某些功能,但用户需要通过非常规手段才能发现,这个实在不是好的设计。(ps:这里需要考虑功能到底有多生僻,本篇暂不做讨论)

功能可见性

功能可见性,其实说得是“如何让用户发现功能”的问题。

最直接的形式是给用户一个可视信号:这里有东西。当然形式可以是直白的也可以是暗示性的、甚至可以通过社会性的影响。

但如果不给出信号的话,用户也可以:

1.通过学习发现。 2.被动地发现。 3.不用发现,它已经出现了。

于是我们就有了这样一个框架:

语义符号

1.蓄意性语义符号

蓄意性语义符号指的是有意识地创建和布置好的语义符号,简单点说就是有明确意义的实体信息,比如路口的指示牌等。

蓄意性语义符号是界面语言中最常见、最易被感知的信号,比如各种箭头、按钮、icon等。我们常用下箭头表示有浮层或可伸展,i按钮查看imformation信息,用“+”表示可展开等。

Path中的“+”则代表了一类“添加”操作的集合,google play中应用的介绍用“v”表示了下方有更多信息。

2.附带性语义符号

附带性语义符号指的是生活中行为和事件意料之外的副产品,简单点说就是暗示性的实体信息,比如人的影子,这是一个人存在于一个光源前面的附加效果,也暗示着人的存在。与蓄意性符号不同的是,它们表面上都不带任何意义。

早些年使用乐phone时的一个交互,让我记忆深刻。这里的光作为某个未知物的附带性产物(想想街头转角处的人影),被用户所察觉,它暗示着这里有东西。

QQ提醒的交互也非常有意思,点击底部的冠形部分,会弹出一个圆形菜单,冠形本身并没有什么明确意义,它仅仅暗示它是不完整的形态。

3.界面隐喻

附带性语义符号中有个特殊的类型是必须提及的,也是设计师最乐于关注的,那就是隐喻。

修辞上认为隐喻是通过比较两个好像无关的事物,制造的一种修辞的转义。而设计中的隐喻往往借助拟物化来产生附带性的信息,但并不是单纯地拟物,而是通过与现实物的类比,对界面语言进行转义,让材质、阴影、形状等形成新的意义。就像众所周知的:触屏界面的基础就是卡片式的隐喻,iOS的解锁就是插锁的隐喻等。

Flava中的一个操作相信用过的人都会有印象。撕边纸的操作让人联想到了卷纸,而卷纸则隐喻着该界面可以滚动,操作后果不其然。

另一个较经典的案例是ios6中地图的折角,按照现实的隐喻,这里是可以翻起的。

4.社会性语义符号

如何吃不熟悉的食物或使用不熟悉的餐具?看看别人怎么做。

穿越雪地该走哪条路?跟着脚印走。

人群、社会、其他人都有许多共享的信息,当这些可以被我们解读时,它就是社会性的语义符号。

在path如何评论一张图?当然你可以点击右上角的笑脸符号,但其实也可以点击下排的笑脸后侧的空白处。从社会语义的角度来说,大家在这里评论过,那我也应该也可以由此参与评论,就像在雪地里沿着脚印就能找到出路一样。

当有评论时你也许会发现更多:点击下排笑脸后侧和点击下排评论出现的页面是不一样的。

我是这样理解的:点击空白区就像是要加入其中,而点击评论则是查看详情。

其实以上分析基于我的猜测,但如果真是这样,path这里就会有点儿瑕疵,点击空白区应该出现的是“选择表情”,而不是“添加评论”。

不可感知的可见性

当然我们也碰到过许多没有符号线索的情况,即是在界面上找不到任何相关元素。对于这样的交互,要么用户可以学习到,要么我们就让功能像彩蛋一样被发现,又或者用户需要时它已经在场了。

1.引导式可见

要让用户发现功能,最简单的方式就是教育。我们可以对新用户进行引导,那用户使用前就能知道功能的存在了,尽管这样很暴力。

谁知道点“友加”的标题可以查看更多功能?但有了引导,用户表示“真心懂了”…

另一种颇为推崇的引导是利用转场,它基于一个认知前提“从哪里进入,即可从哪里退出”的反推。即是一个物体怎么离开界面,它也可以通过相同的方式进入到界面。

Paper选择画笔后工具栏会从边界滑出,然后我们得从边界手势滑入才能再次打开工具栏。没看到它缩下去的转场,还真不知道怎么弄出来。

2.彩蛋式可见 彩蛋式可见其实也是用户的一种学习,但这种学习是被动的,用户通过有目的或无目的的尝试发现功能。无可否认ios的撤销输入就是系统里最大的彩蛋,但它要通过很艰难的认知才能发现,当我第一次从裤袋摸出手机发现撤销确认时,琢磨了很久这玩意哪儿来的。
Naver首页顶部继续下滑时会出现几个功能,但不同于微博的是,这里的阻尼很大!

当用户找不着功能或进行游荡时,通过一些简单的操作如点、双击、滑动等就能发现功能,岂不是令人大喜过望。

QQ music 3.0中点击封面就会出现更多功能,这里的学习成本就非常小(面积够大)。

3.任务时可见 这里要说的是我认为的最精彩的一种设计,它需要理解功能特性及用户的行为,然后像ALKAQUA的说明一样,自然地出现。

iOS的搜索栏就是这样,在用户搜索之前并不需要知道确认、清除这些操作在哪里,甚至都不需要知道有没有。但当点击输入框后,它就很可能会被用到了,于是它刚好出现了。

twitter的刷新是其影响力最大的操作之一,其实用户的心理模型上本没有“刷新”这个概念,而是由于种种原因不能做到即时刷新,那么刷新操作应该出现在哪里?本质上刷新的诉求并不是reload,而是update,对于用户来说这意味着向页面上方索取,索取到当前信息的边界后再要索取的话自然就得刷新。

Path时间戳的设计也类似,大部分时候时间戳是帮助事件在时间轴上定位,当我们想看清图片时它又隐藏了。如果真的对事件的时间感兴趣时,你知道它就在那里。

打完收工

对于移动app设计中的空间讨论其实有不少先行者,我的同事listy在《移动设计空间节省之道》中也做了深入的探讨,我表示受益良多。

对于复杂的界面,我们不是要让它变得空白才好,而是需要有效地管理它,本文所讨论的“需要时显示”即是有效管理的途径之一。

跳开less is more,我更喜欢一句话:设计不是简单就行,而是不能复杂。

参考文献

1.《Designing interfaces》

2.《The Elements of Graphic Design》

3.《设计心理学2:如何管理复杂》

4.《Android Design-Design Principle》

http://developer.android.com/design/get-started/principles.html

5.《卡片、页与卷轴》

http://apple4.us/2012/02/card-pagination-scroll-lawrence-column-for-blogweekly.html

6.《移动设计空间节省之道》

http://cdc.tencent.com/?p=5339