CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例

Preview:

DESCRIPTION

CEATEC 2013 10/4 モバイルセッション4 講演資料です。

Citation preview

Google Glassアプリ開発指南と開発事例

わかめ まさひろCEATEC 2013http://goo.gl/O6oz5h

Friday, October 4, 13

わかめ まさひろ@v vakame

GAE

AndroidTypeScript

AngularJSGlass

Friday, October 4, 13

• Google App Engine• Android• Google Appsなどなど、

Google技術に特化した会社です

Friday, October 4, 13

Google Glassのできること

本講演の内容はXE9に基づきます

Friday, October 4, 13

Google Glassとは?

Google の開発しているメガネ型のウェアラブルデバイス

Friday, October 4, 13

写真・動画を撮る

\カシャ/

Friday, October 4, 13

情報を見る

Friday, October 4, 13

誰かと話す

\話す相手がいない/

Friday, October 4, 13

外観

http://goo.gl/J4vqo より

Friday, October 4, 13

外観

ディスプレイ視界の右上にサブモニタが置いてあるイメージです

景色と画面を同時に見るのは人間には難しいです

Friday, October 4, 13

外観

タッチパネル

下方向にスライドがAndroidでいうBackキー

Friday, October 4, 13

外観ジャイロセンサー

センサー類は他にも色々!

Friday, October 4, 13

外観

上部についてます長押しで録画

シャッターボタン

カメラ

Friday, October 4, 13

外観

普通のAndroid端末と同じでDDMSでスクリーンキャプチャしたりできます

microUSB

電源ボタン(裏

Friday, October 4, 13

外観

耳の裏がスピーカが来るので聞き取りにくいです

バッテリー

骨伝導スピーカ(裏

Friday, October 4, 13

画面表示

Friday, October 4, 13

画面表示

Friday, October 4, 13

指や動作で操作• ちょんとタッチでスリープから復帰• 上むいてスリープから復帰• スワイプで横方向に画面移動• タップで選択

後ろにスワイプ 前にスワイプ

Friday, October 4, 13

声で操作

この画面で Ok, glass から開始

Friday, October 4, 13

声で操作

手でも同じ操作ができます

• ok glass,• google• take a picture• record a video• get directions to• send a message to• make a call to• make a video call to• take a note with• post an update with

Friday, October 4, 13

スペック• Android ICS (4.0.4) • 画面解像度

• 640x360 • 電池容量 570mAh

• スマホの1/3ぐらい…• 普通に使うと8時間程度もつ• 写真・動画撮るともりもり減る

Friday, October 4, 13

Google Glass FAQ

Friday, October 4, 13

Google Glassの位置づけ

ブティックのような場所で受け渡し

Friday, October 4, 13

便利?インターネットに接続して

いないとまるで役に立ちません。単独で役に立つデバイスでは

ありません。

独自に何かを作れば別かも?

Friday, October 4, 13

着けてて疲れない?大丈夫です!

ずっと動画撮ると熱くなって困りはします。

着用できないほどではない

Friday, October 4, 13

Androidアプリとの互換性“今は”

Play Storeが載ってませんADBで転送すれば動かせますGDKという開発キットの提供が予定されているようです(後述

Friday, October 4, 13

プライバシーは?今後の課題です。

撮影する時は音が鳴ります。ディスプレイも光ります。

http://goo.gl/bCoZp

KickStarterにて3Dプリンタで蓋を作った人も

Friday, October 4, 13

他人の声にも反応する?

します。ただし、時計の画面の時のみ。

直近のバージョンだと音声入力できるタイミング増えてるようです

Friday, October 4, 13

通信方式は?

Glassが自力でWi-Fi。AndroidでBluetoothテザリング。

Androidには専用アプリがあります。http://goo.gl/pfzc8

Friday, October 4, 13

道に迷わない?たぶん迷いません。

頭の向きにあわせて地図も動くので、青い線を歩いていけば良いです。

スマホでも同じ事できますけどね

Friday, October 4, 13

日本語への対応?

表示はできます。音声入力は全部英語です。

Googleは日本語の音声入力技術も持っているので、何かハード的な

制約があるのかも…?

Friday, October 4, 13

ARっぽく使える?

現実の何かに映像重ねたりは難しいです

ハード的な制約Mirror API上の制約

サブディスプレイが視界の隅にあるだけ

Weak!本当は猫の気持ちいい

ポイントをオーバーレイしたい

Friday, October 4, 13

Mirror APIの制約?Glass本体にアプリを

インストールできません。全てのアプリは何をするにも必ず

Google Serverを中継します。

詳しくはこの後!

Friday, October 4, 13

頑丈?

箔が剥がれる折れる

が2大パターンFriday, October 4, 13

誰でも開発できる?Mirror API がまだ一般に公開されていませんハードも出回ってません

Google Glassの開発はGoogle Glassがないとなかなか難しいです

iOSユーザにAndroidアプリを作らせるのに等しいです

Friday, October 4, 13

Glasswareのできること

Glassware = Mirror API を用いたGlass アプリのこと

Friday, October 4, 13

アンケート

• Android開発できます!

• Webアプリ開発できます!

• on Webサーバ!

• on ブラウザ!

Friday, October 4, 13

アンケート

• Android開発できます!

• Webアプリ開発できます!

• on Webサーバ!

• on ブラウザ!即座に開発可能!

Friday, October 4, 13

構成

apkも使えますが配布方法がない

GoogleServer

Glassware Server

Glass

apk install

Friday, October 4, 13

要点

Web屋さん大活躍の時!

GoogleServer

Glassware Server

Glass

RESTful API

逆に考えるとブラウザからGlassの全機能を利用できるとも言える

Friday, October 4, 13

必要な知識

Mirror API以外のGoogle APIで練習する

と良いです

• Webサービスの作り方

• OAuth2周り

• AccessTokenの取得 & scope など

• GoogleのAPIの使い方

• Cloud Console• API Explorer

Friday, October 4, 13

Reference曰く…

• Timeline• Subscriptions• Locations• Contacts

4つ!

Friday, October 4, 13

Timeline

Friday, October 4, 13

Timeline

概念図です!

↑時計が基準 ←新しい  古い→

↓Glass上ではこの単位で表示

メモ

↓ピン留めされたカードは更に左に

Friday, October 4, 13

Timeline

メモ

↓sub timeline

←ドッグイア

タップで潜るスワイプダウンで戻る

Friday, October 4, 13

Timelineが行うこと• ユーザの作成したアイテムの表示• ユーザに情報の配信を行う

• テキスト・HTMLの配信• 利用できるHTMLタグは限定的• JavaScript・音声・動画はダメ

• 画像・動画の配信• ユーザのリアクションを受ける

Friday, October 4, 13

ユーザによるアイテム\take a picture/\record a video/

\take a note with/

GoogleServer

Glassware Server

ユーザが望めば後述のSubscriptionsを使ってGlasswareに通知できます

Friday, October 4, 13

ユーザへの配信• HTML, テキスト, 画像, 動画 など• 公式にPlaygroundがあります!

• 雰囲気をつかむのに最適• http://goo.gl/L4t6y9

PCのWebブラウザで使えるCSSも配布されています!

Friday, October 4, 13

ユーザへの配信• 複数ページに渡るアイテムも配信可能です。• Gmailの場合

Friday, October 4, 13

ユーザのリアクション• 配信時にメニュー設定を行う• Subscriptions経由で通知が来る

• REPLY, REPLY_ALL• DELETE• SHARE• READ_ALOUD• VOICE_CALL• NAVIGATE• TOGGLE_PINNED• VIEW_WEBSITE• PLAY_VIDEO• CUSTOM

全てのリアクションはSubscriptionsを使って、Google Server経由で伝わってきます。

つまりリアルタイム性は低いです。

Friday, October 4, 13

Subscriptions

更新通知のAPIです

Friday, October 4, 13

Subscriptions• 事前指定のURLにコールバック• 2種類あります

• Timeline の挿入・更新・削除• Locations の挿入・更新・削除

• 注意点• 登録時に自システム固有のuserTokenを指定していないと誰についてのコールバックか判別できない

Friday, October 4, 13

Locations

Friday, October 4, 13

Locations

• 位置情報が取れます

• 過去の位置情報が時系列で取れる

• 最新の位置情報のみも取得可能

10分間隔で新しい位置が更新されます

Friday, October 4, 13

Contacts

Friday, October 4, 13

Contacts

• だいたいアドレス帳みたいなもの

• 単体の何か(人物)

• グループ

• Glassware もここに表示されるアプリも人も同じ

Friday, October 4, 13

That’s all

あなたはMirror APIの

全てを理解しました

Friday, October 4, 13

開発ガイドラインhttps://developers.google.com/glass/guidelines

Friday, October 4, 13

Glassのためのデザイン

• Google Glassは既存のモバイルプラットフォームとは違う

• GlasswareはGoogle Glass専用に作ろう

• テストもかならず実機上で行おう

Friday, October 4, 13

邪魔をしない

• あるべき時に起こることをユーザは望んでいる

• 頻繁であったり、期待に反する通知をしないようにする

• ユーザが通知を無視しても問題ないように作る

Friday, October 4, 13

ナイスタイミング!

• 最新の情報を小気味よいサイズで届ける

• ユーザの反応にも、予測可能なタイミングで、タイムリーに行う

Friday, October 4, 13

びっくりを避ける

• どのプラットフォームでも言えることですが、ユーザの期待しない動作で驚かさないこと

• 何かをユーザに変わって行う前に、明示的に許可をとること

Friday, October 4, 13

デザインガイドライン

http://goo.gl/yqLZu推奨されるデザインについての

記述があります。画像素材の推奨されるサイズも。

Friday, October 4, 13

GDKについて

Friday, October 4, 13

Glass Development Kit• Google Glass用ネイティブアプリ開発が行える開発キット• GlassらしいUI, Experienceに

• Android SDK+!のようです• 現時点で未公開• Android SDKだけ使ったサンプルアプリは既に公開されています

Friday, October 4, 13

Google Glassとアップデート

Friday, October 4, 13

月1 Version Up•XE5 → XE9 まであがっている

• eXplorer Edition の略?•XE6

• ビデオストリーミング再生対応• 写真共有時にキャプション追加

•XE7• 共有先を明示的に登録しなくてよくなった

Friday, October 4, 13

月1 Version Up

• XE8• Glasswareでボイスコマンドを受けられるようになった• Take a note with... • Post an update... 

• WebSiteを開けるようになった• アイテムにURLを添付できる

Friday, October 4, 13

月1 Version Up

• XE9• XE6で追加されたビデオのストリーミング再生のやり方が変わった• 古い方法はdeprecatedに

• ビルトインのアクションの表示名が変更できるようになった

Friday, October 4, 13

開発事例

Friday, October 4, 13

Third Party•The New York Times•Path•Facebook•Twitter•ELLE•Evernote•Tumblr•CNN Google I/O 発表時

Friday, October 4, 13

作り•向いている

• 友達に写真をシェアする• 稀に興味あるの情報が送られてくる

•向いていない• 頻繁にくる通知(1分に1回とか

Twitterの場合、mentionとDMのみ通知がきます

Friday, October 4, 13

Glass Tasks

弊社製Glasswareです

Friday, October 4, 13

機能

•Google Tasks と連携

•Google Glass上にタスク表示

•Google Glassからタスク登録

•最寄りのタスクがあれば通知Mirror API Only!

Friday, October 4, 13

コンセプト✓原稿を書く

✓牛乳を買う (スーパー)

✓同僚に1000円返す (会社)チェック & タッチで消化

ok, glass. take a note with Glass Tasks. Buy a milk!

音声でタスク登録!

Friday, October 4, 13

コンセプト

自宅

スーパー

猫カフェ

会社

牛乳!一部タスクは場所に依存します!

Friday, October 4, 13

利用方法

他 Webブラウザ

Friday, October 4, 13

利用方法タスク一覧

タスク完了

CUSTOMアクション

Friday, October 4, 13

利用方法タスク一覧

ピン留め

ピン留めすると時計の左側に常時表示できます。

Friday, October 4, 13

利用方法

タスクに設定された緯度経度の近くを通ると通知がきます。そのままナビゲートもできます。

Friday, October 4, 13

構成

+on

GAE/Java

Mirror API & Tasks APIand

Friday, October 4, 13

必要な権限•OAuth2認証

• https://www.googleapis.com/auth/userinfo.profile• ユーザ情報取得

• https://www.googleapis.com/auth/glass.timeline• GlassのTimelineの操作

• https://www.googleapis.com/auth/glass.location• Glassの位置情報の取得

• https://www.googleapis.com/auth/tasks• タスク情報の書込

• https://www.googleapis.com/auth/tasks.readonly• タスク情報の読込

Friday, October 4, 13

ユーザ登録時処理•ユーザ情報の取得•Subscriptions 2種の登録

• ノートの追加• 位置情報の取得

•ボイスコマンドを受け付けるContactの追加

•Timelineにタスク一覧を表示

Friday, October 4, 13

Subscriptions コールバック•本アプリでは3種類の通知に対応

• タスクを完了にする通知• 新しいタスクを起こす通知• 位置情報アップデートの通知

上2つがTimeline Itemの通知下1つがLocationsの通知

Friday, October 4, 13

定期処理

•3時間に1回 タスクを読込みTimelineのItemを更新する

Tasksの更新があったらCallbackが欲しいです…

Friday, October 4, 13

ソースコード

お問い合わせください!弊社から提供も可能です。

https://tg-glasstasks.appspot.com/Friday, October 4, 13

まとめ•AR(拡張現実) ではない

•Google Glassは気の利いた情報を摂取するためのもの

•現状はWeb API (Mirror API)のみ

Friday, October 4, 13

ご清聴ありがとうございました。教育請負や技術コンサル受託開発の依頼承り〼

www.topgate.co.jp/contact

Friday, October 4, 13

Recommended