ハンドオフで作業を継続
ハンドオフ(Handoff)は、対応のiOSアプリおよびmacOSソフト(以下、まとめてアプリケーションと記載)で行っている作業をmacOSからiOS、iOSからmacOSとデバイスをまたいで続けることができる機能です。その設定は簡単で、MacとiOSデバイスを同じアップルIDでアイクラウドにサインインしておき、それぞれの設定でブルートゥースをオンにしてからハンドオフを有効にしておくだけ、です。
ハンドオフは可能な場合、iPhoneではマルチタスク画面にハンドオフバナーが表示され、iPadやmacOSの場合はドックの左隅にハンドオフアイコンが表示されます。これらをクリック/タップすることで作業が瞬時に引き継げます。
これにより、たとえば通勤中にiPhoneで書き始めたメールを、職場に付き次第Macで残りを仕上げるとか、Macで見ていたサファリのWEBページをiPadで開き外に持ち出して読むことなどができます。
ハンドオフが登場する前からアイクラウドを通じてサファリの履歴や連絡先データを同期することはできました。しかし、ハンドオフは編集の途中などさらに細かい状態を共有できるうえ、SDKが公開されているのでサードパーティのアプリ/ソフトでも対応が可能です。たとえば、作図ソフトとして評判の高いオムニグループの「オムニグラフ(OmniGraffle)」では、macOS版とiOS版の間で描きかけのグラフィックスをハンドオフできます。
ブルートゥースで状況を発信
ハンドオフの仕掛けはブルートゥースにあります。MacやiOSデバイスでユーザが使用中のアプリケーションは、「NSUserActivities」というオブジェクトを通じてOS側にアプリケーションの作業状態を送付します。OSはその作業の状態をブルートゥースを通じてデバイスの周囲のデバイスに発信しています。同じアカウントでサインインしているほかのアップルデバイスがこれを受け取ると、アプリケーションスイッチャやドックを通じて、ハンドオフできる作業があることをユーザに通知。そしてユーザがアイコンやバナーを選ぶと、該当するアプリが起動して作業を引き継ぐという仕組みです。
アプリケーションによっては引き継ぐべき作業が何種類かある場合もあります。たとえば、メールの場合、「今読んでいるメールの続きを別のデバイスで読みたい」と「今書いているメールの続きを別のデバイスで書きたい」という2つのケースがあります。
このため、NSUserActivitiesでは「どの作業を引き継ぎたい」かを定義、選択することができます。メールでは、「com.apple.mail.message」と「com.apple.mail.compose」の2つの作業を定義しています。メッセージを表示して読んでいるときには「com.apple.mail.message」をNSUserActivitiesを通じて伝えることで、「見ているメールを引き継ぎたい」と通知します。「com.apple.mail.compose」の場合は編集しているメッセージをほかのデバイスで引き継げるようにします。
また、NSUserActivitiesでは、書類のタイトルやURLのような小容量のテキストをハンドオフするデバイス同士で共有することができます。しかし、あまり大容量の情報はやりとりできないので、別の手段でやりとりします。たとえば、書きかけのメールをハンドオフする場合は、編集中のメールはいったん「下書き」に保存されます。ハンドオフされた側ではメールを起動すると同時に、「下書き」から該当するメールを読み出し、編集状態を復元します。
ハンドオフの鍵はMacソフト?
残念ながら、ハンドオフ対応のアプリケーションはあまり多くありません。サファリ、メール、連絡先、マップ、メモ、リマインダー、カレンダー、ページズ、ナンバーズ、キーノートといった純正アプリケーションぐらいであり、サードパーティでは先に紹介したオムニグラフなどにとどまります。
その理由として当然ながら「iOSとmacOSの双方にアプリケーションがある」ことが前提だからです。iOSのアプリ開発者とmacOSのアプリ開発者は重なるところもありますが、どちらにもアプリケーションを提供しているというのはそこまで多くありません。ハンドオフを実装しようにもアプリが片方しかないわけです。
そんなときのために、WEBサイトとアプリ間でのハンドオフというのも仕組みとしてはあります。ハンドオフ対応のサイトの場合、ハンドオフしたときにログインしている状態なども一緒に引き継げるわけです。ただ、今のところあまり普及しているともいえません。
フェイスブックやグーグル、マイクロソフトといった自社でクラウドサービスを持つ企業の場合、ハンドオフではなく自社クラウドの機能での情報共有したほうが便利ですし、「OpenIDConnect」など標準的な認証統合の仕組みもあるため、アップルの独自仕様であるハンドオフでの認証や作業の引継はあまり響かない、ともいえます。
また、すでにアプリとWEBサイトで高度な連携が実現されているという場合もあります。例としてはマイクロソフトの「オフィス365」で、同社のクラウドサービス「ワンドライブ(OneDrive)」を通じてドキュメントを同期しており、さらにWEBブラウザからアプリを開いて編集することもできます。こうした理由から、ハンドオフはその便利さの割に使い所が限られてしまっているというのが現状です。とはいえ、メールとサファリの連係ができるだけでも、ハンドオフの価値は十分にあるといえるでしょう。
Handoffの使い方
Mac、iPadの場合
Mac(写真上)、iPad(写真下)の場合はDockの端にハンドオフアイコンを表示します。
iPhoneの場合
iPhoneの場合マルチタスク画面にバナーを表示します。
Handoffを有効にすると、ほかのデバイスで作業中のアプリケーションのアイコンが表示されるようになります。これをタップしたりクリックすると、該当アプリケーションで書類が開いて作業が継続できる仕組みです。
Handoffの仕組み
アプリケーションがアクティブになると、あらかじめタイプを指定しておいたNSUserActivityが呼び出されます。するとBluetoothを通じて実行中の作業がほかのデバイスと共有され、対応するアプリケーションがインストールされている場合、Dockなどにアイコンが表示されます。ほかのアプリケーションに切り替わると、NSUserActivityにその旨が伝えられ、アイコンは消えます。
【 ChromebookとContinue on PC 】
デバイス間での連係については、Apple、Google、マイクロソフトの3社でそれぞれ異なった方針をとっています。例えばGoogleは、Gsuiteという自社クラウドを軸にスマートフォンやタブレットは Androidと専用アプリで、PC分野はChromebookというChromeだけが動くクラウドへのアクセス専用のノートPCを用意しています。デバイス同士でやりとりするのではなく、クラウドで共通化してそこへ読み書きすればよい、という考え方ですね。
マイクロソフトでは、本文中でも触れた「Office 365」によるクラウドとデスクトップアプリケーションの統合で、どのデバイスでもOfficeドキュメントを共有して取り扱える、またWEBブラウザがあればOfficeドキュメントを閲覧したり編集もできるようになってます。これもまた、クラウドを軸にデバイスはそこへアクセス、という考え方です。
こうしてみると、デバイス同士である程度の連係をこなすAppleの発想は、エンドユーザにハードウェアを売ってる会社らしい、ユニークなものといえます。ただし、マイクロソフトもハードウェアを販売する会社になってきたためか、若干の変化が見られます。
文●千種菊理
本職はエンタープライズ系技術職だが、一応アップル系開発者でもあり、二足の草鞋。もっとも、近年は若手の育成や技術支援、調整ごとに追い回されコードを書く暇もなく、一体何が本業やら…。