大多数浏览器和
Developer App 均支持流媒体播放。
-
设计出色的快捷指令
通过快捷指令,用户可以随时随地或在“快捷指令”app 中访问信息和操作。设计出色的快捷指令须进行细致的设计规划,并仔细考量如何加快用户使用 app 的流程。深入了解出色快捷指令的构成要素,以及如何设计实用、精美且灵敏的体验。通过示例学习使用参数时如何规划 Siri 对话流程,让您的快捷指令灵活实用。
资源
相关视频
WWDC23
WWDC21
WWDC19
-
下载
(设计超棒捷径) 大家好 我是Jay 我是Siri和捷径团队的一名 设计师 今天我们要讲 如何给app设计优秀的捷径
今天我们主要讲三个话题
首先我要讲查看你app的所有用例 并决定哪些看起来可以作为捷径
然后我要讲如何让这些捷径 在你的app中可发现
最后我要讲如何设计 优秀的Siri体验 针对iOS 13中捷径的 新交互性功能
现在让我们先往回退一步 捷径一般而言是把app的功能 在OS上的更多地方 呈现给更多用户的好方式 让我们看一下捷径可能会出现在 app中的哪些地方 从而了解哪些可能有用
如你告诉系统当用户在你的app中 执行某个行动时 当系统预测到 用户下一步会采取什么行动时 它可以自动推荐捷径 并且这些捷径可以出现在 锁屏和搜索中 这个捷径可以让你迅速开始 你通常在一天的这个时候执行的 指导性训练
如果用户向Siri添加了一个捷径 通过给它分配一个自定义短语 他们可以通过他们的声音 在任意时间唤醒它 在这里 捷径可以让他们预订 平常的晚餐 通过一个快速的确认步骤 用户就可以获得一些很棒的 地中海式食物
Siri捷径的另一个很棒的例子是 不通过手和眼睛获取信息 因此对于你的HomePad 如果你有一个交通app的捷径 你可以说 “嘿 Siri 公交时刻表” Siri将为你播放来自 你的app的公交时刻表信息
你还可以把你app的功能 作为多步捷径的一部分 在这里 捷径处理你晚上的 例行安排 在你到家之前及时预订美味的鲜汤 在你开车时播放你最喜欢的音乐 并显示最快的路线
请看这些例子 我们可以看到捷径非常适合 很频繁地使用 你的app可以实现的有用的动作 瞥一眼就能看到信息 或通过声音获取信息 或作为强大的、 多步捷径的一部分 你的app可以和 其它app一起运作
我们在iOS 12中引入了 Siri捷径建议 因此你可以参考之前的演讲 获取更多关于如何开发 自动在锁屏和搜索中给出建议的 优秀的捷径的信息 今天我主要讲如何让捷径利用 iOS 13中的新的Siri功能 我们会讲如何优化你app的功能 从而有利于Siri捷径 为此 让我们看一下我们最喜欢的 其中一个app Soup Chef 你可以通过它预订各种汤 可以自取或配送 让我们共同设计 并创建Soup Chef捷径
列出你的app可以实现的所有功能 当这样做时 开始考虑 用户可能想要通过他们的声音 重复去做的事 通过Soup Chef 你可以做比如浏览汤品菜单 预订汤品 查看订单状态或浏览之前的订单 让我们一个接一个看一下这些功能
浏览菜单是非常可视化的行为 需要大量结构化的信息 这些信息不能被很好地翻译成声音 它需要滚动、轻触和导航 并且它提供 不太可能在调用中修改的信息
它更像是一个结束 而不是包含一个有价值的动作 并且它自身也不是有价值的动作
因此这可能不太适合创建捷径
检查订单状态可能是 用户想要通过声音来实现的功能 从Siri获取信息的快速汇总 但同时它仅应用于很短的时间范围内 就在用户订购之后 你可以考虑把这个功能 允许用户通过捷径来实现 但也许只有当配送时间长 或有多个阶段时才使用
浏览过去的订单功能很棒 但我不知道你们怎么样 我一般不会浏览 因此这并不是个很好的捷径
订购汤品是个很有价值的活动 事实上它是你app的最重要的活动 你可以想象如果用户有很喜欢的汤品 他们一定会重复订购
我们可以把它叫做 捷径的最佳候选人
总的来说 捷径的最好用法是 一些很有价值或很有意思 并可以重复的功能 可以通过你的声音实现 而不依赖于视觉或轻触 并且在许多情境下可调用 因此捷径不只是应用于 很短的一段时间内
现在我们知道我们希望用户 可以通过捷径预订汤品 让我们看看如何让这个捷径 在你的app中可被发现 我们提供了一个标准的 “添加到Siri”按钮 那可以让用户了解你app中的 哪些功能 可以通过Siri捷径来实现 但要慎重使用
不要这样做 不要把“添加到Siri”按钮 放在主菜单上的每一项上 漂亮的按钮是指按钮自身漂亮 而不是附加其它东西 像这样重复它看起来很难看 并且它并不与这里相关 用户很可能只是初次尝试下订单 并且这些按钮挡住了路 并且这些可能是用户之前 从未订购过的产品 目前建议他们重新订购毫无意义
相反 请查找你有机会 在一个专用UI中呈现的功能 有明确的用户可能想重复 某些操作的信号
比如在用户订购某些产品之后 立即显示 “添加到Siri”按钮更好 逻辑是如果用户发现产品足够好 可以订购 那么用户非常可能再次订购它 并且这样你也不会中断 用户尝试进行的操作 他们已经完成了订购 所以这是个好机会
要让“添加到Siri”按钮 更好地适应你app的视觉外观 你现在可以自定义按钮的圆角半径了
并且你可以根据用户的深色模式偏好 自动修改按钮的外观
如果你非常努力地尝试了 是非常努力的那种 而按钮的样式仍不能适应 你的app的样式 你可以创建你自己的按钮 但你应该复制所有的 “添加到Siri”的功能
标准的“添加到Siri”按钮 一旦被配置好 就显示用户的捷径短语 这是提醒用户要运行捷径 需要说什么的好方式
轻触它将显示一张标准的表单 允许用户编辑或删除捷径
如果你想要一个集中的位置 来列出你的所有捷径 在每一行上都有一个 “添加到Siri”按钮可能太多了 就像我们之前见过的那样 因此你可以自由使用 标准的UIKit元素
请一定确保当用户设置捷径时 就像“添加到Siri”按钮一样 你也要显示用户使用哪个短语 设置了捷径 轻触捷径应该也会显示表单 用户可以编辑或删除捷径
让我们看一下用户首次设置捷径
一旦用户轻触了 “添加到Siri”按钮 他们将看到“添加到Siri”表单 用户可以选择调用捷径 所使用的短语 在iOS 13中 你的app 可以预填充你自己所选的捷径 并且绝大多数用户可能会给捷径 分配这个短语 如果你提供的话 因此一定要确保提供了一个很好的 默认短语
在这个例子中 订购汤品就是一个 很好、很短并且很容易记住的短语 用户可能会由衷地用作 捷径的短语
让我们再看一个例子 让我们从汤品中解脱出来一会儿
检查公交时刻表 这听起来像是个明智的短语 考虑到它相对较短 用户非常可能会忘记某个词 或换成别的词 他们可能会尝试说 “查找公交时刻表” 或“35路公交时刻表” 或只是完全漏掉“检”这个字
Siri会尽它所能 把这些与短语相匹配 当用户尝试回想较长的短语时 他们仍有相当大的创造力 因此这可能不是最佳的推荐短语
相反 要保持短语简短 大约在三个字或更少 试着把它限定为一个专有名词 或只是一个动词和一个对象 这会减少用户混淆词序的机会 或使用不同的介词的机会
好的 有个用户想设置订购 西红柿汤的捷径 如果用户希望捷径每次都实现 稍微不同的功能会怎么样呢 比如订购不同的汤品? 在iOS 13中 用户可以轻触 “执行”区域下面的网格 并自定义向捷径中预制多少信息 只需要轻触其中一个字段即可实现
用户可以选择保留某些字段空白 比如汤品类型 当他们这样做时 Siri会以你的app的名义 请求这个缺失的信息 理想情况是 捷径产生最少的交互 毕竟 它应该加速 人们总是频繁去做的操作
因此当你呈现 “添加到Siri”表单时 这个动作应该包含尽可能多的信息 从而只需要一步或两步就能运行 捷径 在这个例子中 这个捷径将直接进入确认屏幕 因为一切都已经指定好了
但当用户选择把一切信息 都保留为空白 并且他们想在与Siri的交互中 指定关于订单的 所有详情会怎么样呢?
让我们看看我们要如何设计 与Siri的完整的订购汤品的交互
考虑一下你需要了解哪些信息 来执行订购汤品请求 比如要订购哪种汤品 是否需要配送还是自取? 如果你预订了配送 你需要配送到哪儿 以及如果你选择了自取 你要自取什么 要开始考虑订单 以及收集这些信息的可能的方式 你应该把app的交互 看作是你的用户和Siri 之间的交谈
可视化这个交谈的一种方式是 通过脚本 脚本对于快速记下一条对话路径来说 非常有用
当然并不是只有一条路径 你应该写下所有 交谈可能会进入的路径 比如用户可能会说出一种可选方案 但你的app并不支持 在那种情况下 Siri很可能应该暗示用户这一点
提交一本脚本书 作为设计规范可能会有些不灵便 因此在过程结束时 你更可能会这样做 一个流程图 包含在会话内所涉及到的 全部可能的状态和转换 Siri有一些特定的方式提供选择 并处理用户输入 让我们直接来看 你所拥有并可以任意使用的会话模式
第一种模式是提示 这是用于从用户那儿收集值的 最开放的一种方式 你应该把你的提示作为一个问题 提出来 并用一种能让用户 做出良好反应的方式 表达出来
当用户说了一些对于你的app来说 意味着很多东西的内容时 你可以显示一个选项列表 可以让用户指明他们具体是指哪个 这叫做消除歧义提示
你可以最小化消除歧义提示 那会通过在前面显示一个选项列表 给会话添加另一个步骤 请注意 用户说了他们的捷径 短语“订购汤品” 并直接进入列表中 如果是有限的几个选项可以选择的话 你应该使用列表 而不是自由形式的提示 请确保你的提示对话鼓励用户 从列表中进行选择 以“哪个”开头的问题用在这里 最好不过了
当使用捷径而没有显示屏时 Siri会读出选项 比如在AirPods或HomePod上 或当用户说“嘿Siri”时
并且Siri将像你在可视化UI中 所提供的那样读出这些选项 但你可以想象这可能会太啰嗦了 特别是如果许多选项都很相似的话 为了改善这种体验 你可以分别指定 Siri如何大声读出你的选项 你可以给每个选项都添加一个 发音暗示 让我们看一个 稍微有点不一样的例子 用户请求订购面汤 有两种面汤 与其说牛肉面汤或蔬菜面汤 你不如说牛肉或蔬菜 因此只需要考虑读出能区分 每一项的细节
对话是双向的 因此你还要考虑用户可能会说什么 用户可能不会使用与你的选项 完全相同的词
要处理响应中的自然差异 对于每个选项 你应该为Siri提供一些同义词 这些同义词与那个选项指的是 同一件东西 因此当用户说牛肉时 Siri会匹配牛肉面汤
当想到这些同义词时 你还应该记住你提问的措辞 会影响用户的响应方式
因此如果你有用于描述选项的一种 更随意的方式 比如“带肉的”或“蔬菜的” 你应该确保你能识别出用户也会 向Siri重复那种措辞
如果用户了一个响应 而你想进行额外确认 比如一个后果特别严重的值 你可以提供一个参数确认提示 但仅针对真正的例外情况 明智而审慎地使用它 因为这会减慢用户的速度
使用参数确认提示的另一种方式是 如果你的app有自己的推测 用户可能想要什么的逻辑 你可以给用户显示你的最佳猜测 他们可以确认它 在这种情况下 是的 他们不需要提供额外信息 或他们可以拒绝它 在这种情况下 你可以退回到一个更开放的提示中 如果你可以猜出用户想要什么 这是一种可以让捷径交互 变得更快的好方式
在流程的最后 考虑使用确认提示 作为一个整体应用于整个动作 尤其是如果动作自身会引发 特别严重的后果的话 在这个步骤中 你可以在可视化用户界面中确认 要实施的与最终决定相关的动作的 全部细节 比如价格、配送时间 你可以完全自定义这个 可视化用户界面 请注意 对于订购类中的动作 系统要求用户进行确认 如果你属于那个类 一定要提供很优秀的确认体验
但请记住用户可以不用看屏幕 就可以运行你的捷径 因此你应该提供一个 仅语音对话的体验 在这个例子中我们提供了额外的对话 用于帮助用户做出决定
这个额外对话的目的是提供 不能在可视化用户界面中显示的信息 可以把这个额外对话看作是 你会在显示屏上显示的 最重要信息的语音等价物
最后你的响应 Siri将指出动作的状态 你可以在这里提供一个可视化 UI概述用于描述额外信息 比如谁会配送你的汤品 以及最新估计的配送时间 请注意 我们只需要在这里说出 “好的 已订购” 因为我们使用了 显示屏来显示额外信息 对于仅语音体验来说 你应该指定一个更具描述性的对话
再一次 把这个额外对话看作是 你在显示屏上的 响应式UI中所显示的 最重要的信息的语音等价物
当你思考确认和响应对话时 你应该记住你需要 为捷径选择一个类别 当你在Xcode中定义捷径时 选择最匹配你捷径的功能的类别 在我们的Soup Chef例子中 很明显它属于订购类
在确认提示中 Siri会根据你所选择的类别 自动提出问题 因此不要在你自定义的确认对话中 包含问题 这里用白色突出显示
在响应对话中 Siri将提供适合所选类别的状态 你的自定义对话将附加在Siri 所提供的对话的最后
语音交互应该总是尽可能地强健 从而避免强迫用户打开app 并手动继续 比如你应该提供清晰的错误信息 如果某个参数值无效的话 然后Siri会自动重复提示那个值 你还应该首先避免自己陷入这种情况 如果你正在呈现选项列表 一定不要呈现你所了解的在运行时 无效的任何选项
你还应该考虑 深入挖掘用户潜力的机会 用户可能在捷径中包含 比如配送地址的值 因为一般来说就是他们家所在的位置 因此他们可能习惯不说配送地址 某天他们可能在离家很远的地方 使用这个捷径 你应该核查那种情况 并提示不同的地址 无论什么原因 用户可能想要继续在你的app中 运行捷径 他们可以轻触UI中的任意位置继续 当你呈现UI时 请记住整个区域都是打开你app的 一个大按钮 因此不要绘制任何看起来 可单独交互的元素 它们不能进行单独交互
当用户轻触这个区域时 请确保你的app在正确的位置打开 并在app中填充好 用户在此之前所提供的全部信息
最后我们鼓励你们在编写对话上 花点时间 这并不是进行一次快速传递 从而获得一些要展示的东西 最后就是最终要提交的产品 请记住在语音交互中 语言就是用户界面 因此你应该在Siri交互中 像对待app中的像素一样 尊重和关心措辞
照这样说 让我们看几个指导方针
不要太过礼貌或不要注入太多 个性化内容 想要自定义汤品的用户 在每次运行这个捷径时都会听到 这段非必要的对话 那很烦人
如果你不确定 就进行测试 听Siri说出你的对话 在听了三次之后 你觉得你的对话听起来怎么样? 听了十次之后呢? 如果你感觉其中某些部分令人讨厌 那很可能是一个不错的信号 表明你应该减少对话中的啰嗦信息
对话应该要简明 并保持中性 并传达你所期待的响应类型
不要在对话中包含app的名称
你的app应该以可视化的方式 进行属性化 通过你的确认和响应UI实现 偶尔通过Siri自己的添加实现
因此请剔除app的名称 不要担心 你的商标很安全
类似地 你也不应该在对话中包含 用户姓名
Siri有时会在HomePod上 说出用户姓名以验证他们的身份 如果你的app也这样做 那可能听起来有点啰嗦和烦人
因此请剔除用户的姓名
请避免使用第一人称 因为Siri不会执行 你的app要执行的动作 这是一个很细微的差别 但它很重要 以Siri的语音说 “我”或“我们” 用户可能认为Siri可以更好理解 你app的功能 而实际上它不能 用户可能会尝试采取你的app 和Siri不能理解的后续动作
与此相反 请中立地呈现选项 使用这样的词 比如 “在这里”或“那儿有一些选项”
那么我们今天学到了什么?
捷径旨在提升你app中 最可重复的功能
你应该使用“添加到Siri”按钮 确保用户了解他们可以在你app内 把哪些功能转化成捷径
你应该确保Siri交互合理、 简明和稳健
编写对话时 你应该要格外小心 谢谢
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。