ひつじのにっき

mhidakaのにっきです。たまに長文、気が向いたとき更新。

[Android]Google I/O 2012 Keynoteレポート GoogleIO初日、基調講演の概要と考察

Google I/O 2012に参加しています!
初日のキーノート、セッション、展示メモを簡単にまとめました。単純に発表まとめは沢山あるのでここではどのような意図を持って追加された機能か、考察も含めて(忘れないように)書いてます。

カウントダウン、そしてJerryBeanの登場。
事前の周辺情報のとおり、Android 4.1です。Galaxy Nexusには即日OTA、ソースコード公開などは7月中旬です。

Android 4.1 JellyBeanの特徴は以下の通り。
バージョンコードが示すとおり、機能改善が中心でこちらも予想の範疇。大幅な改良はありません。
ただし、通知バーに対する大幅なバージョンアップが入っており、通知ポリシーはしっかり見直したほうがいいでしょう。

VSync | Triple Buffering | Touch Responsiveness

同期処理、描画パイプラインのトリプルバッファリング、レスポンスの高速化。
最後のレスポンス高速化は、同期処理導入による効果でしょうね。
スレッド制御に関して手を入れている模様です(フレームワーク側の差分を早く見たい)。

・同期制御:よりすばやいタスクスイッチ、最適化。
→ コンピュータ、ロボット制御では嬉しい。反応速度が上がることを示してます。

ホーム巣画面の強化:使いやすく、ウィジェットの自動調整

→ 特にオフラインモード付きVoice Typingが面白いですね。音声インターフェイスの向上はSiriやGoogle Glassなどホーム画面に変わるユーザーインターフェイスの窓口になっていきます。

そのほかCameraアプリの強化、ノーティフィケーションの変更、2本指ジェスチャーへの対応。
→ 2本指ジェスチャーは出来る操作が増えバリエーションがもてるのですが、わかりやすさは?。今後の普及度合い次第です。

新しいUIの提唱:Voice Seartch / Google Now

新しく、Card UIが発表されました。これは情報のまとまりをカードにたとえて、
横串検索や、地理情報に関連した情報を表現するための仕組み、デザインです。

地理情報に基づいてリコメンテーションを提供するGoogle Nowなどで利用されています。
現在の状況だけでなく、次の予定に応じてリアルタイムに情報を提供することでユーザーをナビゲートできる機能。
これはGoogleのポジションを明確にあらわした機能です。もともと検索への導線としてAndroidを進めていましたが、リコメンテーションという形で検索結果を目新しい物(付加価値も向上しています)に変えています。お色直しだけでなくリコメンテーションするために情報を統合、解析(ビッグデータの地理ごとの紐付け)が行われているのがポイントです。

JerryBean


Nexus 7の登場。7インチタブレットながら、たて画面が標準。
タブレットUIではなくてPhone UIの延長に位置している。たてを標準にしていることで見えてくるのは、電子書籍などのコンテンツ(Kindle FireiPad)をターゲットにした普及価格帯の製品ということ。iPadと戦うには不十分だと思いますが、Tegra3を搭載、デュアルGPUなどでFireとは十分やりあえる性能に。米国中心でコンテンツを集めているので、まずは北米市場から。こちらも7月中旬に発売です。

API Levelは16に。
Platform Developement Kit / JerryBean PDK。ハードウェアに最適化しているらしい。情報収集中。

Google Play

アプリケーション暗号化(端末に紐づいた暗号化が行われます)。アップデートの最適化。
C2DMは、Google CloudMessagesAPIに名前を変更。FireSideChatによるとC2DMのサポートも継続、ということでした。しばらくは共存することになると思いますが、今後はCloud Messageing APIを中心にフォローすることになります。

Chromeブラウザが標準に置きかわる

JerryBeanより、Webブラウザの標準がChromeに変更、ただし、WebViewなどはそのまま影響なし。クロムもWebViewもおなじWebKitを利用していることもあり、統合にいたりました。※いまPreリリースされているJerryBean(GoogleIOで配布したものとOTAで振ってきたもの)はまだプレということで今までどおり標準ブラウザとして乗っている模様です。

Tungsten=Nexus Q



Android@HomeとGoogleTVの流れを汲んだ製品ぽいです。クラウドSTBという趣で、Andoridベースとのこと。テレビやオーディオへのインターフェイス。Andoirdタブレットスマートフォンから操作する前提で作られています。フロントエンドをタブレットなどに譲ることでコンセプトを明確にした意欲的な製品ですが、価格が299ドルと高価なこともあり、普及するかという意味では難しいかもしれません。
(テレビやオーディオをきくならAppleTVという良い製品があるので)ファーストステップとしてはOK、競合とのアドバンテージを明確にしていく必要があるでしょう。

回答になりうる1つの答えが「とても多くいるAndroidデベロッパーがアプリ提供できる」という点。ADKやUSBホスト、WiFi連携などハードウェア対応が進むとホーム・エンターテイメントの分野でも面白くなってきます。

NFCは普及期へ

Nexus QもNexus 7NFC搭載で、これからの標準インターフェイスとして一般化していきます。

Android Developer Pack

GalaxyNexusとNexus7、NexusQの開発パックをいただきました。ありがとう!

左側のクロムクッションは別に買ったものです。せっかくなので一緒に:)

[Android] Google I/O 2012 Keynote Google Glassの登場


デモンストレーションのみでしたが久々の未来を感じる発表でした。
モスコーンセンターへ、スカイダイビングして荷物を届ける、屋上で宙を舞うバイク、垂直な壁を駆け下りる人、など
すべて人の目線からの動画を送って、Glass型のデバイスのメリットを最大限にプレゼンしてました。
Webカメラでも同じことは出来るのですが、それはワープロとPCの関係のようなもの。

Google I/Oでもっとも盛り上がった発表です。



開発者向けリリースは2013年(来年初頭)、1500ドル。Google I/O参加者のなかでも米国居住者だけの特典です

[Android] Google I/O 2012セッションレポート What's New in Android? (Android 4.1 JellyBeanの詳細)

What's New in Android?


マイナーバージョンアップ、機能向上とアプリケーション強化に注力
以下がセッションメモと写真です。

 - ウィジェットとLive壁紙
   アニメーション ViewPropertyAnimator / LayoutTransition
   view.animate().XXXX でアニメーション設定が可能
   view.animate().rotationY(180).withLayer();
   Start and End アクションリスナーが追加
   LayoutTransition 
   
 - Framework tidbits
   TextViewの改良。メモリ管理の改善、スタイル情報を含んだコピペ
   
 - ActivityAnimationにZoomアニメーションを追加

 - XML属性の追加
   ViewやImageViewでサイズ取得APIが変更
   
 - 国際化対応:右から左へのテキスト描画の対応、Arabicフォントの追加
 
 - Accessibility
   ジェスチャ対応(スワイプなど)、
   
 - External Storage Accessパーミッション(読み込み)を追加
 
 - Renderscript Compute
   NEON命令の対応、X86エミュレータ
   
 - マルチメディア
   Media制御は MediaCodec APIsを参照
   オーでイオレイテンシの制御、
   NFCBluetoothをつかったデータ転送に対応
 
 - Google Play
   ユーザーコメントへの返信が可能に
   In-app Billing, 売り上げレポートなど多数の機能拡張
 
 - Tool
   エミュレータの機能拡張、Androidデバイスを通じて
   Sensor、マルチタッチをサポート
   ADT,
   
 - Notifications in 4.1
   contentView, icon 程度が表示できる要素(API Level 1〜15)
   bigContentView ,priorityが追加された
   
   プライオリティ(優先度)
   Max-High-Low-MINまで作業の優先度にあわせて指定する
   なにをしたらいいか、ヒントとして利用する
   
   BigContentView
   ノーティフィケーション最初の大きな変更。ContentViewでは小さいレイアウトしか出来ない
   大きなレイアウトを指定できる
 
   Actions
   アクションボタンを指定すればワンクリックで操作が出来るようになる。
  
   スタイルはPictureやテキスト(上限は4Units)、Inbox(メール、メッセージ)
   など自由に選択できる。

   Magical incantations
   プルダウン、スプレッド、ストレッチ、スクリュードライバーなどあたらしい操作が増える。
   
   ボタンを長押ししたら、誰が出したノーティフィケーションか分かる。
   使い方の例はGoogleのアプリやFoursqueareのAndroidアプリを見て欲しい。








[Android] Google I/O 2012 セッションレポート Media Codec APIs in Android 4.1

Media Codec APIs

JellyBeanから追加された機能の一つMedia Codec APIについてのセッションです。

できること

APIレベルでの解説でしたが、MediaCodecAPIで出来ることは
- 今の機器で対応しているコーデックに対してのオペレーションが可能になる。
- いままではすべて隠蔽化されていたけどフレーム単位、コンテナの違いなど動画・音声のコーデック業界を取り巻く細かい違いは吸収できる
- APIはOpenMAXのインターフェイスがそのまま見えたイメージ

簡単なまとめ

コーデックの追加などは出来ませんが(自分でソフトウェア実装して自分のアプリでのみ使うのは例外として)カット編集やエフェクターなど動画処理が楽になります。特にコンテナの違いを吸収できる手段になりそうなのはマルチメディア処理を手がける人には福音かも。

詳細

APIリファレンスは以下の通りです。
http://developer.android.com/reference/android/media/MediaCodec.html
http://developer.android.com/reference/android/media/MediaCodecList.html

MediaCodecAPIs in Android jellybean

 - メディア処理のアーキテクチャについて(絵)
   mp.prepare(); ← ストリーミングプロトコル、ファイルフォーマットが
   未サポートだったらどうなるだろう?
   
 - Low-Level Media APIsは3つのパートから構成
   ファイルパーサー
   メディアコーデッククエリ
   デコード/エンコードファンクション
   
 - MP4/3GPPのファイルフォーマット構成について
   <写真>
   (サンプルデータ単位まで説明)
   
 - MediaExtractorがメディアを処理する:defaultのファイルパーサー。
   MP4や3GPP等メディアからサンプルを読み込む
   http://developer.android.com/reference/android/media/MediaExtractor.html
   
 - MediaCodecList / MediaCodecInfo
   対応コーデック情報を持つ。サポートしているコーデック一覧や
   コーデックごとの細かい情報を取得できる。機種に依存。
   
 - MediaCodec API解説
   encoder/decoder コンポーネントを記述できる。