2014-06-26

What's New in Android (Google I/O 2014) 殴り書きメモ

Google I/O 2014 のセッション「What's New in Android」が YouTube ライブされていたので見た。司会の二人は止まることなく口を開き、1 時間のセッションを駈け抜けた。大まかな内容は掴めたけど、テキストに直せるほどの情報はメモしきれなかった。きっと後日公開されるスライドを見て欲しい、ということなのだと思う。

詳しいことは、スライドや他の人のブログに譲るとして、速報的にメモの欠片を箇条書きで出してみる。

Meterial APIs

  • ウィジェット
    • View.setElevation()
    • View.setTranslationZ()
  • アニメーション
    • Activity Transitions
    • Animation curves
    • Animated Reveal
  • アイコン
    • State Animations (StateListAnimator, AnimatedStateListDrawable)
    • Touch Feedback Ripples (RippleDrawable)

Render Thread

  • UI Thread: UI 部品を作るスレッド
  • Render Thread (NEW): 表示するスレッド

Supported Lib

  • CardView
  • RecyclerView
  • Palette
  • RoundedBitmapDrawable
  • ViewPropertyAnimator

カメラとオーディオ

  • Camera2 APIs
  • 新しいオーディオのバッファリング
  • Media Session - フレキシブルなプレイバック・コントロール
  • Media Controller

ステータス・バー

  • Theme attr: android:statusBarColor
  • 固定色 (solid color)
  • 透明 (@color/transparent)

マルチ・ネットワーキング

  • SMS
  • 特定のキャリア機能

Android L での通知

Material テーマ

  • 背景: カード型、影付き
  • 前景: dark text
  • アクセント・カラー: 小さな丸アイコンの中の色を設定 (Notification.Builder.setColor())
  • 小さなアイコン・バッチ
  • 開くビュー (Expanded views) とアクション・ボタン
  • 必要ならカスタム・ビューも OK

Media Style

  • アクセント・カラー: 背景色
  • 最大 6 個までのアクション・アイコン
  • 畳み込んだ時は、最大 2 個まで
  • カスタム・プログレスバー
  • 新しい Media Session API 対応

Hands-up 通知

以下の要件に使われる:

  • 高い優先度
  • 人を誘う
  • 音を出す
  • full screen intent

ロック画面

3 種の通知: 状態によって表示する通知情報が変わる

  • visibility_private
  • visibility_public
  • visibility_secret

通知のスマートなソート

  • カテゴリー: 電話・メッセージ・アラーム・ソーシャル
  • 古いものより、良いものを

Android Studio

ほとんどの情報が黒塗りで公開されず。笑いを誘う。

その他

  • Enterprise
  • ART (Dalvik を置き換える)
  • Android Wear (スマホ・アプリへの通知は自動的に wear にも)
  • Android TV (対応!)

Android Wear 〜 身に付けられる Android

Google I/O 2014 のキーノートで Android Wear SDK が発表された。Wearable、いわゆる「身に付けられる」ガジェットに対して Android アプリを作成できるようになる (もちろん、そのガジェットは Android ベースでないといけない)。

Android Wear として 3 つのスマート・ウォッチが紹介された。

  • LG G Watch (今日から Play Store で発売)
  • Samsong Gear Live (今日から注文受付)
  • Motorola Moto 360 (2014 年夏発売)

(日本での発売は??)

Android Wear SDK

Android Wear SDK を使うと以下の機能を持った「Wear」向けアプリが作れる。

  • カスタム UI
  • センサー制御
  • 音声操作
  • データ転送 (スマホやタブレットへ)

デモ by LG G Watch

Android Wear では「OK Google」からの音声検索、Android 通知の受信なども基本的にサポート。タッチパネル方式で、左右のスワイプでページをめくったり、上下のスワイプで通知を表示するデモが行なわれた。

対応しているアプリとして、Gmail, Twitter, Facbook、万歩計、天気予報などを見ることができた。この他、音声入力からリマインダーを設定したり、Google Keep にノートを取ったりと機能も多彩。

極めつけは Lyft を使って車を呼ぶデモまで見せた。

Android Wear SDK は、今までと一味違ったサービス提供の門戸を開きそう。

Android One 〜 低価格 Android スマートフォン発表

Android One

Google I/O 2014 のキーノートで android one が発表された。$100 を切る低価格スマートフォン。スペックは以下の通り:

  • デュアル SIM
  • SD カード
  • 4.5 インチ・ディスプレイ
  • FM ラジオ

あとがき

Android プロジェクトが初めてお披露目した時、Android スマホは低価格でスペックの低いものになると言われた。iPhone が高級スマートフォンを代表するなら、iPhone が狙えないターゲットに向けて発売されると。主に中国・インド・東南アジアなどの市場を目指すだろうと。

ところが蓋を開けてみれば、各社フルスペックで高価な Android 機がメイン・ストリームになった。Android One は、原点に戻ってターゲットを絞り直したような製品に思える。安価な Android を大勢が持つことで、世界は変わる、と言われたけれど、それは実現するのかしらん。

Android L 〜 Google I/O 2014 Keynote より

2014 年度の Google I/O 基調講演 (Keynote) は、Apple の WWDC と足並みを揃えるかのように開発者向けの発表に重きが置かれた。Android 5.0 Lolipop の発表はなかったし、Nexus シリーズの新作発表もなかった。少しばかりスマート・ウォッチやスマート・テレビといったガジェット類が紹介されたけど、発表の中心は開発者向けの SDK やサービスだった。

今年は発表内容が多い上に、一つの内容がボリュームたっぷりだった。複数回に分けて、ぼくが興味を持った点に絞ってまとめを書く。まずは Android L について。

Android L

新しい Android のスタイル。明言されなかったけど、Android 5.0 Lolipop は「Android L」なのかもしれない。リリースは今年後半を予定。プレビュー版は明日リリース。

Material Design — インターフェースの変更

L は Material Design という新しいデザインを導入する。iOS がバージョン 7 で見た目を変えてきたのと同じくらいインパクトがある。

Material Design はスマートフォン、タブレット、WEB でインターフェースを統一する。Windows の様なフラットデザインと、iOS の様な三次元効果 + アニメーションを融合させた新しいスタイル。例えば Google Now の様なカード式の見た目、更にカードをタップするとそのカードが浮き上がり少し大きくなる様に見えるアニメーションをシンプルな API で提供する。

通知センターも改良される。Google Now タイプのカード式。通知の優先度を変えられたり、通知カードを広げたり、アクション用のボタンを配置することが可能。この他、Hands-up 通知と呼ばれる「重要」な情報のみをユーザー操作に影響を与えないよう表示する機能も付いた。これはフルスクリーン時でも通知されるらしい。

ロック画面にも通知センター機能が追加される。これは、情報の種類 (プライベートか、それとも周りの人に知られても良いものか?) によって表示が変わる。通知センターと同じように全ての情報が表示されるもの。通知が来たことだけを知らせるもの。複数のパターンが用意されている。

ロック画面の解除にも新機能。Android Wear などと Bluetooth 通信することで、認証画面なしでロック解除が可能になるという。今は「時計」くらいしかガジェットが存在しないけど、この先、ロック解除を目的とした「指輪」が作られるかもしれない。

ART

Android のランタイムが従来の Dalvik から ART に変わる。ART 自身は今の Android (KitKat) でも使えるけれど、L 以降は ART がデフォールトになる。

ART に変わることで、アプリの起動時間が短くなったり、実行性能が上がったり、バッテリー消費が抑えられる。

Project Volta

Android が省電力に力を入れる。それが Project Volta。紹介されたのは 3 つの機能。

1 つ目は Battery Historian。バッテリーの利用状況を調べることが出来るツール。これでバッテリー消費の激しいサービスやアプリ、機能を見つけて改善を促すものと思われる。

2 つ目は Job Scheduler API。適切なタイミングでアプリ/サービス(?)を起動・終了させることができる。ずっと起動しっぱなし... ではなく、必要な時だけ「動かす」ことでバッテリー消費を減らすことが出来る。

3 つ目は Battery Saver。省電力モードかな。

その他

この他にも色々発表があったけど、長くなるので箇条書き。

  • 64 bit CPU 対応
  • Android Extension Pack: GPU の強化
  • 仕事用と個人用のデータを分離 (どうやるのかな?)

あとがき

Android L は、Android のスマートフォンやタブレットだけでなく、TV や Wearable にも同じ UI を提供する。機能としても、Android ファミリーの「連続性」を強く意識しているように感じた。で、どこからどこまでが「Android L」なのかが分からない。

ともかく、Android L で Google はスマホ・タブレットの世界からもっと広い「家電」へと腕を伸ばしてゆくことになりそう。普及がどれくらいのペースで進むか楽しみ。

2014-06-03

【WWDC】iOS 8 開発者向け新機能

2014-06-03 の WWDC で Apple は開発者向けの発表を行なった。特に新 SDK はアップル・ストア始まって以来の大きなリリースになるという。新 API の数は 4,000。

TestFlight

TestFlight は開発中アプリのテスト公開用プラットホーム。Burstly 社が開発していたけど、2014 年 2 月に Apple により買収されていた。その TestFlight が Apple の正式サービスとして再開される。価格は無料。

アプリ拡張

他のアプリとの連携が可能になる? やり方はよく分からないけど、一度 iOS のセキュリティ・システムを経由する形で、アプリ間の連携が可能になるっぽい。例えば iOS 標準の「共有」項目に自分のアプリを追加したり、アクションを追加したりできる。

Notification Center に置くウィジェットの開発も、この機能を使う。

サードパーティー・キーボード

システムワイドに使えるサードパーティー・キーボードの開発。

Touch ID

指紋認証をアプリにも組み込めるようになった。アプリのログインなどに利用できる。

HomeKit

家庭のデバイスと連携するための仕組み。ライト・鍵・カメラ・ドア・温度計・プラグ・スイッチ etc. を iOS から操作できるようになる。デバイス側の開発も必要なので家電メーカーの開発を待ちしかないのかな?

Cloud Kit

iOS 用のサーバーを提供・開発に利用する仕組み。Amazon EWS や Google App Engine を使わなくても、サーバー・システムを開発できる。

Metal

OpenGL を置き換える Apple の 3D エンジン。特にゲームでオーバーヘッドへ少なくして 10 倍の速さを叩き出す。

XCode - Swift

Objective-C に代わる新しい開発言語 Swift を発表した。

Swift は Objective-C にないモダンな機能を提供する:

  • Closures
  • Generics
  • Namespaces
  • Type interface
  • Multiple return types

Swift は REPL を採用しインタラクティブな開発が可能となる。コード量の削減も大きい。

これは WWDC で出た Objective-C のサンプル・コード:

if (myDelegate != nil) {
  if ([myDelegate respondsToSelector:@selector(scrollViewDidScroll:)]) {
    [myDelegate scrollViewDidScroll:myScrollView];
  }
}

このコードが Swift だと、こうなる:

myDelegate?.scrollViewDidScroll?(myScrollView)

う〜ん、すごい。サラリと説明されてたけど Autovectorizer (自動ベクトル化) もサポートするらしい。メモリー管理は GC (ガベージ・コレクション) ではなく ARC。ランタイムは Objective-C と同じ。

落ち穂拾い

  • Camera APIs (ホワイトバランス etc.)
  • PhotoKit
  • HealthKit
  • SpriteKit
  • SceneKit

盛り沢山。

【WWDC】iOS 8 新機能

2014-06-03 の WWDC で Apple は iOS 8 を発表した。ベータ版は今日リリース。正式版は今秋リリース。サポート・デバイスは iPhone 4s+, iPod touch 5G, iPad 2+, iPad mini+。

iOS 8 の新機能を列挙する。

Notification Center

iOS 8 の Notification Center は (Yosemite と同じく) Today と Notifications だけになった (iOS 7 では Today, All, Missed の 3 つ)。

Notification Center のバナー型通知では、その場でリアクションを返せるようになった。例えば Message が届いたら、アプリを開かず返事を送れる。カレンダーの招待が来たら、その場で「OK」か「拒否」を選べる。Facebook の通知なら「いいね」も可能。

ロック・スクリーンでも通知にリアクションが返せる。

QuickType

iOS のキーボード入力に予測入力が付いた。コミュニケーションを理解する点がスイート。例えば、メッセージで「映画か食事か」と質問されたら、入力候補には「映画」「食事」が現れる。

Enterprise

企業向け機能の対応。企業向けに iPhone/iPad を提供。最初から設定を終えておける (らしい)。

Health

HealthKit という開発用フレームワークが用意される。これを使って体重計や血圧計を作ると、Health アプリに情報が集約される。病院がアプリを作ることも可能。

Family Sharing

家族とデータを共有する機能。家族の人数は 6 人まで。

まず「家族」を招待する。Family Sharing がオンになると以下のデータを共有できる。

  • iTunes/App Store で購入した音楽・映画・アプリ・本
  • 「家族のフォトストリーム」に入っている写真と動画
  • 自分の居場所
  • クレジット・カード (子供が購入する時にペアレンタル・コントロールが出来る!)
  • その他 (カレンダー、リマインダー、デバイスを見つける)

Photo

写真アプリに検索機能が付いた。時間・アルバム・場所で検索が可能。

また写真アプリに編集機能が付いた。

写真の保存場所は iCloud。ストレージ・サイズの価格帯は下記の通り

  • 5 GB: 無料
  • 20 GB: $0.99/月
  • 200 GB: $3.99/月

(※2014-06-03 現在、5 GB・無料、10 GB・2,000円/年、20 GB・4,000円/年、50 GB・1 万円/年)

【WWDC】OS X 10.10 Yosemite

2014-06-03 の WWDC で Apple は OS X 10.10 Yosemite を発表した。発音は「ヨセミティー」と聞こえた。開発者プレビューは今日リリース。正式リリースは秋を予定。価格は 0 円。

Yosemite は iOS 7 が採用した新デザインを踏襲する。アプリ・アイコンは刷新 (大きな変更のものから小さな変更のものまで)。ウィンドウのタイトル・バーは半透明になる。以下、新機能を列挙する。

Notification Center

iOS ライクな通知画面が加わった。カレンダー、リマインダー、天気、株価、ウィジェットが配置される。2 つのセグメントに分けられていて、一つは「Today」、もう一つは「Notification」。前者は、Android の Google Now に似ている様に見える。

Spotlight

スポットライトは画面の真ん中に現れる。検索キーワードが入力されると、インクリメンタルに検索結果が表示される (画面の真ん中に検索結果が現れるので見やすい)。スポットライトの検索対象は、アプリ・ドキュメント、連絡先・カレンダー・メール・メッセージ・辞書・システム設定に加えて、Wikipedia・地図・ニュース・Bing・App Store・iTunes Store・iBooks Store・ウェブサイト・Movie showtimes。

検索結果を選択すると、プレビューが見られるようになった。地図検索には Yelp のレビューなども載る。

iCloud Drive

iCloud Drive は Finder アプリからアクセス可能になった。iCloud 内のファイルは全てのデバイス (iPhone/iPad 含む) で自動的に同期され、検索可能で、タグ付けが可能。

Mail Drop

メールに添付したファイルは最大 5 GB まで Apple のサーバーに送られる。メール本文にファイルは添付されない。受信者は Apple のサーバーから添付ファイルを受け取る。この仕組みを Mail Drops と呼ぶ。

メールが軽くなるのが利点。

AirDrop

AirDrop が iOS・OS X でのデータ転送に対応した。今までは iOS 同士でしかファイルを送れなかったものが、iOS から Mac にデータを送れるようになる。気に入った写真をケーブルで繋いで Mac に入れる必要はなくなった。AirDrop で写真を転送できる。

Handoff

Mac で開いているものを iOS で開いたり、iOS で編集しているものを Mac で編集の続きができたりと Mac と iOS の垣根を無くす。デモではウェブ・ブラウザーの閲覧とメールでの編集をやっていた。

電話のサポート

iPhone にかかってきた電話を Mac で受けることができる (発信も可能)。Mac で作業中に電話がかかってきても、気がつかなかったということがなくなる。