SiriKit和iOS的会话设计用户体验

本文介绍了如何利用SiriKit设计优秀的语音用户体验,包括SiriKit的概述、语音交互设计原则和应用会话设计的最佳实践。教程涵盖了意图和域处理、通知用户选择、快速准确响应、限制信息量、提供会话面包屑、身份验证和错误处理等关键点,旨在帮助开发者创建直观的对话设计体验。
摘要由CSDN通过智能技术生成
最终产品图片
您将要创造的

介绍

我们的网站上有很多文章都致力于通过设计出色的移动用户体验(UX)帮助读者创建出色的iOS应用。

但是,随着几年前Apple Watch的出现,CarKit的出现,以及今年HomePod的出现,我们开始看到更多使用语音命令而非可视界面的应用程序和IoT设备。 物联网设备(如HomePod和其他语音助手)的盛行,以及启用语音辅助的第三方应用程序的爆炸式增长,带来了全新的用户体验设计方法,重点是语音用户体验(VUX) )或会话设计UX。

这导致苹果几年前开始专注于SiriKit的开发,并为第三方开发人员提供了扩展其应用程序的能力,从而使用户可以更自然地与他们的应用程序进行对话。 随着SiriKit对第三方开发人员的开放程度越来越高,我们开始看到越来越多的应用程序成为SiriKit的一部分,例如著名的消息传递应用程序WhatsApp和Skype,以及付款应用程序(例如Venmo和Apple Pay)。

SiriKit的目的是通过一致的对话用户体验来模糊应用程序之间的界限,使用户可以通过预定义的意图和领域保持直观,功能性和吸引力。 本教程将帮助您应用最佳实践来创建直观的对话设计用户体验,而无需视觉提示。

本教程的目标

本教程将教您通过VUX中的最佳实践来设计可听见的,启用SiriKit的应用程序。 您将了解:

  • 语音交互设计
  • 应用会话设计UX最佳实践
  • 测试启用SiriKit的应用

假设知识

我假设您以前使用过SiriKit,并且有一些使用Swift和Xcode进行编码的经验。

语音交互设计

要创建引人入胜的应用程序,需要针对用户体验进行深思熟虑的设计-简称UX设计。 所有移动平台的一个共同的基本原理是,设计基于视觉用户界面。 但是,在为用户通过语音互动的平台进行设计时,您没有视觉提示来帮助指导用户的优势。 这带来了全新的设计挑战。

图形用户界面的缺乏迫使用户了解如何通过语音与他们的设备进行通信,确定他们在各种状态之间导航以实现自己的目标时能够说的话。 交互设计基金会描述了保护性用户体验中的情况:

“在语音用户界面中,您无法创建可视能力。 用户将不会清楚地知道该界面可以做什么或他们的选择是什么。”

作为设计师,您将需要了解人们如何自然地与技术进行交流,即语音交互的基础。 根据斯坦福大学的最新研究,用户通常以与他人交谈相同的方式感知并与语音接口交互,而无论他们是否知道自己正在与设备通话。

过去几年中,难以预测人们的不同说话方式导致了机器学习的发展,其中自然语言处理(NLP)允许平台通过识别意图和联想来更自然地理解人类。命令域。 苹果公司的Siri及其面向第三方开发人员的框架SiriKit是一个杰出的平台。

SiriKit概述

尽管大多数人将Siri理解为主要专注于非可视语音帮助,但它与Apple生态系统的集成使用户可以通过其操作系统(iOS,watchOS,CarPlay或HomePod)触发语音交互。

前三个平台除了提供声音反馈外,还提供有限的视觉引导,而HomePod仅提供声音反馈。 驾驶时使用iOS或CarPlay,该平台将提供更少的视觉反馈和更多的音频反馈,因此用户收到的信息量是动态的。 作为应用程序设计师,您将需要兼顾两种交互。

使用Siri提供命令

这意味着SiriKit会根据设备和用户的状态来校准其在视觉或语言上的提供量,并且只要您遵循最佳实践,SiriKit就会为您妥善处理所有这些。

意图和域处理

该框架通过两个主要过程处理用户请求:意图和域处理。

通过语音处理Intents框架(Intents App Extension)来管理Intent,该框架接收用户请求并将其转换为特定于应用程序的操作,例如预订汽车拼车或向某人汇款。

Siri Interaction Workflow

另一方面,Intents UI应用程序扩展允许您在用户发出请求并且您的应用程序希望在完成请求之前进行确认后,提供最少的视觉内容确认。

Calling a ride-share app with Siri

SiriKit将意图(用户请求)分类为称为域的特定类型。 从iOS 11开始,第三方开发人员可以利用以下域和交互:

SiriKit域和交互列表

最初似乎选择有限,但是Apple的辩解是这可以帮助谨慎管理用户的信心和期望,同时逐步允许用户学习和建立如何与Siri交互的知识。 这也使Apple和社区可以随着时间扩展,同时模糊了语音帮助界面后面的应用程序之间的界限。

利用SiriKit的iOS开发人员还可以从平台提供的上下文知识中受益。 这包括根据机器学习提供的意图和领域,根据会话上下文对句子进行分组。 也就是说,Siri将尝试确定您的下一个命令是同一对话上下文的一部分还是新的对话上下文。 如果您说“请预订Uber游乐设施”,则Siri会知道您打算在carshare域中预定汽车共享游乐设施。 但是,该应用将需要更多信息,例如哪种乘车方式。 如果您的下一个命令是“ Uber Pool”,它将知道第二条命令在同一上下文中。

利用SiriKit,您可以从Apple的平台中受益,编排了大量的繁重工作,从而使您可以专注于重要的事物,即创造价值的事物。 话虽如此,您仍然需要成为一个好的“ Siri公民”。 接下来,您将接下来了解各种最佳实践,可以遵循这些最佳实践,以通过非可视通信和语音交互创建有益的用户体验。

应用会话设计UX最佳实践

让我们看一些可以立即应用于SiriKit扩展的最佳实践,以确保您的应用为用户提供愉悦,逻辑和直观的对话语音界面。

通知用户他们的选择

第一个指导原则是简洁地告知您的用户在特定的交互状态下他们拥有哪些选择。

图形用户体验可以毫不费力地向用户提供可视上下文,例如通过模式对话框,而启用语音的应用程序则不存在这种奢侈。 用户对自然语言处理可以处理的内容有不同的期望。 有些人可能会非常保守,可能没有意识到Siri的功能,而另一些人可能会问一些对Siri毫无意义的复杂问题。

您需要设计用户体验,以便以选项的形式向用户提供有关他们在特定时刻的能力的信息。

西里斯全球选择

您的应用返回的选项应与上下文相关。 在以下屏幕截图中,联系人有多个电话号码,如果用户未明确说明要使用哪个电话号码,则应提示用户。

Contact Resolution with SiriKit

SiriKit使用您可以通过SDK访问的联系人解析来指导应用程序确定最终用户打算使用的联系人电话号码(如果有多个联系人条目使用相同的姓名,甚至可以选择哪个联系人姓名)。 根据Apple的文档

在解析期间,SiriKit提示您通过调用处理程序对象的解析方法来分别验证每个参数。 在每种方法中,您都将验证提供的数据并创建一个解析结果对象,以指示您解析该参数的成功或失败。 SiriKit使用您的解析结果对象来确定如何继续。 例如,如果您的分辨率结果要求用户从两个或多个选项中消除歧义,SiriKit会提示用户选择这些选项之一。

有关解决用户意图的更多信息,请参阅Apple关于解决和处理意图的文档。

快速准确

重要的是,在应用程序的对话式用户体验中,您应Swift响应命令,因为用户期望快速响应。 这意味着您应该设计交互工作流程,以提供最快的操作集来实现功能完成,而没有不必要的提示或屏幕。

Apple鼓励您直接将用户带到内容上,而不带任何中间屏幕或消息。 如果需要对用户进行身份验证,请直接将用户带到身份验证屏幕,然后确保维护上下文,以便用户可以逻辑方式继续完成他或她的操作。 Apple的人机界面指南建议您需要:

快速响应并最大程度地减少交互。 人们使用Siri是为了方便起见,并期望快速的响应。 提供有效,集中的选择,以减少其他提示的可能性。

限制信息量

Amazon Echo设计准则建议您在一次交互中不要列出三个以上的不同选项,而应首先为用户提供最受欢迎的选项。 然后,如果您需要提供三个以上的选项,请在最后提供一个选项以浏览其余的选项。

Siri Options in response

根据用户最有可能使用的选项对优先级进行排序,并允许用户显式地调用某些不受欢迎的选项,而无需将其读出。 您也可以根据用户的历史偏好动态调整突出显示的选项。

最重要的是,不要表现出偏见或欺骗! 也就是说,不要歪曲信息或权衡提示以区分最昂贵的选项,例如,首先列出最昂贵的汽车共享乘车选项,最后列出较便宜的拼车服务。 这是让客户失去对应用程序的信心和信任的肯定方法。

提供会话面包屑

用户很难在没有视觉提示的情况下确定他们在哪里,即使SiriKit可以跟踪当前上下文,用户也倾向于在做其他事情(例如开车或慢跑)时与SiriKit进行交互。

因此,您始终需要对命令提供信息丰富的响应,不仅要确认该命令,还要提醒用户上下文。 例如,当用户要求预订乘车共享时,您可以通过以下内容提供响应信息:“您今天下午5点使用AcmeCar预订了乘车”,而不仅仅是回答“预订”确认”。

换句话说,在您的响应中提供足够的上下文信息,以使用户了解已确认的内容,而不必看一眼她或他的电话即可确认用户的意图。

提供不需要触摸或扫视的体验

随着Apple的支持Siri的设备生态系统从iOS和watchOS扩展到缺少可视界面的设备,重要的是,您的响应和交互操作不需要用户回头看屏幕或触摸他们的设备来进行确认。 言语响应应根据上下文和足够简洁(包括提供有限的选项子集),为用户提供适量的信息,以便他们继续与设备进行盲目交互。

Siri的强大功能来自用户,他们可以将iPhone放在口袋里,并可以使用耳机与语音助手互动,从整个房间向其HomePods发出新提醒,或者在驾驶启用了CarKit的功能时收听消息汽车。 与启用了SiriKit的应用程序进行交互仅需要次要关注和关注,而无需主要接触或视觉确认。

但是,例外情况是,意图在满足请求之前需要额外的安全性和身份验证层。

需要某些意图的身份验证

在使用前,确定确实需要特定身份验证和授权的意图很重要。 如果用户问“天气如何”,则不需要身份验证。 但是,如果用户要求“用Venmo向Jane支付20美元”,显然您应该要求用户首先进行身份验证。

通过要求您在应用程序的info.plist中明确指定在锁定时受限制的意图,SiriKit可管理意图限制,用户在设备锁定时需要通过FaceID,TouchID或密码进行身份验证:


预期和处理错误

正如前面所讨论的,除了使用语音提示来处理歧义消除之外,您还需要确保预期并处理尽可能多的错误情况。

例如,当用户尝试向另一位参与者汇款时,该参与者没有必需的电子邮件地址或具有多个号码,则需要处理该电子邮件地址。 SiriKit提供了INIntentResolutionResult类,该类使您可以为要解析的适当数据类型设置分辨率:

func resolveContent(forSendMessage intent: INSendMessageIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
        let result: INStringResolutionResult
        if let text = intent.content, !text.isEmpty {
            result = .success(with: text)
        } else {
            result = .needsValue()
        }
        
        completion(result)
    }

Apple建议您尝试从用户行为中推断历史信息,以减少工作流程中的交互步骤。 看一下INIntentError文档,该文档提供了一组您可以处理的可能的错误,例如interactionOperationNotSupportedrequestTimedOut

添加自定义词汇

SiriKit支持通过使用plist文件AppIntentVocabulary.plist添加自定义词汇表,以帮助改善应用程序的会话用户体验。 您可以将其用于入职用户以及包括您的应用程序可以识别的特定术语。

向用户提供示例命令可通过引导用户了解应用程序的功能来帮助入门。 如果您问Siri:“您能做什么?” 它不仅会提示您可能的内置功能,还会提示您使用第三方应用程序。 为了向全球用户推广您的应用程序的功能,请在AppIntentVocabulary.plist文件中包含意图示例:


您还可以通过为Siri提供一系列词汇来帮助Siri理解和识别仅针对您的应用的术语。 这些词适用于您的应用程序的任何用户(例如,如果您有应用程序使用的特定消息术语),但是如果您需要提供用户特定的术语,请利用INVocabulary 。 在plist内,为自定义全局术语添加ParameterVocabularies键,并将每个术语与特定的对应intent属性对象相关联(每个术语可能具有多个intent)。

请查阅Apple有关使用SiriKit注册自定义词汇的文档,以了解如何创建用户特定的术语。

测试启用了SiriKit的应用

最后,从Xcode 9开始,您可以通过新的XCUIDevice子类XCUISiriService触发Siri,从而使用模拟器方便地测试Siri。 利用此功能测试您的所有意图阶段,自定义词汇表,甚至是应用程序同义词,并确保您设计的用户体验能够按预期工作。

就本教程而言,请克隆教程项目存储库 ,在Xcode中打开该项目,然后运行它以确保它在您的环境中可以正常工作。 在模拟器运行的情况下,通过转到设置启用S​​iri。 就像在物理设备上一样,在模拟器上召唤Siri,然后说“向简发送消息”。

接下来,在Xcode中,打开名为MessagingIntentsUITests.swift的文件,您会注意到单个测试用例方法:

使用Xcode和Simulator测试SiriKit

您可以添加要测试的意图。 最后,继续运行此测试用例,您将观察到模拟器触发Siri并说出预期的命令。 请记住,这不能替代实际的人工测试以及处理不同的重音和背景噪音,但是它仍然是自动化工作流程的一部分,仍然很有用。

结论

从视觉UX设计出发,为语音交互设计用户体验是一个全新的世界。 开拓这一新领域的设计师和开发人员仍在探索最佳实践和技术。

这篇文章为您提供了有关使用SiriKit在iOS上进行会话设计UX的最新最佳实践的概述。 您已经了解了设计语音界面的一些关键原则,以及与开发人员使用SiriKit进行交互的一些方式。 我希望这能启发您在下一个应用中尝试语音界面!

翻译自: https://code.tutsplus.com/tutorials/conversation-design-user-experiences-for-sirikit-and-ios--cms-30687

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值