近几年移动平台风生水起,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选择画笔后工具栏会从边界滑出,然后我们得从边界手势滑入才能再次打开工具栏。没看到它缩下去的转场,还真不知道怎么弄出来。
彩蛋式可见其实也是用户的一种学习,但这种学习是被动的,用户通过有目的或无目的的尝试发现功能。无可否认ios的撤销输入就是系统里最大的彩蛋,但它要通过很艰难的认知才能发现,当我第一次从裤袋摸出手机发现撤销确认时,琢磨了很久这玩意哪儿来的。
当用户找不着功能或进行游荡时,通过一些简单的操作如点、双击、滑动等就能发现功能,岂不是令人大喜过望。
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
- (本文出自Tencent CDC Blog,转载时请注明出处)
相关推荐
“可见性”是指个体或事物能否引起他人的关注,当关注度积累到一定程度时,就形成了公众影响力。在短视频实践中,空间实践、身体实践和符号实践是实现草根“可见性”生产的三个关键维度。 首先,空间实践打破了传统...
在iOS应用开发中,引导用户对App Store进行评分和评论是一项重要的策略,它有助于提高应用的可见性和用户参与度。这个名为"IOS应用源码——提示用户区app store评分的弹出框.zip"的压缩包提供了实现这一功能的源代码...
在iOS应用开发中,引导用户对App Store进行评分和评论是一项重要的策略,它有助于提高应用的可见性和用户参与度。这个“IOS应用源码——提示用户区app store评分的弹出框.rar”压缩包文件提供了实现这一功能的具体源...
这可能包括社交媒体推广,合作健身房或健身教练,举办线上线下活动,以及运用ASO(App Store Optimization)提高应用商店的可见性。同时,考虑运用用户口碑和推荐系统来实现病毒式传播。 运营模式是商业计划书中必...
数据可视化APP——Chartistic是一款专为快速编辑和创建数据可视化图表设计的应用,旨在提供一个简单易用、交互性强的移动端解决方案。此产品需求文档详细介绍了Chartistic的主要功能、操作流程和设计原则,以满足...
总之,虽然Android系统设计中不鼓励直接结束APP进程,但通过深入理解和使用源码,我们可以实现这一功能。然而,这种操作应当谨慎对待,避免对系统稳定性造成影响。在开发过程中,应更多地依赖系统提供的正常接口来...
综上所述,Quiver App在电脑绘画课程中的实施研究,不仅丰富了教学手段,提高了学生的学习积极性,还促进了多学科的交叉融合,使教育更加生动有趣。通过巧妙地利用AR技术,Quiver不仅能够提升学生的创造力,还能够...
4. 删除:对于不再需要或者存在问题的APP信息,系统提供了删除功能,确保数据的准确性和时效性。 5. 上下架:考虑到APP的生命周期管理,系统还支持APP的上下架操作,可以灵活控制APP在平台上的可见状态,满足运营...
设计要考虑清晰度、易读性和用户体验,例如,选择合适的颜色来表示电量等级,确保在不同背景下的可见性,以及保持布局简洁。 此外,“源码说明.txt”文件可能包含了关于源码结构、主要类和功能的解释,这对于理解和...
错误提示则可以在用户输入错误时显示红色的错误信息,帮助用户快速定位问题。 在创建注册界面时,通常需要包括用户名、密码、确认密码、电子邮件等字段。使用TextInputLayout,我们可以轻松地为这些字段设置浮标签...
在`onDraw()`中,我们需要根据当前的时间戳计算出应该显示的帧,并调用`Movie.draw()`方法绘制到Canvas上。同时,还需要设置一个定时器,周期性地调用`invalidate()`刷新视图,以达到动画效果。 3. **资源加载与...
- **Tree View**:显示UI组件的层级结构,每个节点代表一个UI元素,包括控件类型、ID、可见性等属性。 - **View Details**:显示选中组件的详细属性,如坐标、宽高、背景色、文字等。 - **Bitmap View**:显示...
- **可见性与隐藏**:菜单默认是隐藏的,只有当用户执行特定操作(如向左滑动)时才显示,以保持屏幕的简洁性。 - **内容组织**:菜单中的项应按逻辑顺序排列,清晰明了,方便用户查找。 2. **实现方式** - **...
【网页模版】在设计时考虑了SEO优化,有利于提高搜索引擎排名,增加网站的可见性。模板中的代码结构简洁,符合W3C标准,利于搜索引擎抓取和解析。此外,还提供了易于定制的CSS样式和JavaScript脚本,开发者可以根据...
开发者可以通过自定义`Behavior`来控制子View在`CoordinatorLayout`中的行为,比如在滑动时如何改变可见性。 7. ** Glide 或 Picasso 图片加载库**:在1_120918220754_1.jpg和1-12091R205260-L.jpg这两个图片文件中...
**SEO**:为了提高可见性,PWA需要进行搜索引擎优化,确保爬虫能够正确抓取和理解内容。 **书栈(BookStack.CN)**是一个在线文档平台,用于创建、整理和分享知识文档,提供了版本控制和文档分享功能。本PWA文档由...
它是App界面设计中的一种关键元素,让用户能够轻松地在多个功能模块之间切换。在TabBarController中,每个Tab通常关联一个NavigationController,通过NavigationController可以管理一系列的ViewController,形成一个...