前言

随着iOS12的发布,备受期待的Siri捷径也随着一起推出了正式版。作为一款继承了知名应用Wordflow设计理念而来的升级版,却又肩负着拓展语音助手Siri的重任,苹果和用户都对它有着很大的期望。

熟悉的Siri
熟悉的Siri

作为随着iPhone4S就发布的语音助理Siri,多年来在用户的感知里却没什么大的长进。常用的功能例如查天气、设闹铃、添加日程等早就有了,随着谷歌、亚马逊、小米、微软等新晋厂商的发力,大家越来越觉得Siri似乎是里面最智障的那个。

iPhone4S
iPhone4S

这次升级Amos时间志重点就是加入了对Siri捷径的支持。在深入研究了它的API和功能,以及对比了与之前的区别后,我们来聊聊Siri捷径的改进、局限,以及我们如何更好的使用它。

名为“捷径”的应用

Siri捷径
Siri捷径

与该功能一起发布的是一款名为“捷径(Shortcuts)”的应用,老用户会发现基本上就是一款汉化了的workflow。并且由于名字的关系,普通用户非常容易误认为iOS12在Siri上的更新就是这款应用本身了。
没错,这款应用内添加了wifi、飞行模式等系统的权限,但这远远不是Siri捷径的核心。况且我好好研究了一下该软件,基本上可以确定这就是iOS端的“自动操作”。一款在Mac端存在多年的系统应用,用来执行预先录制的连续操作。

Mac自动操作
Mac自动操作

况且使用这款软件的门槛其实还挺高的,因为对于操作的编辑虽然已经图形化,但也已经涉及了编程的领域。我下载了一些少数派制作的方案,10几个步骤算是非常简单的功能,将电影或者12306的短信转换成日程需要将近30个步骤,还用到了正则表达式和JS语法。至于查询豆瓣的数据则需要调用豆瓣的开发者API,高德导航需要反编译地址转换成经纬度后调用高德地图的URL Scheme来进行跳转。这些操作我认为都不是普通用户能搞定的。

复杂的设置
复杂的设置

使用的门槛决定了该功能注定是一个小众的功能,或者普通用户只能使用一些简单的、预置的操作。逛了一圈威锋等论坛,也看到好多询问该功能怎么使用的帖子,也从另一个方面证实了我的看法。

把软件内的功能变成指令

这次最重要的Siri升级,在我看来是权限的进一步开放。因为Siri一直以来都只是一个系统的功能,而每一个手机里的第三方应用都是一个独立的沙盒,Siri可以打开应用,却无法调用某一个具体的功能。

null

直到iOS11,Siri试着开放了一小部分的权限,允许第三方应用使用Siri发送信息、打车和运动等。不说开发者可以做的事情很有限,作为用户要调用其实也挺麻烦的——你必须遵照一定的规则念出指令:通过xx软件发送xxx给xx,在锁屏状态还无法使用。

而到了iOS12,Siri允许自定义规则调用软件内的任意功能,而不仅仅局限在打车和发送信息等。就像这次Amos时间志更新后就可以直接从Siri实现开启番茄钟或者倒计时、还可以自由切换各种页面或者手动录入时间等。其他的像DayOne可以直接开始写日记,随手记可以通过Siri直接记账,西窗烛可以打开特定的诗词页面等。

软件内保存
软件内保存

对于用户来讲,更便利和期待的是还可以直接设置顺口和便于记忆的语音指令。

创建适合的指令

可以将自己常用的功能保存为Siri的指令无疑是一件让人很兴奋的事情,随时可以通过“Hey,Siri”启动,然后直接查看结果,无疑可以大大提高我们的效率。也可以有效的解决记不住系统默认指令的问题。

在这个过程中,设置合适的指令是非常重要的步骤。指令的关键是尽量简洁和顺口,例如当我设置了一个开始工作(制作PPT)的默认时间番茄钟,不要将指令设为:“启动一个工作的番茄钟”,最好是简化为“开始工作”或者“开始做PPT”即可。原则在于不要让大脑经过二次思考和回忆,就像在《思考,快与慢》中提到的那样,用习惯的口语取代格式化的指令。

还有一点需要注意的是,尽量使用吐字清晰的词。因为Siri的工作原理是将你的语音转换成为文字然后和指令进行匹配。所以在设置指令的时候,尽量挑选不容易混淆的词汇。

从系统设置中寻找实用的组件

从开发的角度来讲,在软件内有两种处理Siri指令的方式:

1. 直接在软件内设置特定操作的语音指令

一个特定的操作会有不同的参数、变量和执行环境组成,当一个操作成型后,假如软件支持,用户可以直接在软件内将这个操作变成一个Siri的指令。就像我在之前提到的那样。例如Things则更进一步,可以交给用户自定义多个变量然后保存为Siri指令。

2. 直接将特定操作提交给系统,用户无法自定义语音指令

但是也有软件由于种种原因并没有提供在软件内保存操作的方法。例如随手记,会在记账之后将记账这个行为提交给系统,系统会根据不同软件提交的操作、时间、地点等数据,分析用户的使用习惯进而给出推荐,但却无法在软件内保存。

在这种情况下,我们可以去系统设置-Siri与搜索,找到系统曾经接收过的来自不同软件的操作,然后保存为一个Siri的指令。也可以在“捷径”这款软件内“创建捷径”的时候找到这一操作,作为一个部件制作一款捷径。

系统设置
系统设置

对于开发者来说,应用内处理的方式就是以上提到的两点。具体选取哪一种则会根据实际情况来进行选择。
例如在Amos时间志中,就结合了软件内创建Siri指令和后台提交两种不同的处理方式。用户可以在软件内创建项目层级的Siri指令,而子项层级则无法创建但会提交给系统,但支持在推荐时执行。这是因为有些操作例如计时或者记账,是琐碎而缺乏规律的;而需要指令化的操作一般都是规律而重复的。举例来说,固定时间的阅读是反复执行的,推荐用户创建语音指令的,而阅读的子项《伯罗奔尼撒战争》却会在看完后换一本。

况且假如用户真的需要,可以在设置-Siri与搜索中找到该操作,并且将其指令化。

帮助Siri更好的预测和推荐

我在前文多次提到了提交给系统。这是因为在iOS12的升级中,有一条很重要的升级就是Siri的推荐。

Siri作为系统级别的功能,会在平时收集大量的数据,包括被动的时间、地点、屏幕时间等和第三方软件主动提交的操作。利用增强的机器学习工具,系统会在后台分析用户的使用习惯,并在适合的时间地点推荐用户可能会想要的操作。

推荐算法
推荐算法

例如你每天下午跑步,Siri就会在下午推荐你打开经常在跑步时使用的软件和歌单;例如你在固定时间会记录一笔账或者时间,Siri就会根据规律询问你是否需要现在记录;例如你经常在上下班的时候开启特定的导航,Siri就会定时推荐你导航的线路。

作为开发者要做的就是在用户进行操作的时候,提交给系统用户的操作。而对用户来讲,就不必将所有的操作指令化,因为在使用一段时间后,Siri会进行推荐。

推荐的地点包括锁屏界面、下拉搜索界面和手表Siri表盘。Siri推荐的算法比较复杂,其中重要的一点就是提取相同的变量,例如你经常执行的时间、导航的地点、外卖的餐品等。

一些不足

虽然说现在的Siri已经有了长足的进步,但是缺点也是显而易见的。在设置的时候我们可以设置多个变量,但每个Siri捷径都是一个固化的流程。换句话说,一旦确定了一个捷径,里面的变量就变成了常数。

除了极有限的发信息、创建日程或待办事项等系统预置的Siri指令,已创建的Siri捷径无法改变任何变量。比如我设置了一个25分钟的番茄钟为Siri捷径,使用语音指令启动时不能够将25分钟改为40分钟,只能执行预置25分钟的固化流程。想要一个40分钟的番茄钟,就要再创建一个Siri捷径。

这无异大大降低了Siri的实用性,但我们也可以理解。因为这涉及到了自然语义分析,需要Siri提取并分辨出在我们的一句话中拿个是指令,哪个是变量。

还有就是Siri捷径这款软件上手的高门槛,希望在后续的更新中能够改进。

总结与一些展望

这次Siri的升级无疑让我们手中iPhone的易用性更上了一个台阶,在自然语义分析技术还远未完善的今天,预置指令可以说是语音助理的最大突破口。但讲真这其实也只是堪堪赶上了业界发展的步伐,只不过借助iOS完善的生态圈和苹果的技术储备,Siri的潜力还是值得期待的。

下面就看众多第三方应用的适配了,想象一下当百度高德导航、米家、支付宝、微信全面适配Siri之后,手机会有多么便利。

不过大厂都有自己的语音AI助理,也都要丰富自己的语料库,至于是否会适配Siri,适配的程度有多深,我们就只能拭目以待了。

文中提到的软件:

12
1