WWDC Quick Look 💓 By SwiftGGTeam
Design for intelligence: Make friends with "The System"

Design for intelligence: Make friends with "The System"

观看原视频

Highlight

Apple 将系统智能的协作模型拆成 define、learn、execute 三步:开发者用 Intents 定义关键动作,通过 donation 让设备本地学习使用模式,再让 Siri、Shortcuts、Widgets 和事件建议在合适时机执行这些动作。

核心内容

很多 App 的核心功能并不复杂,麻烦出在入口。用户想订咖啡、看订单配送时间、查看天气城市或打开提醒事项列表时,往往要先解锁设备,找到 App,再穿过几层界面。这个流程对偶发任务还能接受,对每天重复的任务就变成了摩擦。

这场 session 的答案是让 App 和系统说同一种语言。开发者先把用户最常重复的动作定义成 intent,连同完成动作所需的参数一起描述清楚。用户在 App 内完成这些动作时,App 再把实际执行过的 intent donation 给系统。系统用设备本地智能学习这些信号,逐步判断什么任务适合在什么场景出现。

这套模型的最后一步是 execute。预测命中时,系统会把 intent 交还给 App。App 可以在后台完成动作,也可以打开到最相关的页面,还可以把确认界面放进 Siri 或 Shortcuts 的流程里。用户感受到的是原本藏在 App 里的任务变得更容易抵达。

详细内容

Define:把关键动作说清楚

01:42)Apple 把 Intents framework 称作 App 和系统之间的共同语言。intent 表达的是用户在 App 里要做什么,参数表达的是完成动作需要哪些属性。session 用 order coffee 举例:动作是订咖啡,参数可以是咖啡类型和杯型;当用户真的下单时,这些参数会变成一杯 large iced latte 这样的具体值。

关键点:

  • intent 要从用户可重复完成的任务开始设计,例如订咖啡、记录饮水、查看新闻或查询订单配送时间。
  • 参数描述动作本身需要的上下文。没有参数,系统只能知道用户想订咖啡;有了参数,系统才能知道这次订的是哪种咖啡和尺寸。
  • 自定义 intent 适合描述 App 独有动作;系统已定义的 intent 适合消息、媒体等通用类别。

Learn:用 donation 让系统学习真实行为

03:46)学习阶段依赖 donation。Apple 对 donation 的定义很具体:它是一个已经执行过的 intent 在某个时间点留下的记录。用户早晨常点 large latte,下午偶尔点 lemonade,这些信号会随使用累积,系统再用设备本地智能寻找模式。

关键点:

  • donation 应该发生在用户完成重要任务时,而不是打开页面或浏览列表时随手记录。
  • 系统会结合时间、位置和更广义的 context 来判断任务出现的时机。
  • transcript 明确强调 donated information never leaves the device,个性化预测在设备本地完成。

Execute:预测命中后直接完成动作

06:00)当系统预测用户可能要执行某个任务时,会基于过去的 donation 重建 intent。用户点了建议后,系统把底层 intent 交给 App。Apple 给出两条执行路径:优先在后台完成动作;如果必须打开 App,就直接进入相关页面。

关键点:

  • 后台执行适合无需复杂确认的任务,可以减少 App 切换。
  • 需要确认的任务可以在流程里展示 App UI,例如下单前确认订单。
  • 打开 App 时不要回到首页,应该进入和 intent 对应的确认页、详情页或执行结果页。

Shortcuts:让语音和自动化承接 App 动作

09:18)Shortcuts 部分继续使用 Soup Chef。用户可以说 “Hey Siri, order soup” 来运行 order soup intent,也可以说 “check delivery” 来运行查询配送时间的 intent。Add to Siri 流程会展示 intent 参数;如果某个参数留空,Siri 会在运行时向用户询问。

关键点:

  • Add to Siri 不应该只藏在设置页。session 建议把它放在用户刚完成任务的位置,例如订单确认页。
  • Shortcuts app 可以把一个 App 的 intent 输出交给另一个 App。Soup Chef 的 order history intent 输出过去七周的订单数量,Charty 的 new chart series intent 接收这些数据生成图表。
  • donation 还会驱动 Search 里的预测和 Shortcuts 里的 automation suggestion,例如系统发现用户周四下班时常点汤,就可以建议对应自动化。

Widgets 与事件建议:同一套模型进入更多系统入口

15:04)iOS 14 的 widgets 也由 intents 支撑。intent 让用户配置 widget 显示哪类数据,参数让用户选择具体内容。天气 widget 的 show weather intent 可以把 location 作为参数,因此用户能选择要看的城市。

关键点:

  • widget 的目标是把深藏在 App UI 里的重要信息放到 Home Screen 或 Today View。
  • Smart Stack 会利用 donation 决定哪个 widget 出现在顶部。用户每天固定时间查看纽约天气,系统就能学习这个模式并在那个时间自动把相关 widget 转上来。
  • 17:05)Siri Event Suggestions 也使用 Intents framework。用户查看 reservation 时,App 应该 donate reservation details;iOS 14 和 macOS Big Sur 还引入了通过 web markup 与 Mail、Safari 集成的新方式。

核心启发

1. 给高频任务建立 intent 清单

做什么:列出 App 里用户会反复完成的 3-5 个动作,把每个动作写成 intent 候选。

为什么值得做:session 反复强调系统智能需要 App 先定义 “what”。没有 intent,Siri、Shortcuts、widgets 和事件建议都缺少可理解的动作单位。

怎么开始:从完成路径最短、重复频率最高的任务开始,例如重新订购、记录一次数据、查看某个状态。为每个任务标出必要参数,再判断是否已有系统 intent 可以采用。

2. 只 donation 已经完成的关键动作

做什么:在用户真正完成任务的位置 donation,例如订单提交成功、饮水记录保存、reservation 详情被查看。

为什么值得做:donation 是系统学习模式的信号。低质量信号会让预测变差,高质量信号能帮助系统判断时间、地点和上下文。

怎么开始:把现有埋点按用户目标分组,删掉只能说明“看过页面”的事件,保留能说明“完成了什么”的事件。每个 donation 都要能回放成一个具体 intent。

3. 在任务完成页放置 Add to Siri 入口

做什么:把 Add to Siri 放到用户刚完成某个动作之后,而不是只放在设置页。

为什么值得做:Shortcuts 的价值来自把已熟悉的任务变快。用户刚完成订单、查询或记录时,最容易理解这个动作适不适合以后用语音或自动化触发。

怎么开始:选择一个确认页,展示对应 intent 的 Add to Siri 入口。检查参数是否足够清楚;如果某个值每次都可能变化,可以允许用户在运行 shortcut 时再填写。

4. 让 widget 配置跟 intent 参数对齐

做什么:设计 widget 时,把可配置项映射到 intent 参数,例如城市、列表、账户或关注对象。

为什么值得做:session 说明 iOS 14 widgets backed by intents。参数让 widget 从通用信息块变成用户自己的信息入口。

怎么开始:先找出 widget 里最常被切换的维度,再把它设计成可选择参数。随后用 donation 帮助 Smart Stack 判断这个 widget 什么时候最值得出现在顶部。

5. 为预测命中后的执行路径做深链接

做什么:当系统把 intent 交还给 App 时,直接完成任务或打开到相关页面。

为什么值得做:execute 阶段决定用户是否真的省时间。预测入口打开后还要从首页重新找功能,系统智能的价值就会被抵消。

怎么开始:为每个 intent 写清楚后台执行条件、确认界面和 App 内落点。需要用户确认的任务进入确认页;只需要展示结果的任务进入结果页;能后台完成的任务给出清晰反馈。

关联 Session

评论

GitHub Issues · utterances