大多数浏览器和
Developer App 均支持流媒体播放。
-
智能化设计 与系统交朋友
智能系统构建模块很简洁:定义,学习,执行。了解如何使用意图来定义 app 的关键功能,创建捐赠来帮助系统学习并预测未来,以及实现可扩展性以确保您的 app 准备好在恰当的时候执行。向 Apple 团队学习他们是如何从不同的方面运用意图和捐赠的,一切都是为了一个相同的目标:让日常生活更加简单。
资源
相关视频
WWDC20
-
下载
(你好 WWDC 2020) 你好 欢迎来到 WWDC
(智能化设计 与系统交朋友) 大家好 我是 Sofiane 我在 Apple 的主动智能团队工作 今天我想跟大家谈谈 你的 app 如何与系统交朋友 正如 Radhika 在上一个短片中展示的 在人们使用 app 及安装了 app 的设备 的过程中的每一步 系统智能都可以为人们提供帮助
作为开发者 你与系统的整合做得越好 人们使用你的 app 越多 我们就能为他们提供更多的帮助 但如何做好与系统的整合呢?
我将通过探讨我们所有智能技术中 共享的几个关键概念来解释说明 之后我会请我的同事 Mert 和 Chad 谈谈他们的团队 是如何使用这些基本概念的 虽然使用的方式稍有不同 但都是为了实现同一个目标 让日常事务变得简单 然后 Mark 会回来总结一下 我们希望你下一步要做什么
那么 我们来谈谈智能系统的工作原理吧 我们都过着忙碌的生活 对于很多人来说 我们的 iOS 设备已经成为 我们完成各种工作的 重要组成部分 人们每天几十次依靠 app 来完成各种任务 包括通信、订餐 甚至是追踪饮水量 同样的 我们的目标是让这些日常的互动 尽可能的顺畅和无障碍 这样你就可以有时间来专注于你的生活 而要做到这一点 系统和你的 app 需要密切合作 而我所说的合作 其实是指我们需要说同一种语言 为了这个共同语言 我们建立了 Intents 框架 有三个关键概念你应该知道 它们就是定义、学习和执行 理解它们将帮助你加快用户 在你的 app 关键路径上的速度 并随着时间的推移适应他们的使用偏好 先说说我们说的“定义”是什么意思 归根结底 作为开发者和设计师 你只需要问自己 人们希望通过你的 app 进行什么重要操作? 目标很简单 就是确定 人们想要完成的关键和可重复的事情 究竟是什么 你可以用我们所说的“intents” 来定义这些动作 Intents 代表“什么” 人们在你的 app 中做什么? 问自己:“这些任务是什么? 以及执行这些任务 所需的相关属性都有哪些?”
例如 追踪你的饮水量是什么意思? 或者查看新闻涉及到哪些因素? 或者点咖啡是什么意思? 不如我们来仔细看看这个例子
所以 要点咖啡 你知道你需要 一个代表这个动作的 intent 当然 人们喜欢的咖啡 制作方式也不尽相同 显然 咖啡多种多样 也许饮料的大小也很重要 这样的细节就是动作的属性 也就是 intent 的参数
Intents 框架让你可以灵活地 定义你的 intent 及其参数 使你可以轻松地 将某人执行的动作的全部相关信息 打包到你的 app 中
这里我们要创建一个“点咖啡”的 intent 并定义它的两个参数 分别代表咖啡的类型和大小 在定义了这些参数后 我们可以设置这些值 来代表用户实际点的内容 这里是大杯冰拿铁 所以 综上所述 你所定义的 intent 是一个关键的构件 它使你的 app 和系统能够说同一种语言 现在 智能系统体验中的一个关键部分 就是学习人们做事的方式 以便预测今后他们会如何再做相同的事 但我们该如何学习呢? 只需要有人使用你的 app 当人们使用你的 app 来执行对他们来说很重要的任务时 作为开发者 你只要做一件叫做“捐赠”的事 这些捐赠提供了系统可以用来学习的信号 使用设备端智能技术就能实现这一点 最终 我们将发现 能帮我们做出预测的模式 就像我们在锁屏上浮现的 Siri 建议
而当有人使用锁屏建议时 不仅他们节省了时间 而且我们可以知道自己做得很好 这种积极的信号 有助于我们在未来做出更好的预测 那么 让我们深入了解一下捐赠这个概念 捐赠帮助我们回答了一些问题 比如我什么时候点咖啡? 或者通常在哪里点咖啡? 但时间和地点只是我们用来理解 更重要的东西的几个信号 也就是背景 就像 JP 之前说的 我们要让你觉得自己有超能力 当我们将你想要完成的任务 与合适的时机相匹配时 我们就能做到这一点 现在 捐赠只是一个 真正被执行的 intent 的记录 是一个即时快照
也许今天 你的 app 捐赠你的大拿铁订单 因为这正是 你开始新的一天时最想喝的东西 而再晚一些 你就会点更清爽的东西 比如柠檬水
但第二天 你又以一杯大杯拿铁开启你的早晨 而随着人们继续使用你的 app 这些信号会随着时间逐步累积 虽然可能会有变化 但模式出现了 系统可以加以学习 一旦我们了解了这些模式 我们就会进行预测 我们努力根据你的情况匹配合适的任务 我们了解得越多就做得越好 再次重申 隐私是我们工作的核心 你捐赠的信息永远不会离开设备 系统在本地使用你捐赠的信息 以提供卓越的个性化智能体验 在你的设备上发生的事情 会一直留在你的设备上 所以 我们不断回到这一点上 智能系统应该为你节省时间 但只有当我们大幅减少 完成某件事情会出现的障碍时 它才能做到这一点
要做到这一点 一个关键方法就是 加速人们完成他们想要完成的事情
所以 作为一个开发者 即使在你的 app 没有运行的时候 你也要准备好执行一个动作
当我们进行预测时 我们可能 会根据从你的 app 捐赠中收集到的信息 重新构建一个 intent
当我们的预测是正确的 并且有人对它有所动作时 我们会将潜在的 intent 传回给你 这样你就可以在你的 app 中执行它 现在 你的目标是执行这个行动 你有两种方法可以做到这一点 在可能的情况下 你应该在后台执行操作 如果你支持后台执行 那么动作就会当即执行 用户不必在 app 之间切换 你甚至可以在这个流程中 显示你漂亮的 app 用户界面 在这里 我们展示的是一个对话 让用户在下单前确认自己的订单
另外 我们也可以启动你的 app 在这里 你应该执行动作 把用户带到你的 app 的相关部分 在此情况下 那就是我们的订单确认界面 这些都是你应该了解的一些重要概念 这样你的 app 就可以充分利用 我们的智能系统体验 接下来要更详细地分享 Apple 团队 是如何使用 intents 和捐赠的 我将请我的同事 Mert 跟大家谈谈快捷指令 Mert? 谢谢你 Sofiane
为了说明我们如何使用 intents 和捐赠 我将使用一个可能你们当中一些人 熟悉的例子叫做“汤厨”的 app 自推出以来 我们一直将其作为快捷指令的示例 这是一个让我使用“汤”的 真正复数的好办法 那就是“多种汤品” 这个 app 很基础 你可以启动它 看看今天的汤品 然后下单购买其中一款
但我们先退一步说 使用汤厨 app 可以做什么?
你可以点一个提供的汤品 查看汤品订单的剩余配送时间 或获取你的订单历史 但是 app 究竟是如何将这些功能 展现在人们面前的呢?
所有这些东西 这些功能 都包含在 app 本身
所以 建立在 Sofiane 所说的基础上 这意味着我必须 停止我当时正在做的任何事情 来解锁我的设备 找到 app 图标 并在该 app 的用户界面中 进行一些层级的操作 所有这一切都只是为了得到汤 我的意思是 比方说我在开车 我真的很想喝汤 确实发生过这种情况 我不应该伸手去拿手机 启动一个 app 并在层叠的表视图里找半天 是的 我会在稍后停下的时候再喝汤
对于这种情况 我们有 Siri 在车上我们有 CarPlay 车载 在家里我们有 HomePod 或者当你在路上的时候 甚至可以用 AirPods 总有某种设备可以回应“嘿 Siri” 所以 回到 app 用户的角色中来 这就是为什么我们常说“快捷指令” 如何加速日常工作的原因
用我的声音让 Siri 点汤大体比较方便 因为它让我已经做的这件事变得更容易 而对于一个想方设法让自己的日常工作 变得更轻松的人来说 设置一个快捷指令 养成使用语音的习惯是非常值得的 所以 不管你的 app 有什么特点 那个最厉害的功能 甚至可能在不同的人之间都不一样 那就是你应该显露的快捷指令 而且也不需要局限于单一的快捷指令 在下单购买美味的汤品后 我可能会想用 Siri 来查询我的美味汤品送到的时间 那么 怎么实现这一点呢? 正如 Sofiane 所描述的那样 就是 intents 对于一般类别的动作 如发送消息 你可以采用系统定义的 intents 对于描述你的 app 所特有的 任何其他动作 如点汤 你可以在 Xcode 中定义 完全自定义的 intents 当你说:“嘿 Siri 点汤”时 Siri 就会运行你的“点汤” intent
而当你说:“嘿 Siri 查看送货”时 Siri 会运行你的 “查看送货时间”的 intent
想了解更多关于理解 intents 的信息 请务必查看 Human Interface Guidelines 对于工程师和设计师来说 这是一个很好的资源 对于你的用户来说 将自定义 intents 作为快捷指令加入 Siri 就只需要简单地轻点 “添加到 Siri”按钮
而 Sofiane 之前说的描述正在做的 某件事的重要方面的参数 甚至就出现在“添加到 Siri”的流程中
这是因为你在设置的时候其实就可以改变 这个快捷指令的工作方式 比方说 我并不是每次都想喝番茄汤
我可以改成蛤蜊汤
或者 如果我心血来潮
我干脆就留空
而每次用语音点餐时 Siri 都会问我想喝什么汤 所以 一旦我的快捷指令 被添加到 Siri 中 现在这个流程可以 在不需要打开 app 的情况下发生 只要问 Siri
喝汤时间到了
我发现你附近有两家餐厅 你想在哪一家点汤? 因为语音是快速访问 你的 app 的特定功能的强大方式 所以在人们已经使用的流程中 提供“添加到 Siri”这个设置流程 是很重要的
你们当中的很多开发者 在你们的设置视图中 提供“添加到 Siri”流程方面表现出色 但我们都知道引起别人注意的最佳情境 就是当他们专注于 用你的 app 做某件事情的时候 当然 设置快捷指令 绝对不能打断这个流程 我们并不是要求你 在弹出式窗口中注册电子邮件通讯 但在别的什么地方 如订单确认视图上出现 可以帮助人们充分利用你的 app 当然 还有快捷指令 app 它内置于 iOS、iPadOS 和现在的 watchOS 中
这是另一个受欢迎的地方 人们可以为你的 intents 设置快捷指令 也可以将它们 与其他 app 的其他 intents 串联起来 做一些很强大的事情 甚至是自动操作
在快捷指令 app 里 Intents 可以从其他 app 里获取信息 反之也能把信息回传给其他 app 而使用你的 app 的人 只要在快捷指令 app 中拖放 就可以设置这类多步骤的快捷指令 而有了它 你只需轻点一下 就可以在多个 app 中做多件事情
这可能是一个有些可笑的例子 但它会很好地说明我的观点 所以我们就用它来讲解
这里 我把我在汤厨的“订购历史” intent 放在一个快捷方式中 这个 intent 会返回过去七周内 我每周的订单列表
在它的下面 我有一个来自 App Store 的 完整功能 intent 的好例子 来自图表 app Charty 的 “新图表系列” intent
这个动作消化了汤厨动作的输出 也就是我每周订购的汤的数量 并把它们传给 Charty 做图 现在 当我点“运行”的时候 我就会得到一张我喝汤的习惯图
看看这张漂亮的图表 哇 好多汤啊 同样的 这个例子可能并不完全适用于你 但 intents 和它们所提供的快捷指令 是非常灵活的 与其创建一个你喝汤的数据可视图 是的 你喝汤 你可以问Ari 他管理快捷指令团队 你可以很容易地获得一个 app 记录你的水摄入量 并使用 Charty 将其可视化 或者几乎任何其他你能想象的东西 另外 正如 Sofiane 所讨论的那样 我们这个系统也可以利用捐赠 来学习和预测未来的行为 汤厨在你使用该 app 时 捐赠它的 intents 过了一段时间 如果 iOS 注意到 你周四下班时点了汤 我们可以在查询中直接显示其预测
甚至是作为一个自动化的建议 在快捷指令中出现 回家时自动点汤 这就是 Siri 和快捷指令中的 intents 现在我们r请 Chad 来谈谈系统智能 如何与 iOS 14 中 的全新小组件合作 Chad? 谢谢你 Mert 嗨 我是 Chad 我在主动智能团队工作 今天 我要讲的是 iOS 14 中的新小组件 以及系统的智能化如何提升用户体验
这可能听起来再明显不过了 但 app 之所以如此卓越 部分原因是它们为人们提供了及时的信息 例如 当我想 为我在纽约的家人查询天气时 只需要点击 app 图标 虽然我可能需要滚动列表来寻找城市
或者我可以打开音乐找一些曲子 让我看看 来点爵士乐怎么样? 这听起来不错
或者 如果我想看看我的重要任务清单 我可以打开提醒事项 app 然后仔细看清单
就像在这些例子中 有一些信息是如此重要 你会反复地去查看它们 而这正是我们想通过 新改进的小组件来解决的问题
小组件让你在你的主屏幕上 轻松地看到 深藏在一个 app 的用户界面中的信息 让人一目了然 最好的小组件也是及时的、相关的
正如你所期望的那样 点击小组件 会让你直接进入 app 中的那个确切位置
现在 小组件由 intents 支持 Intents 允许人们 配置他们希望在小组件中显示的 确切数据类型 它可以实现更多的个性化 Intent 是小组件的种类
对于天气 “显示天气”intent 允许你选择一个特定的地点 因为地点在 intent 中被定义为一个参数
现在我们来谈谈另一个新功能 就是叠放
正如你看到的 将多个小组件拖放到其他组件的上面 就能轻松创建一个叠放堆
但我们希望确保最上面的小组件 是及时和相关的 可以共同使用 intents 和捐赠做到这点
而真正酷的是 我们利用捐赠 来轮换叠放堆最上面的小组件 所以 假设我每天 在同一时间查看纽约的天气 系统就会了解到这一点 然后神奇地自动为我翻转
正如 Sofiane 前面提到的 捐赠有助于我们 了解人们如何使用你的 app 而正如 Mert 所提到的那样 这可能会推动 锁屏或查询中的快捷指令建议等
同样地 人们使用你的主要 app 的方式 也是驱动这种自动化体验的原因
所以 我们不仅让你 更容易看到相关的信息 如果是你每天都要找的信息 我们就省去了在手机上的滑动 让你更加一目了然 这是典型的“惊喜和快乐” 如果我们的工作做得好 用户可能根本不知道 我们正在背后做这些 智能计算的工作 他们会看到他们想要的信息就在那里 然后继续忙他们自己的事 使用者越不需要费力气 我们就越成功 新的小组件和叠放就介绍到这里了 现在 Sofiane 要来谈谈 Siri 活动建议 谢谢你 Chad 还有许多其他的技术领域 也是建立在同样的概念上 有了Siri 活动建议 我们的目标是 让你的预订与系统的整合变得非常简单 并使人们能够在此过程中受益良多 这个功能也是由 intents 框架支持的 当用户查看预订时 你的 app 应该将 该预订的详细信息捐赠给系统
而且我们知道你通过很多渠道与客户互动 比如你的网站甚至是电子邮件 所以在 iOS 14 和 macOS Big Sur 中 我们正在引入新的方法 通过使用 Web 标记与 Mail 和 Safari 浏览器整合 这些只是利用这三个概念的一些技术 定义、学习和执行 通过与系统交朋友 你可以想用户所想 让人们比以往更容易完成要做的事 现在我们再听听 Mark 谈谈下一步的工作 谢谢你 Sofiane 我们已经敲定了几个关键的想法 我们所追求的智能体验 应该让人们的日常生活变得更简单 它应该能帮助你 从你的设备和 app 中获得更多价值
最重要的是有效地利用时间 而不是把时间花在各种动作上 哪怕是滑动到主页 或者是点击一个 app 图标 或者查看某个细节视图 我们希望你能完全体验自己的生活 完全掌控它 而不是过度地绑在设备上
我们的 app 和我们的设备 让人感觉很神奇 不是当它们强迫你与它们互动时 而是当它们提升了 你在现实世界中的所做的事
但我们自己是做不到的 只有当它的每一个组成部分 都能和谐地工作 说着同样的语言 帮助人们解决他们根本不知道存在的问题 才能成为一个智能系统
JP 说得很好 我们要让人们感觉到自己好像有了超能力 而作为开发者和设计者 你有机会 把这些给使用你的 app 的人 所以为什么不去做呢? 你可以找到其他视频的资源链接 包括如何实施你在这里看到的技术 无论你选择哪一种 只要记住把你的关键功能定义为 intent 捐赠给系统以形成建议 设计一个好的语音体验让人们使用 但最重要的是 专注于如何增加价值 确保人们的时间得到很好地利用 感谢观看 我希望你享受剩下的 WWDC
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。