最近看完了一本书,叫《微交互》。虽然一开始是公司的行政任务,但后来还是觉得有可取之处的。但鉴于书中一些点写得的确不是很好(可能是翻译的问题),所以决定按自己的理解简单梳理一遍。
1. 微交互的定义
要去思考一个东西之前,先明确它的定义。什么是微交互呢?拆解一下,问题变成了,怎么算微?怎么算交互?
1.1 微指的是相对微观。需要有一个参照物才能定义。
1.2 交互,其实也就是不同对象之间进行输入和输出的过程。平时也更多特指的是人机交互,人通过人机界面向计算机输入指令,计算机经过处理后把输出结果呈现给用户。人和计算机之间的输入和输出的形式是多种多样的,因此交互的形式也是多样化的。
所以结合起来,书中定义的微交互是一种相对微观的人机交互方式
就像书中的例子,对于一个音乐播放器来说,调节音量是一个微交互。那往大一层来说,对于一个视频播放器来说,音乐播放的功能是一个微交互。往小一层来说,对于调节音量这个功能来说,我按下物理按键,有动效告诉我音量变大变小,这是一个微交互。有了一个参照对象,才会有微交互的概念。单纯的一个产品,一个功能,一个动作,都不能算作是一种微交互。
2. 微交互的作用?
那知道了什么是微交互了之后,微交互的作用是什么呢?它能给我们什么帮助?
产品是否能受人们喜爱,首要方面是在于功能。功能首先要能满足用户的需求,但功能是否能在实际工作中真正解决用户的需求,就很依赖于微交互。用户是否能按我们给功能定义的用法,去正确的使用我们提供的功能,解决那些我们一开始定义的,这个功能应该解决的问题。
总结提炼一下,微交互的作用有3点:①让用户在我们预期的场景下使用我们的产品。②让用户按我们预期的使用方式使用我们的产品。③培养产品的价值观和用户的忠诚度。
2.1 让用户在我们预期的场景下使用我们的产品。如果产品是在预期范围外的场景被使用,自然很难契合,很容易就会延伸出其他场景的需求,导致产品认可度低,最后产品也迷失了自己的定义。比如一个报表,我们定义的是老板能知道企业的经营情况。但是加入了很多其他的因素,导致客户对报表的定义与我们对报表的定义不一致,客户希望在报表中能做更多的事情,能追债,能监控。所以也使得我们的报表功能经常被吐槽功能不满足。
2.2 让用户按我们预期的使用方式使用我们的产品。有时候我们的功能设计完觉得就满足了用户对应场景的需求,但用户还是会吐槽,怎么这点功能都没有,怎么这功能感觉什么用都没有。这都是因为我们的功能虽然从逻辑,从规则上能满足他们的需求,但是在用户的使用过程中,根本不会按我们预期的使用方法去使用。生活中有个很直观的例子就是马桶,马桶这个东西设计出来就是为了方便大家如厕,也成功地让很多人爱上了它。但是如果说,一开始没有任何引导,告诉你该怎么使用,习惯了蹲厕的人会怎么用呢?这个不说大家应该也都知道,那这个用户使用蹲厕的方式去使用马桶,你怎么优化他都会觉得别扭。那这时候,你这个产品即使设计得再好,你的马桶加了各种温馨服务,但对用户来说还是一个垃圾。
2.3 培养产品的价值观和用户的忠诚度。在目前的市场环境下,已经很难有未彻底发掘的痛点可以让一个产品一招制胜了。产品功能可以建造的壁垒也非常地脆弱。想要真正打造自己产品的壁垒,也只有产品自己的特性,一种贯彻全局的产品价值观,是最牢固的。就像抖音的感觉就是懂你,微信的感觉就是熟悉,QQ的感觉就是年轻,阿里的感觉就是可靠等等。这种价值观,不是通过一些功能,或者一两句口号就能塑造的。而是要结合设计团队的价值观,在各个微小的,不为人知的地方,悄悄地透露出来,汇聚成一股燎原之火,燃烧在用户的心中。
3. 微交互的组成?
定义出了微交互,也明白了微交互的作用和重要性。对微交互有所重视后,我们才应该去想,微交互该如何设计?
书中将微交互拆分成了4个部分,分别是:①触发器②规则③反馈④循环与模式。
3.1 触发器
触发器的作用其实如同字面意思一样,通过某种行为触发某些事情。所以触发器会是一个微交互的起点。
触发器分为手动触发器和系统触发器。一种是需要用户主动触发的,另一种则是会由系统通过一定的规则自动触发的。这两种触发器都有共同的设计原则。
3.1.1 手动触发器
由①控件②控件状态③标签 组成。控件是触发器的载体,控件会有不同的状态表示不同的情境,标签则是为了让用户明确触发器的后果。
①控件包含传统的按钮/开关/拨号盘等,还有各种自定义控件,如滚轮/滑动块等。设计的时候需要从情境出发,选取最合适的控件,目的是让用户尽可能一看就能知道该如何使用,会有什么影响,这方面主要需要多接触实际生活,培养这种敏感。一般来说不要随意为了创新而创新,除非是当前场景没有控件能很好地支持,或当前控件效率、体验太差,“创新是没有办法的办法”。
②状态包含默认/悬停/翻转/点击/进行中/长按/切换/设置等。目的主要是为了提高控件的可复用性,可以兼顾多种情境。但为了让用户保持专注。一个地方做尽可能少的事情,一个控件还是不应该有太多的状态,建议不超过3种。
③标签一般是微交互的名称,或状态指示器。目的就是为了说明动作和目的,消除歧义,越简单越直白越好。但标签也会增加触发器的复杂性,所以不能太过依赖标签来完成解释的事情,最好的方式还是让控件没有歧义。
3.1.2 系统触发器
系统触发器依赖于触发器的规则,而触发器的规则又与微交互的规则紧密相连。触发器何时触发,多久触发一次,都需要结合微交互的规则进行考虑。
3.1.3 设计原则
①触发器每次都触发相同的动作。不要一个完全相同的触发器,这次是a结果,下次是b结果。
②尽可能提前展示触发器内部的数据。
④不要破坏视觉使用情境。一个触发器看起来是可以点击的,那他就应该可以点击。
⑤用得越多的触发器越要引人注目。多数人经常用=引人注目。少数人偶尔用=容易找到。极少数人不常用=搜索找。
触发器的受关注程度:移动的物体(动效)>带情境和标签的物体(带文案的按钮)>带标签的物体(带文案的图标)>物体(图标)>标签(文案)>不可见的触发器(摇一摇)。
3.2 规则
微交互的规则主要分为设计规则和实现规则两步。
3.2.1 设计规则
设计规则时,需要根据实际场景考虑有哪些主要动作,要尽可能地细化到可执行层面。可以借助规则关系图进行规则的梳理。
梳理完规则步骤后,需要思考每个规则的约束条件。包括但不限于:
-可用的输入/输出方法。键盘?鼠标?扬声器?屏幕?
-输入内容的类型和范围。密码框允许输入几个字符?用户调整音量可以调到多大?
-要付出哪些代价。电池消耗过大?增加服务器压力?异步处理数据?
3.2.2 实现规则
实现规则是把我们设计好的规则转化为可执行的方式。有几个方法可以参考:
-为明确,独立的规则单独一个屏幕。让用户保持专注去做一件事情,减少其他事物的干扰。但是如果把一个业务流程拆成过多个屏幕会极大地影响用户的效率和体验,需要尽可能地将连续,相似的规则合并在一起。
-为交互对象添加状态。包括①未交互时的状态②交互时的状态③交互结束后的状态等。用来在不同时候进行不同的引导。比如注册账号时,你未做任何输入时,会有“请输入用户名”的提示文案。当你聚焦输入框后,会有相关约束条件的显示。当你输入完毕,输入框失焦后,会告知你用户名是否重复。
-提供有限的选项。这一点需要你考虑两个方面的问题。我对用户以及用户所处的环境了解多少?哪些活动可以由系统处理,哪些活动需要由用户决定?
第一个问题最直接的方法就是获取数据。是否能获取到用户使用的设备/平台?使用的时间?电池的电量?等等。对用户和他的环境有所了解之后,就可以考虑为他做更多的事情了。悄悄地帮他提高亮度?邮箱登录时自动补上@qq.com?等等
第二个问题,可以从复杂性的角度出发。如果是一些决策性的工作,尽可能留给用户去控制(例如点饭是点糖醋排骨,还是点清蒸鲈鱼)。如果是一些重复性的工作量问题,则留给系统来处理(比如记忆很多东西,在大数据中搜索特定物品,快速计算等)。
-提供聪明的默认项。根据对用户的理解,揣摩最常用的选项并将其设为默认项。但人的判断总是会有失误的时候,更有效的方式,则是根据数据进行决策。哪个选项被选择得最多?将其设为默认项。
-预防错误。减少用户有犯错的机会,而不是在用户犯错之后给一个冷冰冰的错误提示。有个方法就是减少用户的控制和输入。比如:①用户a没有权限进行支付,那就将他的支付入口隐藏掉。②密码输入不能输入字符,那就屏蔽掉字符的输入。
3.3 反馈
反馈的目的实际上是为了让用户明确知道下面几个问题(也可以是我们想让他以为的)。①我做了什么②什么事情开始了③什么事情正在进行④什么事情结束了⑤我不能干什么。
我们需要根据使用场景判断出哪些问题是用户当前最想知道的。并将问题结果反馈给他。
其中设计反馈时有4个要考虑的点。
①环境变化。反馈是否会受环境变化的影响?比如到了晚上,铃声音量是否要变大或变小?
②持续时间。反馈要持续多久?如何停止?
③强烈程度。反馈效果需要多强烈?会越来越强还是保持不变?
④重复次数。反馈需要重复吗?多长时间重复一次?
同时还有两个设计原则。
①不要让用户有压力。根据需要反馈的问题紧急程度决定,用尽可能少的反馈解答用户的问题。比如word中我启用了斜体输入,只需要将光标也变成倾斜的就能够让我知道我启用了微交互。而不需要一个大大的提示框告诉我这个事情。
②用尽可能接地气的方式进行反馈。不要让用户猜反馈的结果。比如我长按电源希望开启设备,有震动的反馈让我知道我的设备动起来了。而不是一个逐渐衰弱的提示音让我感觉我的设备逐渐无力。
3.4 循环与模式
这一部分,书中的阐述我不太能理解。我的个人见解是,循环与模式是为了调整微交互而存在的。因为你设定的一种微交互的方式不一定能适合于所有的人和场景。所以需要通过循环与模式切换不同的微交互支持不同的使用场景。
3.4.1 模式
模式是规则的一条分支路线,主要是为了修改微交互,而不会同时执行主任务。比如在购物环节,我希望我每次点击“+”都是增加两个商品,而不只是一个。那我可能需要进入一种特殊的设置模式进行调整,此时设置模式的作用也只是改变微交互,并不会执行“购物”这一项主任务。
也只有在这种主流程外的分支情况,才需要设计新模式。而设计新模式的时候,也请尽可能地给它设计一个专用的屏幕。专注地处理完这件事情,然后只留一条退路,就是回到主流程上。
3.4.2 循环
循环也是一种调整微交互的方式,只是它可能会相对更加“智能”。通过多次的循环,多次完整走完一个主流程,可以逐渐调整微交互的形式。比如:一开始可能需要控件+标签+说明性文案告诉你微交互的作用。多次循环后,可能就只需要控件就足够了。