来源:@微软中国MSDN,源地址:http://weibo.com/p/1001603898586285925224

使用语音命令,延伸 Cortana 与您的应用程序所提供的功能。启动应用程序,启动您的应用程序并执行命令,或如这里所讨论,将您的应用程序功能直接并入Cortana  UI。

语音命令定义在语音命令定义 (VCD) 档中,它是一种具有特定用途的单次语言表达,会透过 Cortana 导向已安装的应用程序。 (VCD 档案是一个XML 档案,定义一个或多个语音命令,每个命令都有特定的用途。)

VCD 中的每个语音命令定义可以有不同的复杂度,且可以支持任何从单一、限制的语句,到更具弹性、自然的语言表达集合,而全部表示同样、特定的用途。

目标应用程序可以在前景 (应用程序取得焦点) 或背景启动 (Cortana 保持焦点但提供来自应用程序的结果) ,这根据互动的复杂性而定。例如,需要额外内容或用户输入的语音命令 (例如传送讯息给特定的联系人) 最好在前景应用程序处理,而基本命令则可由 Cortana 透过背景应用程序处理。

整合应用程序的基本功能,并提供一个中心进入点,让用户不需要开启应用程序就能完成大部分的工作,让 Cortana 成为您的应用程序与用户之间的桥梁。在多数情况下,这可以为使用者节省很多时间和精力。

经过亲切体贴地设计和实作,语音可以成为用户与您的应用程序互动之可靠又有趣的方式,可补充或甚至取代键盘、鼠标、触控和手势。

Cortana 互动设计

这些指导方针与建议会说明您的应用程序如何充分利用 Cortana 与使用者互动,以协助他们完成工作,并清楚传达发生的过程。

Cortana 可让应用程序在背景执行,并提示使用者进行确认或去除混淆,然后根据语音命令的状态提供用户回馈。过程轻量且快速,而且不会强迫使用者离开 Cortana 体验或切换内容到应用程序。

虽然使用者应该感觉是 Cortana 协助让过程变得尽可能轻松,但您可能希望 Cortana 也指明是您的应用程序完成了工作。

我们使用已整合到 Cortana  UI,名为 Adventure Works 的旅行计划及管理应用程序 (如下所示),示范我们讨论过的多种概念和功能。

对话式写入

成功的 Cortana 互动需要您在制作文字到语音转换 (TTS) 和GUI 字符串时遵循一些基础原则。

依人们说话的方式撰写。不要在自然语调上过度地强调文法准确性。举例来说,我们听来顺耳的口语简写,如 "想要" 或 "要去",对于文字到语音转换 (TTS) 念出是可以接受的。

请尽可能且自然地使用隐含的第一人称时态。例如,"正在寻找您的下一个 Adventure Works 行程" 表示某人正在进行寻找,但并未使用 "我" 这个字来说明。

使用一些变化让您的应用程序听起来更加自然。提供 TTS 与图形用户界面 (GUI) 不同版本的字符串,以更有效地来说出同样的事情。例如,"您想要看什么电影?" 可以替换成像是 "您想要观赏哪部电影?"。人们在说同样的事情时,不会每次都是完全相同的方式。只要确定您的 TTS 和 GUI 版本保持同步。

在您的响应中谨慎使用 "确定" 和 "正确" 这类的词组。虽然它们可以提供通知和进度上的感受,但频繁使用且没有变化会变成重复的感受。

注意 只在 TTS 中使用通知词组。 因为 Cortana 画布上的空间有限,请不要在对应的 GUI字符串中重复它们。

在您的响应中使用缩写,让互动更自然且节省 Cortana 画布上的空间。例如,"我找不到该电影" 而不是"我没有办法找到该电影"。写给耳朵,而不是眼睛。

使用系统了解的语言。使用者通常会重复要表达的字汇。 了解您的显示项目。

在您的响应中透过从集合内或替代性的响应,轮流或随机选取来产生变化。例如,"您想要看什么电影?" 和 "您想要观赏哪部电影?"。这样能让您的应用程序听起来更自然且独特。

本地化

若要使用语音命令启动动作,您的应用程序必须在用户于装置上选取的语言中登录语音命令(Settings > System > Speech> Speech Language)。

您应该本地化应用程序响应的语音命令,以及所有 TTS 和 GUI 字符串。

您应该避免冗长的 GUI 字符串。 Cortana 画布提供三行的响应,并会截断超过的字符串。

影像资源和缩放

通用 Windows 平台 (UWP) app 可以根据特定的设定和装置功能,自动选取最适当的应用程序标志影像 (高对比度、有效像素及地区设定等)。您需要的就是提供影像,并确保您在应用程序项目内为不同的资源版本使用适当的命名惯例和文件夹组织。如果您未提供建议的资源版本,则视使用者的喜好设定、能力、装置类型及位置而定,辅助功能、本地化及影像质量可能会有问题。

您要使用限定符命名资源。资源限定符是文件夹和文件名的修饰词,用来识别内容中应该使用的特定资源版本。

标准命名惯例是"foldername/qualifiername-value[_qualifiername-value]/filename.qualifiername-value[_qualifiername-value].ext"。

例如:images/en-US/logo.scale-100_contrast-white.png只是指在程序代码中使用的根文件夹和文件名: images/logo.png。

即使您目前不打算提供本地化或多种分辨率资源,仍建议您在字符串资源文件上标示默认语言 (如"en-US\resources.resw"),并在影像上标示默认缩放比例 (如"logo.scale-100.png")。不过,您应该提供 100、200及 400 的缩放比例的资产。

重要 Cortana 内容砖有效的图示大小为:

  • 68w x 68h
  • 68w x 92h
  • 280w x 140h

示例

这个范例示范在 Cortana 中背景应用程序的端对端工作流程。我们使用 AdventureWorks 应用程序来取消到拉斯韦加斯的行程。

以下透过影像叙述步骤:

  1. 用户点选麦克风以起始 Cortana
  2. 使用者说出 "取消我的 Adventure Works 拉斯韦加斯行程",以在背景中启动 Adventure Works 应用程序。应用程序同时使用 Cortana 语音和画布两者与用户互动。
  3. Cortana 转换到递交画面,给予使用者通知回馈 ("我会取得 Adventure Works。")、一个状态栏,与 [取消] 按钮。
  4. 在这个范例中,用户有许多行程符合查询,因此应用程序提供去除混淆画面列出所有符合的结果,并询问「您想要取消哪一个?」
  5. 用户指定 "拉斯韦加斯科技会议" 项目。
  6. 由于取消无法复原,应用程序提供确认画面,询问使用者确认意图。
  7. 使用者说:"是"。
  8. 应用程序提供完成画面显示操作结果。

我们将研究这些步骤的详细资料如下。

提交

寻找行程,没有提交画面

包含递交画面的取消行程

应用程序在工作响应上花费小于 500 毫秒,不需要其他的用户信息与 Cortana 的进一步参与即可完成 (除了显示完成画面)。

如果应用程序需要 500 毫秒以上才能响应,Cortana 提供递交画面。应用程序图标与名称将会显示,且您必须同时提供 GUI 与 TTS 递交字符串,以指出语音命令已经正确地了解。递交画面最多显示 5 秒;如果您的应用程序没有在这段时间内响应,Cortana 会显示一般错误画面。

提交画面的 GUI 与 TTS 指导方针

清楚地指出工作正在进行。

使用现在式时态。

使用动作动词,确认哪些工作正在初始化以及参照的指定实体。

使用一般动词命令并非认可被请求的、尚未完成的动作。举例来说,使用 "正在寻找您的行程" 代替 "正在取消您的行程"。在这个范例中,如果没有结果回传,使用者不会听到如 "正在取消您的拉斯韦加斯的行程…找不到前往拉斯韦加斯的行程"。

假如应用程序仍须解析请求的实体,请务必清楚描述工作尚未开始。例如请注意我们说「正在寻找您的行程」而不是「正在取消您的行程」,因为可能没有符合的行程,或是有多个符合的行程,而我们还不清楚结果如何。

GUI 与 TTS 字符串可以相同,但并非必要。尝试让 GUI 字符串保持简短,避免截断以及与其他视觉资产重复。

进度

包含进度画面的取消行程

当工作在步骤间要花费一点时间时,应用程序必须在进度画面上介入并更新信息,告知用户正在发生的事情。应用程序图标将会显示,且您必须同时提供 GUI 与 TTS 进度字符串,以指出工作正在进行。

您应该提供一个包含启动参数的链接到您的应用程序,以在适当的状态下启动应用程序。这可让使用者检视或完成工作本身。Cortana 提供链接文字 (例如"移至 Adventure Works")。

进度画面会分别显示 5 秒钟,之后必须紧接着另一个画面,否则工作将会逾时。

这些画面可以接在进度画面之后:

  • 进度
  • 确认 (明确,稍后说明)
  • 去除混淆
  • 完成
进度画面的 GUI 与 TTS 指导方针

使用现在式时态。

使用动作动词命令,以确认工作正在进行。

GUI:如果有显示实体,使用它的参照 ("正在取消这个行程...");如果没有显示实体,明确地呼叫实体 ("正在取消「拉斯韦加斯科技会议」")。

TTS:在第一个进度画面,应只包括一个 TTS 字符串。如果需要进一步的进度画面,传送一个空字符串 ({}) 作为您的 TTS 字符串,并只提供一个 GUI 字符串。

确认

包含确认画面的取消行程

有些工作可由使用者命令的性质隐含确认;其他可能更具敏感性的则需要明确确认。下列是何时使用明确确认与隐含确认的指导方针。

在确认画面上的 GUI 与 TTS 字符串,是由您的应用程序指定 (如果有提供应用程序图标,就会取代 Cortana 虚拟人偶的显示)。

客户响应确认之后,您的应用程序必须在 500 毫秒内提供下一个画面,避免进入进度画面。

使用明确确认当...

  • 内容正离开用户 (例如传送文字讯息、电子邮件,或社交文章等等)
  • 无法复原的动作 (例如购买或删除项目等等)
  • 结果可能是令人尴尬的 (例如拨号给错误的人)
  • 要求比较复杂的辨识 (例如开放端点的转译)

使用隐含确认当...

  • 只储存给使用者的内容 (例如给自己的笔记)
  • 没有简单的方式往返 (例如开启或关闭闹钟)
  • 工作必须要快速 (例如要快速地撷取想法,以免之后忘记)
  • 准确度很高 (例如简单的菜单)
确认画面的 GUI 与 TTS 指导方针

使用现在式时态。

使用明确的、可用 "是" 或 "否" 回答的问题询问使用者。问题应明确地确认使用者正要进行的动作,并且不应该有其他不明确的选项。

针对重新提示给予问题的变化,以防在第一次的语音命令没有被了解。

GUI:如果有显示实体,使用它作为参照。如果没有显示实体,明确地呼叫实体。

TTS:为了清晰起见,一律参照特定的项目或实体,除非它在先前的切换由系统读出。

去除混淆

取消行程 (包含去除混淆画面)

有些工作可能需要用户从列表选取实体以完成工作。

在去除混淆画面上的 GUI 与 TTS 字符串两者,是由您的应用程序指定 (如果有提供应用程序图标,就会取代 Cortana 虚拟人偶的显示)。

客户响应去除混淆问题之后,您的应用程序必须在 500 毫秒内提供下一个画面,避免进入进度画面。

去除混淆画面的 GUI 与 TTS 指导方针

使用现在式时态。

询问使用者可回答的明确问题 (含有标题或任何实体显示的文字行)。

最多 10 个实体可以显示。

每个实体都应该有唯一的标题。

针对重新提示给予问题的变化,以防在第一次的语音命令没有被了解。

TTS:为了清晰起见,一律参照特定的项目或实体,除非它在先前的切换被说出。

TTS:请不要读出实体列表,除非它们少于三个且很简短。

完成

包含完成画面的取消行程

当工作成功完成,应用程序应通知用户请求的工作已经成功完成。

在完成画面上的 GUI 与 TTS 字符串两者,是由您的应用程序指定 (如果有提供应用程序图标,就会取代 Cortana 虚拟人偶的显示)。

您应该提供一个包含启动参数的链接到您的应用程序,以在适当的状态下启动应用程序。这可让使用者检视或完成工作本身。Cortana 提供链接文字 (例如"移至 Adventure Works")。

完成画面的 GUI 与 TTS 指导方针

使用过去式时态。

使用动作动词明确地声明工作已完成。

如果有显示实体,或它在先前的切换已经有参照,那么只参照到它。

错误

取消行程 (包含错误画面)

当下列其中一个错误发生时,Cortana 会显示相同的一般错误讯息。

  • 应用程序服务意外地终止。
  • Cortana 与应用程序服务通讯失败。
  • Cortana 显示递交画面或进度画面 5 秒后,应用程序无法提供画面。

希望对大家有帮助哦~~

[转载]Cortana 设计指导方针的更多相关文章

  1. iOS 人机交互指导方针(iOS Human Interface Guidelines)

    iOS 人机交互指导方针(iOS Human Interface Guidelines) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名 ...

  2. 用于COB工艺的PCB设计指导

    绑定角度尽量在45°之内,多于这个角度,绑定时候,银线不好打入焊盘.而且打入焊盘的尾部可能短路到相邻的焊盘,绑定焊盘之间的间距一般在4MIL为极限,半场的工艺一般就这样了.而且焊盘离被绑定的IC引脚最 ...

  3. iOS开发——app审核指导方针(官网)

    iOS 开发后上传到App Store审核的指导方针 ——苹果官网介绍地址 https://developer.apple.com/app-store/review/guidelines/

  4. REST API设计指导——译自Microsoft REST API Guidelines(四)

    前言 前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本.那么什么是好的API设计?这里我们不得不提到REST API. 关于REST API的书籍很多,但是完整 ...

  5. REST API设计指导——译自Microsoft REST API Guidelines(三)

    前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本.那么什么是好的API设计?这里我们不得不提到REST API. 关于REST API的书籍很多,但是完整完善实 ...

  6. REST API设计指导——译自Microsoft REST API Guidelines(二)

    由于文章内容较长,只能拆开发布.翻译的不对之处,请多多指教. 另外:最近团队在做一些技术何架构的研究,视频教程只能争取周末多录制一点,同时预计在下周我们会展开一次直播活动,内容围绕容器技术这块. 所有 ...

  7. REST API设计指导——译自Microsoft REST API Guidelines(一)

    前言 前面我们说了,有章可循,有据可依,有正确的产品流程和规范,我们的工作才不至于产生混乱,团队的工作才能更有成效.我们经常见到,程序开发可能只用了半个月,但是接口的联调却经常需要花费半个月甚至一个月 ...

  8. Air530Z GPS/北斗定位模块_设计指导手册_V1.2

    下载PDF版本: Air530Z_定位模块_设计指导手册_V1.2.pdf @ 目录 1. 模块整体说明 2. 资料下载 3. 模块性能 4.模块管脚图 5.参考设计电路 6.GPS天线 6.1 无源 ...

  9. Web可用性设计的247条指导方针

    首页可用性设计 首页元素要清晰的关注用户的关键任务(避免“增加功能倾向(featuritis)”) 如果网站比较大,那么首页应包含搜索输入框 首页要十分清楚的提供产品(内容)分类 在首页或首页内一次点 ...

随机推荐

  1. 使用dd命令制作U盘启动盘wodim刻录光盘cd dvd

    首先格式化U盘:使用fdisk -l 查看U盘到挂载点,如我的为/dev/sdb1.卸载U盘,执行格式化命令:mkfs.vfat /dev/sdb1 然后重新挂载U盘,开始制作启动盘: 1.# dd  ...

  2. 找出以“b”开头的名字

    找出以“b”开头的名字:select * from pet where name like 'b%' “_”:匹配任何单个字符“%”:匹配任意数目字符(包括零字符)

  3. php函数method_exists() 与is_callable()区别

    php函数method_exists()与is_callable()的区别在哪?在php面相对象设计过程中,往往我们需要在调用某一个方法是否属于某一个类的时候做出判断,常用的方法有method_exi ...

  4. Fix: Windows Script Host access is disabled on this machine

    If you receive this Windows Script Host access is disabled on this machine, Contact your administrat ...

  5. Ubuntu x86-64汇编(2)

    开发工具链 汇编编译器: yasm连接器: ld载入工具: os自带Debug工具:  ddd yasm安装 .tar.gz cd yasm-/ ./configure --prefix=/opt/y ...

  6. 转:3d max 2013 安装教程,凭着一种互联网精神提供给广大朋友

    看到有人在ps区咨询如何安装3d max教程,当你进行第一步之前,请先断开网络连接第一步:运行安装程序 第二步:接受安装协议,点击下一步会提示输入序列号 第三步:你会看到已经安装完成了的界面 第四部: ...

  7. chrome配置文件校验初始化隐含參数的逆向

     这篇文章接上一篇文章进一步升华:花了4个小时获得该信息的计算方式 比方在 chrome文件夹下的\Chrome\User Data\Default文件夹下的Secure Preferences,须要 ...

  8. 【onethink搬家】win环境移植linux环境,注意事项

    onethink 搬家注意事项: 修改目录/文件归属和权限,Runtime目录要有可写权限. 若数据库有变动,则需要更改数据库连接参数.在Application/Common/Conf/config. ...

  9. Linux-使用 yum 升级 gcc 到 4.8

    wget http://people.centos.org/tru/devtools-2/devtools-2.repo mv devtools-2.repo /etc/yum.repos.d yum ...

  10. (原)CosFace/AM-Softmax及其mxnet代码

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/8525241.html 论文: CosFace: Large Margin Cosine Loss fo ...