まとめ
最初にまとめを書いてしまいますが、これからApple Watch(Watch OS1)で何か開発しようとする方(自分も含めて)はApple Watchのコンセプトを知っておいた方が何ができるかを理解する上で役にたつのではないかと思います。つまり、Apple社がiPhoneと対で動作し、相互補完するツールとしてApple Watchを提供しているということです。
なんとなく、Apple Watchが何もできないと考えてしまいがちですが、そもそものコンセプトがiPhoneとセットなのであたりまえといえばあたりまえ。それを基にApple Watchというデバイスを生かせればより便利なことができるようなアプリケーションが作れるかもしれません。
Watch OS2になるとコンセプトも変わってしまい、Apple Watch単体でできることが増えるようなので、あくまでここに記載したことはWatch OS1であることをご了承ください。
Apple Watch開発 概要
この文書はDevelping for Apple Watchのドキュメントを基にApple Watchで開発できること(Watch OS1)を手っ取り早く斜め読みするために記載したものです。
Apple Watchのコンセプト
Apple Watchのコンセプトは、iPhoneをポケットから出すまでもなく、重要な情報の通知を簡素な方法で素早く得ることができるということ。つまり、Apple Watchの開発者は、最も簡単な方法で、最もその人が必要とする情報をいかに提供するかを考えることが開発の始まりになるのではないでしょうか。
Apple WatchとiPhone
Apple Watch上で動作するApple標準以外のアプリケーション(サードパーティアプリケーション)は、 すべてiPhoneアプリとして作成される必要があります( 注:2015年秋頃に展開されるWatch OS2ではどうもApple Watch単体で動作するアプリが開発できるようになるみたいです)。
Apple Watchの開発に必要な要素
-
WatchKit app
Apple Watch上で実行され、アプリケーションのユーザーインターフェースに関連付けられたストーリーボード(storyboards)とリソースファイルのみが含まれます -
WatchKit Extension
iPhone上で実行され、WatchKit appのユーザーインターフェースの管理コードやユーザーとの対話に対するレスポンスを処理するコードが含まれます。
Apple Watchのアプリケーションを開発する場合、iPhoneアプリとしてWatchKit app、WatchKit extensionを含む形で開発することで、開発したiOSアプリケーションをiPhone上にインストールする際にインストールするiPhoneと関連付けられたApple WatchにWatchKit appをインストールするかどうかのプロンプトが表示されるようになります。
Apple Watchのアプリ(WatchKit app)は以下のインターフェースで動作することを考えて開発します。
-
Apple Watchのフルアプリケーションとしてホーム画面から表示して動作する複数画面で構成されて動作するインターフェース
-
Apple Watchのグランス(Glance)に表示される読み取り専用の1画面で構成されて動作するインターフェース(標準の通知インターフェースではない、カスタムした通知用インターフェースとして利用できるインターフェースとして捉えればよいでしょう)
WatchKit Appとは
WatchKit appとはユーザーがApple Watch上で開いて表示させ、必要な情報を見たり対話するためのインターフェースを持つアプリケーションのことです。データよっては、iOSアプリのサブセットのデータとして表示されるものになるかもしれません。
WatchKit appは前に書いたようにiOS側で動作するWatchKit extensionと対になるアプリケーションなので、基本的にはiPhone、および、iPhone上で動作するWatchKit extensionアプリケーションが必要になります。
Glanceインターフェース
Apple Watchには「Glance」(グランス)と呼ばれる表示領域があります。ここは、アプリケーションで最も重要な情報を表示する1画面構成の読み取り専用の画面です。ここにはボタンなどのコントロールは配置できません。また、スクロールもできませんが、この画面をタップするとWatchKit app本体が起動するようになっています。なお、このインターフェースは必ずしもWatchKit appに含める必要はありません。
ローカル/リモート通知
Apple Watchは対となるiPhoneのローカル/リモート通知を表示します。Apple Watch自身は通知を受信しません。Apple WatchにはiPhone上の通知を最小限の形で表示して、必要であれば詳細画面へ移動する方法を提供します。詳細画面はカスタムインターフェースとしてアプリケーションの開発者が用意します。iOS8で導入された「Actionable notifications」を利用することで通知画面にボタンを配置してユーザーのアクションを求めることもできます。
iOSアプリ側で「actionable notifications」のサポートを設定している場合、Apple Watch側ではこの設定を自動的に反映して通知インターフェースにボタンを配置します。アプリ開発者はWatchKit extension側でこのボタンのアクションの処理を用意することになります。
Apple Watchのインターフェースのデザイン
Apple WatchのインターフェースはiOSアプリの代替として利用することを想定してデザインするべきではありません。iOSアプリと相互に補完しあうインターフェースとして情報を素早く表示し、次のアクションに導くインターフェースにするべきでしょう。