来源于 WWDC2019 “Designing Great Shortcuts” 演讲,根据演讲内容结合国内设计用语习惯翻译整理。https://developer.apple.com/videos/play/wwdc2019/806/
简介
how to design great shortcuts for your apps.
原则中的三个话题
选择APP中恰当的功能作为Shortcuts;
可发现性,让Shortcuts在App中更容易被发现;
Siri语音交互使用Shortcut。
列举三个Shortcut应用场景
快速使用常用功能;
简洁直观地展示信息;
更好用的多步骤整合。
快速使用常用功能
系统根据预测用户下一步的操作来推荐对应Shortcut功能。一般出现在锁屏和搜索页面。
简洁直观地展示信息
用户添加个性化语句来调用Shortcut,可以随时唤醒该功能,如订餐
与Homepod连接,解放双手双眼,直接获取信息
更好用的多步骤整合
多种Shortcuts使不同App的功能串联协作
选择恰当的功能作为Shortcut
适合作为Siri Shortcut语音交互功能的特点
重复性的功能;
功能不依赖视觉和手动点击交互;
该功能在大多数场景下都不显得鸡肋。
很不恰当的功能特点
需要依赖视觉引导操作;
稳定不变的内容;
功能自身并未产生价值。
需要依赖视觉引导操作
举例:订餐App,浏览菜单功能
浏览菜单非常需要视觉参与来获得复杂的结构信息,这不适合转换成语音操作。浏览需要滚动,点击,导航选择等操作。
稳定不变的内容
而且菜单中的信息并非总是在变化。
功能自身并未产生价值
浏览菜单只是为了达到订餐目的的一种方法,其本身并未有过多的价值,
所以该App中浏览菜单的功能做成Shortcut并不合适。
不太恰当的功能特点
有价值信息的梗概;
只在特定场景有意义。
有价值信息的梗概,只在特定场景有意义
举例:订餐App,查询订单信息功能
有些用户有时会想用语音来查询订单信息,来快速获取该信息摘要。
但这种需求只存在于个别很短的时间段里,即在下完单后不久。如果想把该功能转为Shortcut,那可能是订单很久未送到的场景,或是寄送过程中存在好几个阶段的情况,这并不常见。
还有查看过去的订单,这也不常用。
恰当的功能特点
自身功能有价值;
是经常使用的重复性功能。
自身功能有价值
举例:订餐App,下单功能
下单是一个有价值的功能,是整个App中最重要的功能。
重复性功能
如果用户有最爱的口味,那用户会重复下这个单,该功能适合用于Shortcut。
可发现性
转换Shortcut功能的入口位置
举例:订餐App,下单功能
不要将每个订单都加入一个转换Shortcut功能的入口按钮,用户下单的需求是第一位的,这么放置阻碍了下单的流程。
并且某个订单有可能是用户之前从未下过的,这么放置入口按钮没有道理。
但可以在详情页面看到放置机会,在这里你可以得到用户有可能会重复下单的信号。
比如你可以把入口按钮放置在用户下完单后。按照逻辑,如果用户觉得满意,他接下来可能会再次下单,同时也不会打断用户的下单流程。
开发者可以定制化入口按钮,但要注意与App样式上的协调统一。
点击转换Shortcut入口按钮,将会弹出一个标准化的表单,提示用户如何说才能唤起Shortcut,同时也要允许用户编辑和删除.
如果在App中你需要一个统一的地方管理该App中的所有可能会用到的Shortcut,不必要在每个功能后面都加一个上述样式的入口按钮,我们用标准UIKit控件。用户刚添加一个Shortcut便在这里展示相应语句,点击它同样出现上述表单
唤起Shortcut功能的语句特点
举例:公交查询App
用户在查询公交信息时可能会变换语法,漏掉部分单词,导致不能匹配Shortcut中提前设定好的语句。所以要缩短语句,三个单词或更少,用一个适合的名词或动词,避免导致混淆。
Shortcut中信息的空缺与补全
如果用户希望每次用Shorcut其内容有些许不同,比如订不同种类的汤。
iOS13用户可以点击Do的区域,用户决定哪些信息固定在Shortcut中,哪些信息留白,比如把‘汤的种类’空出来。这样当唤起这个Shortcut时,Siri会询问用户想要哪种汤。
调用Shortcut时的Siri辅助页面,尽量展示丰富的内容,在用Shortcut过程中,最好一两步就可以完成用户需求。
如果所有信息都补全了,那就直接进入确定环节。
设计Siri语音交互
举例:订餐App,下单功能
下单之前需要提供哪些信息,
想要什么样的餐食?外卖到家还是自取?送到哪或在哪自取?
为了收集这些信息,你将思考如何通过Siri和用户的对话来完成App中的功能。
通过脚本能很快写出一个路径上的对话,当然不止一个路径,应该写下所有可能的对话路径。最后可能会演化成一个流程图涵盖对话中的所有可能的路径和状态。
对话与交互样式
引导
只是一种从用户那收集信息最开放 (open-ended) 的方式。 应该把引导写成一种问题,通过言语的组织来引导用户,使他的回复以一种规矩(well-formed) 的形式表达出来。
去歧义引导
当用户说的内容可能对应App中对应多种功能,你可以提供一个选择列表让用户指出刚才所说的是哪个。
展示选择列表的引导
尽量轻量化这种去歧义的引导,在对话过程中加一步,直接展示出选择列表。
当用户说出预定汤的时候,直接显示列表。使用这样的限制列表,比用随意形式 (free-formed) 的引导语要好。
确保这种引导能鼓励用户从选择列表中去选,所以问的问题以“哪个”(which) 作为开头更好。
无法屏幕显示的选择列表
在没有屏幕的情况下使用Shortcut,Siri将会把选项读出来。像使用AirPods,HomePod或直接用Siri的情况。
使用发音线索 pronunciation hints
你会猜到对话可能很冗长,尤其很多选项相似的时候。为了提升这部分体验,你可以为每个选项提供发音线索,来告知siri如何将它们有区分地大声读出来。
用户想要面汤,但App中有两种。由于有了这种设计,相对于说出选项全称,你会更倾向于说出它们的简称,只说出它们的部分特点或不同之处Siri就会明白。
扩展同义词
用户有可能不会说出你在选项中高亮出的关键词,为了应对这种自然多样的回复,你应该为Siri提供选项的其他同义词 (synonyms)。
设计引导中的问题时,要考虑到问题的用语会影响到用户的回复,如果你用很随意的方式引导,比如‘一个是荤的,一个是素的,选哪个?’,那用户也可能这么随意地回复给Siri他的选择。
参数确认引导
对于很重要的操作,如果需要对用户的回复进行二次确认,就要用到参数确认引导。
但要在特定事件中谨慎使用,否则会为用户的操作增加负担。
提前预测
你可以展现给用户最有可能的猜测,然后让他去确认。这样用户不用再提供不必要的细节。
或者用户否决这种猜测,那么便回到前面所说的更开放的引导。
最好的快速使用Shortcut的方式是可以直接猜到用户需求。
操作确认引导
在流程的最后,考虑使用操作确认让整个操作形成闭环,特别是重要的操作。
有屏幕显示情况
这一步,你可以确认操作过程中的所有的细节决定,在界面上显示之前确定的参数,像订餐价格,寄送时间等。
无屏幕显示情况
在没有显示屏展示界面的情况下,提供额外的对话可以帮助用户进行选择。
额外对话的目的是展示那些无法显示在屏幕上的信息,所以提取屏幕上最重要的相关信息然后用对话形式表达出来。
反馈
Siri将会展示现在的状态。
有屏幕显示情况
可以在界面上显示内容梗概,像谁会来送餐,估计送达的时间。在这种有显示的情况下,Siri语音答复用户“OK”就行,因为有屏幕显示所有信息了。
无屏幕显示情况
当无屏幕时,要附加一轮描述性的语句,同样在语句中表达原本在屏幕上所要显示的最重要的相关信息。
定义Shortcut的类别
在Xcode中选择和该Shortcut功能最匹配的类别,刚才的例子最好使用订单(bill)类别
在操作确认引导中,Siri会基于你选择的Shortcut种类提问用户问题。所以在定制化内容的位置(白色高亮的位置)不要再写问句了,系统已匹配好提问了。
定制化内容位置作为Shorcut类别已匹配语句的补充。
错误情况
语音交互应该更完善,避免用户再打开手机手动操作。
如果用户提供了一个无效的参数,Siri将会自动重新引导用户来获得有效参数。为了尽量避免用户提供无效参数,你所提供的选项尽量都有意义
区分场景
比如关于地点位置参数,用户经常在家订餐,所以他习惯了不提及地点,即默认地点为家。
但一天他离开家使用了Shortcut,这时要判断用户的实际使用场景,引导用户确认地点。
可用App手动继续操作
有时用户调用Shortcut后仍想操控提示界面。所以当展示UI时,记住把整个区域当作一个大按钮,点击即打开App,不用再提供其他可分别交互的元素。
点击该区域,跳转到App该功能对应位置,并展示用户之前已经提供了的信息
最后,多花些时间考虑设计对话内容,语音交互,语音内容即是UI,对语句的斟酌应该向对待界面像素一样谨慎。
语音内容即是界面
对话内容撰写规则
不要过分礼貌或注入过多性格特点
用户每次用Shortcut只想完成订餐,每次都听到没必要的客气问候会让人恼火。
如果不确定对话内容就去测试,听三遍、十遍之后会不会不耐烦?如果会就砍掉不必要的冗长语句。
对话应该简洁,平淡,以用户所期待的形式直接交流。
不要在对话中出现名字
不要出现App名字
App已经通过视觉、语音等其他形式露出了,不必要再提及名字,不用担心品牌弱化问题。
不要出现用户名字
同样也不要提及用户的名字,Siri时不时会通过Homepod说出用户名字来验证,如果App再重复说名字就很烦扰。
避免用第一人称
因为不是Siri在执行任务,而是App在执行。虽然这区别不大但很关键。
当Siri说‘我’时,用户会过高预期Siri对该App的了解程度,这样用户接下来的复杂指令会让Siri和该App都无法理解。
所以,中性地去表达,比如“现有五个选项..”
小结
Shortcut使App中重复性功能体验得到提升;
在App中合理放置Shortcut转换入口来让用户了解如何设置Shortcut;
应该让Siri与用户的交互符合逻辑,保持简介和完善;
在编写对话时要格外谨慎,
就这些。