2年前、AppleはApp Extensionsを導入し、サードパーティの開発者が安全な新しいアーキテクチャを用いてシステム全体にわたる機能を追加できるようにしました。今年のiOS 10では、SiriにもApp Extensionsが導入され、開発者はSiriに機能を拡張する方法を教えることができるようになりました。
Siriはサードパーティの拡張機能へのおなじみのルートをたどる
Siriは2011年にiOS 5搭載のiPhone 4s向けにリリースされて以来、アラームの設定、連絡先の検索、天気の確認、マップによる道順の取得(およびYelpやWolfram AlphaなどのAppleのパートナーとの統合)などのシステムタスクを実行するコア機能が徐々に拡張され、iOS 6ではスポーツのスコア、レストランの予約、映画の上映時間、iOS 7ではWikipedia、Bing、Twitterの検索、iOS 8ではCarPlayおよびHomeKitデバイスとの統合、そして昨年はApple MusicとApple Watchのナビゲーションなど、さまざまな新機能のサポートが追加されてきました。
しかし現在、Apple は App Extension メカニズムを使用して、サードパーティの開発者が処理できる「ドメイン」と「インテント」を登録することで、アプリに Siri の新しいサポートを組み込むことを可能にしています。
他の拡張ポイントと同様に、Apple は、音声で呼び出すのに適した、最も一般的で便利なサードパーティの「ドメイン」の限定されたセットを作成し、今後構築できるよく知られた基盤を作成しました。
Siriドメイン
アプリは、Siri の機能ドメインの 1 つに登録できるようになりました。サードパーティの VoIP アプリからのオーディオまたは音声通話、テキスト メッセージ、支払い、写真の検索、サードパーティ アプリでのワークアウトの管理、カーシェアリング サービスでの乗車予約、CarPlay を使用する車両の自動車制御機能の新しいサポートなどです。
AppleがSiriの新しい拡張機能を、現在の音声サービスで最も利用され、最も魅力的な機能に絞り込んだことは注目に値します。Creative Strategiesのプリンシパルアナリスト、ベン・バジャリン氏が実施した2つの調査によると、音声アシスタントの主な利用シーンは、電話をかけたり、テキストメッセージを送信したりすることであることが示されました。
WWDC開催前、AppleがメッセージアプリかSiriにApple Payの直接サポートを追加するという噂がありました。しかし、実際にはSquareとの提携によりSiriからの決済が可能になったことが発表されました。ちなみに、SnapchatはSnapcashと提携して革新的なサービスとして高く評価された個人間決済サービス「Snapcash」と提携しました。
Appleが将来的にSiriに独自のApple Payサポートを追加する可能性はありますが、現状では無料で送金しても実質的な利益は得られないという可能性もあるでしょう。Appleは、サードパーティのアプリパートナーがそのような決済サービスを提供することを容認するかもしれません。Siri決済の仕組みを開放することで、事実上あらゆるアプリが送金や受け取りの機能を登録できるようになります。
これは、Uber や Lyft などのライドシェア サービスにも当てはまります。これらのサービスは現在、将来的に利益を生む事業 (おそらく最もコストのかかる要素であるドライバーが自動運転ロボットに置き換えられれば) を構築することを期待して、ベンチャー キャピタルから乗客を補助しています。
残りの 3 つの Siri ドメインは、Apple のエコシステムの戦略的拡張に関連しています。写真を活用するアプリ、iPhone と Apple Watch のコアモーション機能を拡張してワークアウトを追跡するワークアウト アプリ、そして CarPlay の統合です。
いずれの場合も、Siriは引き続きすべてのユーザーインターフェースと音声認識タスクを管理します。Siri App Extensionを提供するインストール済みアプリに関連する機能ドメインのリクエストを検知した場合、そのアプリが現在実行されていない場合でも、Siriはリクエストをそのアプリに渡すことができます。
Siriのインテント
各ドメインにおいて、Siriはユーザーの「インテント」(ユーザーが何を達成したいのか)を解釈し、それをアプリに渡して処理させます。例えば、ユーザーはWhatsAppやSkypeなどの特定のアプリを使って、特定の連絡先に新しい音声通話またはビデオ通話を開始するよう指示するかもしれません(AppleのデフォルトのFaceTimeや電話サービスではなく)。
ユーザーは、Square などの支払いサービスを使用して送金または送金依頼をしたり、ワークアウト アプリに新しいワークアウトの作成や、現在のワークアウトの一時停止、再開、終了、キャンセルを依頼したりする場合があります。
CarPlay 対応車両では、Siri は車にコマンドを渡して、オーディオ再生ソースの変更、ラジオ局の変更、空調設定の変更、シート温度の設定、デフロスターの制御を行うことができます。
場合によっては、特に金融取引やその他の取り消し不可能なアクションが関係している場合 (以下参照)、App Extension ハンドラーはタスクを開始する前にユーザーにタスクを確認するために、Siri から渡されたインテントへの応答を提供する必要があります。
Appleは、インテントを特定のドメイン内でサポートされ、拡張可能なアクションとして定義しています。このアーキテクチャにより、Appleは今後、豊富な新しいインテントを網羅した、より洗練された新しいドメインの領域を構築することが可能になります。
開発者は、ブランド名や機能など、Siriが理解できる語彙を登録することもできます。Uberのようなライドシェアアプリでは、リクエストする車種(「UberX」)などの用語を登録することで、ユーザーはSiriに名前でそのタイプのサービスをリクエストできるようになります。
AppleのSiriは「最も使われている音声ベースのユーザーインターフェース」
バジャリン氏の前述の調査では、「iOS、Android、Windowsといったオペレーティングシステムを問わず、他のどの音声UIよりも多くのユーザーがSiriを使用している」と指摘されています。彼は、Android、Windows PC、フィーチャーフォンのユーザーの多くはiPhoneを持っていなくてもiPadを持っているため、この点でiPadが貢献していると述べています。
Apple が Siri をより賢くするために使用データを取得していないと考えている皆さん、Siri は今のところ、他のどの音声アシスタントよりも圧倒的に最も使用されている音声アシスタントです。
— ベン・バジャリン (@BenBajarin) 2016 年 6 月 3 日
Siriは他のどの音声アシスタントよりも頻繁に使用されているだけでなく、はるかに多くの言語と地域でサポートされており、現在30を超えています。つまり、開発者は他の言語でのリクエストにも対応する必要があります。しかし、Appleは言語固有の作業の多くを自社で処理することで、この負担を軽減しています。開発者は、アプリが使用される可能性のあるすべての主要言語で音声サービスのエキスパートになろうとするのではなく、アプリの機能に集中できます。
WWDCで、AppleはSiriが現在、週に20億件のリクエストを記録していると述べました。これは、ユーザーがSiriをどのように利用したいかをAppleがかなり明確に把握していることを示しています。Appleは、最初の7つの主要なSiriドメインにおけるApp Extensionsの初期サポートの完成に向けて取り組んでおり、Siriを活用したいと考えているアプリや新規プロジェクトに取り組んでいる開発者からの新たなフィードバックも得ていく予定です。
SiriKitは、新しいApp Extensionsや、Siriがユーザーリクエストをサードパーティアプリに渡すために使用するIntentsアーキテクチャを活用できる唯一のフレームワークではありません。次のセクションでは、AppleがiOS 10でマップ関連に追加しているもう一つの拡張ポイントについて見ていきます。