
火遊び:Amazonのスマートフォン向けアプリ開発とは
[これは、ファミリー ソーシャル ネットワークSquareHubの共同創設者兼 CEO/チーフ アーキテクトである Dave Cotter 氏と Bruno Botnivik 氏によるゲスト投稿で、新しい Amazon Fire Phone の開発体験について詳しく説明しています。]
子供の頃、親から火遊びは危険だと教えられました。でも、今回の場合は違います。ここ数ヶ月、Amazonと協力してSquareHubをAmazon Fire Phoneに搭載する取り組みをしてきました。とても楽しかったです(ごめんなさい、お父さんお母さん)。
そこで私たちは、開発者の観点から見て、Fire で遊ぶことがなぜルールを破る価値があるのかを説明するために、私たちの経験をいくつか共有したいと考えました。
マッチを擦る
初めてこのスマートフォンを手にしたとき、私たちの反応はティーザー動画の顧客とほとんど同じでした。「うわあ」「何だって?」「変だ、このデバイスが私の頭をトラッキングしている!」
画面の大きさと持ち心地が気に入りました。ディスプレイは鮮明で、バッテリーの持ちの良さにも感心しました。
既にAndroid版とKindle Fire版のアプリが存在していたため、開発は容易だとすぐに判断しました。AmazonのDynamic Perspective UIコントロールを活用した3Dコンポーネントを、既存のAndroid 2Dレイアウトに素早く統合しました。
3Dコントロールのほとんどは2Dコントロールと非常に類似しており、標準Androidクラスから派生しているため、多くの標準Androidメソッド、属性、イベントハンドラを共有していることがわかりました。そのため、段階的なアプローチを採用しながら、わずか数分で3D UI要素を試すことができました。これに高レベルのモーションジェスチャAPIとヘッドトラッキングAPIを組み合わせることで、基盤となるハードウェアを完全に抽象化しつつ、数時間の開発期間でSquareHubにジェスチャ機能を統合できるほどの柔軟性を実現しました。
その後、SDKを徹底的に調べ上げ、スマートフォンの機能をお客様にとって便利なものにどうマッピングするかを模索し始めました。まず、Dynamic Perspective SDK(モーションジェスチャーと3Dディスプレイを組み込むためのSDK)に着手し、次にFirefly(現実世界のものを撮影/スキャンし、操作する機能)に着手しました。
ダイナミックな視点を獲得する
このアプリは、あらゆる年齢層の家族が使えるように設計されています。そのため、モーションジェスチャー(スマートフォンをさまざまな方向に傾けることで特定の機能やメニューを起動できる機能)は、家族がメニューにアクセスしたり、最近のアクティビティを確認したり、家族のニュースフィードを読んだりするのに非常に便利です。タッチやスワイプを繰り返す必要がなくなります。Amazonではこれを「片手ショートカット」および「片手読書」と呼んでいます。
Amazonはショートカットの一部として、メニューを「左パネル」に配置することを推奨しています。これは、画面を傾ける操作と端からベゼルをスワイプする操作のどちらでも同時に実行できるため、非常に便利です(どちらの操作でも動作しますので、エンドユーザーのニーズに合わせてお選びいただけます)。これは私たちのフレームワークに簡単に適合し、年齢や技術経験を問わず、誰でも簡単に使用できます。
私たちは片手で操作できるショートカットが気に入っていたので、AmazonのSilkブラウザのように、片手での読書をさらに進化させられると考えました。Dynamic Perspective Motion Gesture APIを使ってファミリーニュースフィードを連携させ、スマートフォンを少し後ろに傾けるだけで、片手で簡単にニュースフィードを読めるようにしました。
さらに、この機能をヘッドトラッキングAPIと組み合わせることで、ユーザーが家族のフィードを見てスクロールしていることを検知し、ユーザーの頭が画面から顔を背けたり、スマートフォンとユーザーの頭の距離が一定値を超えたりした場合にスクロールを停止できるようになりました。指は一切使用しません。
情報表示の改善は、私たちのアプリにとって大きな成果でした。Fire Phoneのホーム画面カルーセルではアプリウィジェットが利用可能で、これを使用することで、最近のメッセージや家族とのコミュニケーションに役立つ追加情報を、従来のスマートフォンよりもリッチな方法で表示できました。Amazonのアプリウィジェットは、他のプラットフォームのウィジェットと比べて2つの重要な点を発見しました。1つ目は、開発が非常に簡単であること、2つ目は、お客様がウィジェットを使用するために何も設定する必要がないことです。最近のアクティビティを確認するためにアプリを起動する必要がないため、これは時間節約に大きく貢献すると考えています。
SquareHubの3D表示は素晴らしいです。実際は、奥行きと遠近感を高めた強化画面のように見えます。家族向けニュースフィードのテキストは3Dにしませんでした。メッセージを読む際に目まいがするようなことがないようにするためです。その代わりに、上部バー、下部アクションバー、メニュー、ロゴなどの要素に3D効果を集中させ、家族向けフィードのテキストは2Dにしました。アプリで3Dと2Dの要素を組み合わせることで、非常に効果的な結果が得られました。このコントラストは本当に魅力的です。そして、ユーザーが魅了されるということは、私たちにとってもユーザーのエンゲージメントが高まることを意味します。
AmazonのSDKとDynamic Perspective UI APIのおかげで、3D開発の経験がない私たちでも、複雑な3Dシーンやウィジェットをアプリに簡単に組み込むことができました。Autodesk Mayaを介して3Dツールを統合することで、開発作業の大部分を3Dデザイナーに委ねることができました。
つまり、私たちがやるべきことは、3Dデザイナーが作成した高レベルな3Dオブジェクトを操作することだけでした。例えば、写真ライブラリのカルーセルを作成するには、カルーセルとそのアニメーション全体をMayaでモデリングし、対応するビジュアルバンドルをAndroidプロジェクトにインポートするだけで済みます。その後、カルーセル上でライブラリの写真のアニメーションとテクスチャを切り替えるためのコードを実装しました。Phong法、Gouraud法、Zバッファリング、空間分割法、Bスプライン法などを学ぶ必要はなく、アプリのコア機能に集中することができました。
3Dマッピング機能へのAPIアクセスが可能になり、お子様や大切な人の日中の位置情報を追跡できるようになるのを楽しみにしています。3Dマップを使ったチェックイン機能は、本当に素晴らしいものになるでしょう。3DマップAPIはまだ外部向けには公開されていませんが、公開されれば注目の機能になると思います。
結局のところ、Dynamic Perspective Motion Gesture APIは魅力的かもしれません。しかし、ゲームを開発しているのでない限り、アプリのどの要素を3Dで表現すべきか、そして具体的にモーションジェスチャーAPIをどのように活用するかを慎重に検討する必要があります。実用性と奇抜さの間の微妙なバランスを取る必要があるでしょう。
ホタルを捕まえる
Firefly SDKは将来、ゲームチェンジャーとなる可能性があります。まるで強化版QRコードリーダーのようなものです。つまり、現実世界のオブジェクトをスキャンし、顧客がそれとインタラクションできるようにするのです。
当社の Family Bucket List を使用すると、家族は一緒に行うアクティビティのリストを保存したり、映画やレストランへのリンクを共有したり、SquareHub を離れることなく Amazon、eBay、IMDb、Yelp で買い物をしたりできます (当社は紹介料で収益を得ます)。
Fireflyを使えば、家族が商品、日用品、書籍、映画、CDなどを特定し、簡単に「Bucket List(バケットリスト)」に保存できます。AndroidやiOSの機能よりもはるかに高速です。家族へのギフトやウィッシュリストへの追加も非常に簡単になります。また、Fireflyは、電話番号、ウェブアドレス、メールアドレスを家族が素早く特定して対応し、SquareHubで他の家族と共有するのにも最適です。
SquareHubへのFireflyの導入は非常に簡単でした。Fireflyを利用したいアプリケーションは、システムに登録してアイテム(商品、書籍、電話番号など)のデジタルIDを取得するプラグインです。FireflyはこれらのIDをAmazonカタログから検索できるように処理します。FireflyをMobile Associatesプログラムと組み合わせることで、新たな収益源も得られます。
Fireflyは基盤となる技術と統合の複雑さを完全に抽象化していますが、将来的にはFirefly SDKをアプリケーションに完全に統合し、ユーザーがFireflyアプリに切り替えることなくSquareHub内で直接商品をスキャンできるようにしたいと考えています。また、Amazon開発者として、Kindle Fireタブレット向けのアプリケーションを既に公開しており、FireflyのテクノロジーとSDKがKindle Fireプラットフォームでも利用可能になり、すべてのAmazonデバイスで一貫したユーザーエクスペリエンスを提供できることを期待しています。
開発者へのメッセージ: 点灯しましょう!
全体的に見て、このスマートフォンの技術的性能は非常に優れており、開発者は学習曲線の急峻さを恐れて、躊躇することなく積極的に活用すべきです。Androidの標準的な知識はすべてそのまま応用できるため、Fire Phoneアプリの開発では、新しいコントロール(UI、ジェスチャー、ホームウィジェット)の詳細を学ぶだけで済み、わずか数時間でSquareHubを稼働させることができました。
最大の欠点は、Fire フォン用の完全なシミュレーターが存在しないことでした。つまり、一部のテストは実際の Fire フォン デバイス (HeadTracking API や UI API など) で実行し、一部のテストは通常の Android デバイスで実行する必要があります。
Fire Phoneが発売されたばかりの今、多くの開発者にとって大きな疑問は、Fire Phone向けに最適化されたアプリが、iOSやAndroid向けのアプリと比べて、より多くのダウンロード数やユーザーエンゲージメントを生み出せるかどうかです。適切なアプリがスマートフォンの成功に不可欠な世界において、Amazonがアプリ開発者を説得し、Fire Phoneの革新的な技術を取り入れ、消費者をFire Phoneに乗り換えさせるような差別化されたアプリへと転換させることができるかどうかは、時が経てば分かるでしょう。Fire Phoneは、顧客が切望する次世代のガジェットだと絶賛するコメントがある一方で、AT&Tとの2年契約付きで199ドルという価格を嘆く声も聞かれます。消費者にとっては、時が経てば分かることでしょう。そして、Amazonがどれほど忍耐強いかは誰もが知っています。
しかし、開発者にとってこのスマートフォンは他とは一線を画しており、アプリとユーザーにとっての可能性にきっとご興味をそそられるはずです。Amazonは、特にAndroidアプリを既にお持ちの場合、Fire Phone向けアプリの開発を簡単かつ分かりやすくするために素晴らしい取り組みをしてきました。Dynamic PerspectiveやFireflyといった機能は、アプリをより没入感があり、ユーザーを魅了するゲームチェンジャーとなる可能性があります。
Fire Phone に最適化されたアプリの作成を検討している開発者への推奨事項は、Light it up (点灯) です。
デイブ・コッターは、ファミリー向けソーシャルネットワークであるSquareHubのCEOであり、元Amazonゼネラルマネージャーです。SquareHubの共同創業者であるブルーノ・ボトニヴィクもこの記事に協力しています。