Slug ben morrow cover

watchOS 2の紹介

Apple Watchのオペレーティングシステムは、ようやくwatchOSとして、いくつかの新しい機能とともに我々に開放されました。もしこの一年に、Watchkitの使用法を学んでいるならば、あなたはWatchのハードウェア上で実行され、センサーのアドバンテージを得ることのできるアプリの楽しさに気づくでしょう。Benは、watchOS 2のために書かれたアプリの実世界での使用例を段階的に説明し、それで何が可能かについての質問に答えます。


スピーカーについて: Ben Morrow Ben Morrow氏はデベロッパー、執筆者であり、またハッカソンの主催者でもあります。Apple Watchコミュニティーでは、彼は新しいデバイスプラットフォームのために作られたアプリの開発に取り組んでいます。コミュニティに関するビデオとコードはこちら (happy.watch­)でご覧になれます。

紹介 (0:00)

私はBen Morrowです。私はベイエリアでApple Watch meetup groupを運営していて、Apple Watch向けのワークアウトアプリを開発しています。watchOS 2は今ベータ版ですが、すぐに正式リリースされます。そしてあなた方が素晴らしいアプリを開発するための手助けになるようなものの一部をご紹介いたします。

新しいApple Watchの機能 (0:19)

オリジナルのiPhoneが登場した時、それは最小限の機能で、Apple専用のアプリと、少ないストレージを持っていました。私たちがiOS 9になるまでに通ってきた長い道のりと同様に、Apple Watchにも大きな発展が起こるでしょう。Apple Watchはビッグバンから生まれ、そして現在はwatchOS 2がそれを拡張しています。ClockKitやHealthKit、そしてWatch ConnectivityへのアクセスするたくさんのシステムのフレームワークがwatchOS 2の中には存在します。

ネイティブアプリとセンサーアクセス (0:57)

Watch Connectivityとは、iPhoneとApple Watch間で双方向にデータをやりとりするために使用するものです。iPhoneとApple Watch間で双方向にデータをやりとりさせる理由は、Watchアプリがネイティブだからです。これは、以前のようにコードがiPhone上で実行され、そしてApple Watch上でそのviewをアップデートする代わりに、コードが実際にApple Watch上で実行されていることを意味します。これにより、iPhoneがなくてもより早く、より少ないバグで実行されるアプリを作ることができます。これらはまた、普段使用しているWi-Fiネットワークを介して通信を行うことができます。

記事の更新情報を受け取る

これで私たちは、Taptic Engine、Digital Crown、加速度センサー、心拍数センサー、スピーカー、そしてマイクなどを含む、ハードウェアとセンサーへアクセスすることができます。これらを使用するアプリのいくつかの良い例としては、PINGアプリというゴルフスウィングのスピードを測定するために加速度センサーを使用するアプリがあります。またStravaはワークアウト中のデータを取得するために心拍数センサーを使用します。Insteonは家の照明を制御するためにDigital Crownを使用します。

ClockKitとSiri (1:49)

ClockKitは、complicationと呼ばれるwatchの文字盤に表示される少しの情報の追加を提供することができます。良い例としては、フライト時間や、電気自動車の充電がどれくらい残っているかなどの表示です。また、それに関連するのがタイムトラベルです。これで、watchの横にあるDigital Crownを回せば、昨日何が起こったか、今日何が起こっているか、そして明日起こる出来事を知ることができます。この機能のクールな例として、あなたは明日のランチタイムがどんな天気かをチェックすることができ、または同じにのそれより前に見逃したヘッドラインをさかのぼってチェックすることもできます。

Apple Watchもまた、Siriをうまく使っています。Siri APIがまだ存在しないにも関わらず、watchOS 2向けのSiriは本当に強化されています。SiriはEメールとメッセージへの声による返信を書き起こしてくれ、文脈の合うテキストを提案してくれます。そしてあなたがワークアウト時間の長さを伝えれば、ワークアウトを開始させてくれます。Siriを利用して、あなたはグランスを開くことも、乗換情報を得ることもでき、そしてHomeKitデバイスさえ制御することができます。声によるインタラクティブな方法は将来、重要なことになるでしょうし、あなたは、あなたのアプリがどれだけ音声を活用できるかについて考え始めることができます。さぁ、その全てを実現することを考えてみましょう。

Apple Watch ハッカソン (2:56)

6月13日、WWDC後の土曜日に私たちはApple Watchのハッカソンを開催しました。そのグループで開催する2回目でした。30チームが参加し、素晴らしいアプリを開発しました。全員のプレゼンターションをこちらで見ることができます。どんなものが良いWatchアプリを作るかをみなさんにお見せするために、いくつかを紹介しましょう。

  • WatchOutは、Digital Crownを回してパドルを漕ぐことのできる、Atari Breakoutスタイルのゲームで、とても面白いものです。
  • Powは、ジェスチャーがサウンドエフェクトをトリガーします。あなたが最初のガッツポーズをすると、チャリーンという音が鳴ります。
  • PreziRemoteは、Preziを使った現実でのプレゼンテーションで時間が足りない時に、自分の手首をタッブすることで、次へのスライドへ移動できます。
  • FamilyBurrowClockは、家族の誰かがジオフェンスに入ってきた時、またはそこから出る時にノティフィケーションで通知します。
  • The watchOS Samplerは、全ての異なる新しい機能の寄せ集めです。加速度計、ジャイロスコープ、Core Graphicsを使ったハンドドローウィング、音声録音・再生機能、ピッカースタイル、Taptic Engine、アラート表示、そしてDigital Crownを使っ���アニメーションなどです。
  • Air Drum は、モーションデータを使用して、ドラムを叩けます。
  • Rollin はあなたの周りにいて、同じことをしている人を見つけることができます。
  • 最後に、Propeller Petです。これは本当に面白いです。バーチャルなペットですが、ペットを喜ばせるために、あなたは実際に外にお散歩にいかなければなりません。

WatchKitの改善点 (4:58)

私がWatchKitにおいてディスカッションしかった機能は、Digital Crownを含め、レイアウトやアニメーション、Taptic Engine、そしてオーディオおよびビデオなどがあります。Digital Crownでは、選択できるたくさんの新しいピッカースタイルがあります。リストスタイルには、自分で選べるフォーカス時のアウトラインとキャプションがあります。スタックスタイルは、一つがスライドアップし、他のものはフェードバックするトランジションを持つ画像のリストを表示します。イメージシーケンススタイルはトランジションを持っていませんが、スクロールインジケータのオプションがあるので、あなたがどれだけリストをスクロールダウンしたかを知ることができます。最後に、ピッカーコントロールで調整された画像は、ピッカー内で何が起きているのかの視覚的なフィードバックを提供します。

あなたがInterface Builder内で持っている全ての属性はコードからも設定することができます。以前、あなたはInterface Builderの中で全てをセットアップしなければならず、それらをいじくりまわすことはできなかったので、これはかなり重要なことです。しかし現在、私たちはコード内でそれらを編集できるので、animateWithDuration()も使用することができます。それによって、私たちはグループのwidthを変更するようにきれいなアニメーションを作成することができます。

オーディオレコーディング, Haptic Feedback, ビデオ, そして健康管理 (6:16)

また、WatchKitでの新しい機能はrecording sheetです。これは、このシートを最前面に表示し、ユーザーが自分の音声をレコーディングできます。そして、レコーディングが終わると、右上のコーナーにあるボタン押して送信することができます。そして、あなたのアプリはそのオーディオファイルを扱うことができます。また、あなたはhaptic feedbackを再生することもできます。これらの異なる種類のノティフィケーション、ダイレクションアップ、ダイレクションダウン、サクセス、失敗、リトライ、スタート、ストップ、そしてクリックを、あなたは手首上で受けることが出来ます。あなたがApple Watch上で地図アプリをよく使っていて、なじみがある場合、右折と左折のためにダイレクションアップとダイセクションダウンを表示します。アプリはどんな時にもこれらを表示することができます。そして良い例として、Preziアプリはプレゼンテーション中、時間が足りなくなった場合に警告を与えてくれま。Watch上でビデオも再生できます。ビデオを再生する時には、素敵なフルクスリーンモードに移行し、そしてビデオを全て見ることができ、見終わったらシートを終了して出ることができます。

Appleはまた、HealthKitも発表しました。私はワークアウトアプリを開発しているので、これは私のお気に入りの機能です。HealthKitをインポートし、HealthKit health storeとワークアウトセッションを作成すれば、あなたはワークアウトセッションを開始して移動距離、カロリー消費量、そして脈拍数といった全てのワークアウトデータにアクセスすることができます。もう一つの利点として、もしあなたがこれを行う場合、ワークアウトが続いている間はアプリはフォアグランドにとどまります。なので、ユーザーが手首を下におろしてからまた確認するために上に戻すと、あなたのアプリも画面にすぐに戻ってきます。

watchOSの参考資料(8:06)

次に、watchOS 2を始めるための便利な参考資料についてです。まず始めに、ハッカソンのプロジェクトの一つであるwatchOS 2 Samplerです。また彼はGitHubにもアップしているので、みなさんは今日デモされた全ての様々な機能のサンプルコードを取得することができます。

Appleからは2つの異なるサンプルプロジェクトが提供されています。 audio recordermovie playerです。

また、HealthKitもあります。watchOS2向けのワークアウトアプリの作り方についての本当に 素晴らしいプレゼンテーションが見られます。ワークアウト中にアプリを起動状態にしておくことに関してのディスカッションもStack Overflowにあがっています。

私はWatchKit by Tutorialsという書籍の共同著者ですので、あなたが全ての異なるシステムフレームワークやそれらの使用方法を学び始めたいのなら、うってつけの一冊です。 改めまして、私はBen Marrowです。今日はお越し下さってありがとうございました。

Q&A (9:25)

Q: Android Wearデバイスと同じように、独自のバイブレーションパターンと一緒にHaptic Engineを使用することができますか?

Ben: それはまだできません。しかし、既存のバイブレーションパターンを組み合わせることはできるでしょう。

Q: ネイティブのWatchアプリはデバイスに通知を送ることができますか?

Ben: 未来の日付にトリガーするLocal Notificationをセットすることができます。

Q: ビデオの最長の長さやサイズといったものをWatch上での再生時の制限についてはご存知ですか?

Ben: 残念ながらわかりません。けれど、ドキュメントがきっと役に立つでしょう。

Audience member: WWDC中に短いビデオだけ可能だと言及されていました。理想的には45秒までです。

Q: バイブレーション通知に関してですが、止めるまでバイブレーションさせ続けるアラームアプリを作ることは技術的に可能でしょうか?

Ben: それは無理でしょう。今のところそれを達成するためには、アプリがアクティブでなければならないでしょう。

Q: watchOS 2のベータ版はどのくらいよく動きますか?

Ben: 今のところ、最新のベータ5でしたら、Watch自体の中でOSを使うのならかなり安定していますが、まれにバグが起きることもあります。

Q: Watchアプリをデバイス上かシミュレーター上で実行する上で、何か特別なトリックはありますか?

Ben: たまに、アプリはシミュレーター上では動かず、どこかのタイミングでなぜか勝手に直るまで数回のリトライが必要です。時折、アプリはデバイスに正しくインストールされないので、その問題を解決させるためにデバイスのスイッチを入れたり切ったりしてインストール処理をキックします。

Q: Watchアプリを、とんでもなくお金持ちのオーナーだけをターゲットにして、ゴールドバージョンのみに制限する方法はありますか?

Ben: 確信はないですが、もし何かきっかけのようなものがあれば、あなたはその方法を見つけられるでしょう。しかしそれは可笑しいですね…

ところで、watchをローカライズできるようになったので、あなたたちはどんな言語でも開発できます。さらに、右から左へ読む言語にローカライズする場合、実際に全てのインターフェースがひっくり返ります。これはWatchにできることで結構すごいことです。また、Watch上にはたくさんの便利な機能があります。画像の異なる部分にタッチすることのできる画像を設定することができ、何がそこにあるかを音声で知らせてくれます。

Q: レコーダー以外のオーディオフレームワークがまだ利用可能であるか知っていますか?

Ben: そうですね、オーディオをプレイバックできますが、私が知っているのは二つだけですね。

Q: ちょっとふざけた質問ですが、Code Signingという言葉へのあなたのリアクションを教えてください。

Ben: ずっと挑戦中ですが、改良はしています。watchOS 2で、私はいくつかの問題につき当たりましたが、私のデベロッパーアカウントでサインイン/アウトをしてそれらをおおむねフィックスします。

Q: なぜAppleは、限られた前置きのSDKをリリースしてから、間も無く後に、それをネイティブアプリのSDKに置き換えているのでしょうか?

Ben: そういったことの一部を行うことで、最小の実行可能なプロダクトを生み出します。彼らはまず、プロキシースタイルのインターフェイスを作動させることが簡単だということをおそらく知っていて、完全な容量のアプリを生み出すことにさらに時間を必要としているのでしょう。

翻訳: Sohei Kitada, Sayuri Takizawa

About the content

This content has been published here with the express permission of the author.

Ben Morrow

Ben Morrow is a developer, author, and hackathon organizer. With the Apple Watch community, he’s been working on apps made for the new device platform. Find more video and code at happy.watch­.

4 design patterns for a RESTless mobile integration »

close