複数 アクティビティの利用を勘案する


アスペクト比が大きい端末では、ユーザーの生産性を上げるマルチウィンドウが利用しやすくなっています。Android 7.0 以降のプラットフォームがサポートされている端末では、マルチウィンドウを実装したり、アクティビティ間でデータのドラッグ&ドロップを利用する標準的な方法が提供されています。詳しくは、ドキュメントをご覧ください。

テストは非常に重要です。高アスペクト比の端末が手元にない方は、ハードウェア プロパティで適切な画面サイズや解像度を設定したエミュレータを使ってテストしてください。詳しい説明は、エミュレータのドキュメントに掲載されています。

多くのアプリがすでに高アスペクト比の端末に対応しています。いくつかの手順を踏むだけで、そういった端末の長所をフル活用したアプリやゲームを作ることができます!



Reviewed by Yuichi Araki - Developer Relations Team


Google Cloud に代表されるクラウド技術の進化が引き起こすその先の世界を、機械学習、VR / AR、IoT などの領域で活躍されているスタートアップの方々と一緒に議論するイベント「INEVITABLE ja night」。

第 3 回目は「クラウドとモバイルが加速するキャッシュレス社会への不可避な流れ」がテーマです。講演会後には恒例の交流会も行います。参加者様同士の交流はもちろん、日頃の業務の課題や悩みについても、ご相談/共有いただける良い機会です。

キャッシュレス化に関するテクノロジーやビジネスにご興味のあるビジネス企画者、スタートアップ企業の方々のご参加をお待ちしています。


【開催概要】
イベント名 : INEVITABLE ja night - “インターネットの次にくるもの”
第 3 回 クラウドとモバイルが加速するキャッシュレス社会への不可避な流れ

日程 : 2018 å¹´ 2 月 16 日(金) 19:00 〜 21:00(開場 18:30 より)
会場 : グーグル合同会社
定員 : 200 名
ハッシュタグ : #inevitableja


プログラムの詳細や参加の申し込み手続きは 1 月上旬開始を予定しています。メールアドレスをご登録いただいた方には、情報更新の際にお知らせをお送りします。ご登録方法は事前登録サイトをご覧ください。


皆様のご参加をお待ちしております。



Posted by Takuo Suzuki - Developer Relations Team


先月、Android 8.1 デベロッパー プレビューのアップデートが公開されました。今月に入ってすでに一般ユーザー向けに公式リリースされています。Android 8.1 では、Oreo プラットフォームに Android Go(メモリが 1GB 以下の端末)の最適化、端末上の人工知能を加速させる新しい Neural Networks API など、いくつかの的を絞った機能拡張が追加されます。また、ユーザーやデベロッパーのフィードバックにお応えし、いくつかの小さな Oreo の機能拡張も含めています。

12 月の公式リリースでは、サポート対象となる世界中のすべての Pixel および Nexus 端末に Android 8.1 が提供されました。対象端末には、Pixel 2 と Pixel 2 XL、Pixel、Pixel XL、Pixel C、Nexus 5X、Nexus 6P が含まれます。

今回のアップデートの内容


今回のプレビュー アップデートには、公式 API(API レベル 27)、最新の最適化やバグの修正、2017 å¹´ 11 月のセキュリティ パッチ アップデートなど、Pixel および Nexus 端末向けの最終版とほぼ同じ Android 8.1 システム イメージが含まれています。このイメージは、互換性テストや、Neural Networks API などの機能をはじめとする Android 8.1 の新機能を使った開発に利用できます。

Neural Networks API は、TensorFlow Lite や Caffe2 などの端末内機械学習フレームワーク計算や推論を高速化します。TensorFlow Lite は、Google のモバイル用クロスプラットフォーム ML ライブラリで、現在、デベロッパー向けに公開されています。ダウンロードやドキュメントは、TensorFlow Lite オープンソース レポジトリをご覧ください。TensorFlow Lite は、Neural Networks API を使ってモバイル端末上で MobileNetsInception v3Smart Reply などのモデルを効率的に実行します。

さらに、Pixel 2 ユーザーは、端末で Android 8.1 アップデートを行うと、新しいデベロッパー オプションから Google 初のイメージ処理および ML 用カスタム デザイン コプロセッサである Pixel Visual Core を利用できるようになります。これが有効になると、Android Camera API を利用するアプリで Pixel Visual Core を使って HDR+ ショットを撮影できるようになります。詳しくは、リリースノートをご覧ください。

アプリの準備


Android 8.1 はすでに正式にリリースされています。既存のアプリのテストをすぐに始めることが重要です。

Pixel や Nexus 端末をお持ちでない方は、テスト用の Android 8.1 エミュレータを設定できます。問題を発見した場合は、修正して、アプリのプラットフォームのターゲットを変更せず、すぐに Google Play のアプリをアップデートしてください。

準備ができたら、Android 8.1 の新機能と API を活用してみましょう。詳しくは、デベロッパー プレビュー サイトAPI 27 差分レポート最新の API リファレンスをご覧ください。

Android Studio で開発をスピードアップ


Android 8.1 でビルドする場合、安定版チャンネルで入手できる Android Studio 3.0 にアップデートすることをおすすめします。Android Studio 3.0 では、新しいアプリのパフォーマンス プロファイリング ツールKotlin プログラミング言語のサポート、Gradle ビルドの最適化が行われているので、Instant AppsXML フォントやダウンロード可能フォントアダプティブ アイコンなどの Android Oreo の機能の開発も簡単になります。

また、Android サポート ライブラリ 27.0.0 へのアップデートもおすすめします。これは、Google の Maven レポジトリで公開されています。新機能の詳細については、バージョン情報をご覧ください。

アップデートを Google Play に公開する


Google Play では、API 27 でコンパイルしたアプリや、API 27 をターゲットにしたアプリを受け付けています。準備ができ次第、APK のアップデートをアルファ版、ベータ版、または本番チャンネルで公開しましょう。

Android 8.1 だけでなく、それ以前のバージョンでも問題なく動作するように、Google Play のベータ版テスト機能を使って、少人数のユーザーを対象にアルファテストを行うことをおすすめします。その後、規模を広げてオープンベータ版テストを行います。アップデートをリリースする準備ができた際には、本番チャンネルで段階的ロールアウトを利用することもできます。皆さんのアプリのアップデートを楽しみにしています。

フィードバックをお待ちしています


いつものように、皆さんのフィードバックは重要です。どしどしお寄せくださいAndroid プラットフォームの問題アプリの互換性の問題サードパーティ製の SDK やツールの問題を報告できるさまざまなホットリストが利用できます。Neural Networks API の問題専用のホットリストもできました。

今後も Android デベロッパー コミュニティ、または Android ベータ版コミュニティを通じてフィードバックをお寄せください。



Reviewed by Yuichi Araki - Developer Relations Team


Voice Kit と同様、Vision Kit も簡単に組み立て Raspberry Pi コンピュータに接続できます。ユーザーのフィードバックをもとに、この新しいキットは小型の Raspberry Pi Zero W コンピュータで動作するよう設計されています。視覚アルゴリズムをデバイス上で実行するので、クラウドに接続する必要がありません。

見るだけでなく、知覚できるインテリジェントな端末を構築する


キットには、VisionBonnet、段ボール製の外殻、アーケード スタイルの RGB ボタン、ピエゾ スピーカー、マクロ / ワイド レンズキット、フレックス ケーブル、絶縁体、三脚固定用ナット、接続部品が含まれています。


VisionBonnet は、Raspberry Pi Zero W 用アクセサリー ボードで、ニューラル ネットワークを実行できる低電力視覚処理ユニット Intel® Movidius™ MA2450 が使われています。これにより、イメージをただ感知するのではなく、視覚認識が利用できるのです。毎秒最大 30 フレームのスピードで実行でき、リアルタイムに近いパフォーマンスを実現します。


ソフトウェア イメージとともにバンドルされているのは、次の 3 つのニューラル ネットワーク モデルです。
  • 1000 個ほどの一般的な物体を認識できる MobileNets に基づいたモデル
  • イメージ内の顔を検知するだけでなく、「悲しい」から「笑い」までの「喜び度」で表情を数値評価することもできる顔検知モデル
  • 猫、犬、人を区別するという重要なタスクのためのモデル

独自のモデルを使うことを考えている方のために、オリジナルの TensorFlow コードとコンパイラも付属しています。新しいモデルを使って(またはトレーニングして)、Intel® Movidius™ MA2450 で実行させましょう。

キットを拡張し、現実世界の問題を解決する


AIY Vision Kit は思いどおりにカスタマイズできます。
  • 独自の製品を試作する場合、Vision Kit と the Raspberry Pi Zero W なら、どんな小さなケースにも収まります。
  • カメラの動作を変更したい場合は、Python API を使って新しいソフトウェアを記述すれば、RGB ボタンの色、ピエゾ素子による通知音、GPIO ピンをカスタマイズできます。
  • ライトやボタン、サーボを追加したい場合は、4 つの GPIO 拡張ピンを使って独自のハードウェアを接続できます。

次のようなおもしろい課題を解決するために使っていただけることを期待しています。
  • 「ホットドッグかどうか」(またはその他の食品)を検出する
  • 誰かがドアから入ってきたら、音楽を鳴らす
  • 車が私道を出た際にテキスト メッセージを送信する
  • 犬が家に戻りたがっているときに犬用のドアを開ける

入手する準備はできていますか


AIY Vision Kit は 12 月に発売される予定ですが、本日(*原文公開当時)より Micro Center でオンライン先行販売が行われています。

*** AIY Vision Kit には、Raspberry Pi Zero W、Raspberry Pi Camera V2 およびマイクロ SD カードが必要です。これらは別途購入する必要があります。

フィードバックをお待ちしています


私たちは、皆さんからの情報をお待ちしています。ソーシャル メディアで #AIYProjects ハッシュタグをつけて、キットの改善案や皆さんが作っているものを共有してください。AIY Vision Kit を使ってあらゆる種類のクリエイティブな端末を作っていただけることを期待しています。



Reviewed by Takuo Suzuki - Developer Relations Team


概要ページには、クラッシュを経験していないユーザーの比率がわかりやすく表示されているので、どのビルドで安定性が改善されているかを判断できます。

さらに、重要度バッジにも気づくはずです。これらのバッジがハイライト表示されているのは、その問題について、他にはない重要な情報が得られるという印です。たとえば、ある問題が特定の端末や OS、または「脱獄」したスマートフォンでのみ起きている場合、重要度バッジはそれを教えてくれます。

こういった知見を活用すれば、一目で問題を効率的に選別し、緊急の問題にすばやく対応できるようになります。脱獄した端末でばかり起きている問題は、無視することもできます。また、まずは最新の OS のリリースによって発生している問題の修正に集中することもできます。重要度バッジは、トラブルシューティングの時間に関して賢い選択をする手助けをしてくれます。

カスタムのキーとログ

Crashlytics のログやキーを分析すると、クラッシュが発生した理由や何がクラッシュにつながったのかについて、追加情報や状況を把握することができます。

具体的には、ログを使うと、クラッシュの直前のユーザーの行動について詳細情報を収集できます(ユーザーがダウンロード画面に移動した、ダウンロード ボタンを押したなど)。また、ログはユーザーのアクションについての詳細情報を得るためにも使うことができます(イメージのダウンロード サイズなど)。ログを使うと、クラッシュ前のイベントをタイムラインで確認できます。クラッシュが発生した際には、ログの内容が取得されてクラッシュに添付されるので、すばやくデバッグするために役立ちます。

また、状況によっては、操作の順番と同じくらいユーザーのアプリの最後の状態を知ることが重要になる場合もあります。キーとは、何かの既知の最後の値を記録するキー・バリューです。これは、ユーザーがアプリを操作するたびに上書きされます。たとえば、キーを使うと、ユーザーがゲームアプリの中で終えた最後のレベルや、カスタム設定の最新の設定など、デバッグに関係しそうな情報であれば、何でもトラッキングできます。

ログとキーは、セッションのメタデータから手がかりを見つけ、ユーザーの操作を繰り返してバグを再現するための重要な方法です。

リアルタイム アラート

安定性の問題は、いつ発生するかわかりません。皆さんがワークステーションから離れているときに起きることもあるでしょう。Crashlytics ダッシュボードでは、新しい問題がリアルタイムに表示されて優先度がつけられるだけでなく、新しい問題が起きたときやリグレッションが起きたとき、そして問題の影響が突然大きくなったときにメールで通知してくれます。私たちが皆さんの後ろで守っているので、安心してその場を離れ、コーヒーを飲みながら休憩することができます。最近リリースしたアプリで何かうまくいかないことが起きると、Crashlytics が警告してくれるので、重要なクラッシュを見逃すことはありません。

Firebase Crashlytics + Cloud Functions for Firebase

多くの強力な Crashlytics 機能が Firebase に追加されただけでなく、さらに 1 歩踏み出し、Crashlytics とプラットフォームの他のパーツと統合する作業も始まっています。Crashlytics データを Cloud Functions for Firebase をトリガーするイベントソースとして使えるようになったので、トラブルシューティングのプロセスをカスタマイズし、効率化できるようになりました。この統合によってワークフローを自動化し、重要なアプリのフロー(購入フローなど)に影響する問題を直接チームのエンジニアや Slack チャンネルに送ることも可能になります。これによって、緊急の問題の確実な監視や、適切かつ迅速なエスカレーションが可能になります。



さらに、再設計された Firebase console のさまざまな部分に安定性データが表示されるため、安定性について詳しく把握するためにあちこちのページを開く必要はなくなります。Crashlytics データは、プロジェクトの概要ページや Google Analytics for Firebase ダッシュボード、そしてもちろん最新リリースのセクションにも表示されます。

今後も期待のアップデートが続きます


今回の Crashlytics のベータ版リリースは、Fabric と Firebase の最高の機能を組み合わせる作業のほんの始まりにすぎません。お客様は、既にこれらのプラットフォームを合わせて使い始めており、すばらしい成果をあげています。打ち合わせなど、最適な日時を見つける手助けをしてくれる Doodle アプリの例をご覧ください。Doodle は、アプリを Crashlytics と Remote Config を使って再設計し、維持率とリピート率を上昇させました。





今後は、初めての方も既存のユーザーも、Firebase Crashlytics をご利用ください。Crashlytics は、Firebase のプライマリ障害レポートになっています。 新しく Firebase を使う方は、g.co/firebase/optin にアクセスして Crashlytics を始めることができます。また、 既に Crash Reporting を使っている方は、ダッシュボードのバナーをクリックしてください。Crashlytics の機能強化は今後も続きます。皆さんからのフィードバックが待ちきれません。

Fabric で Crashlytics を使っていた方は、そのままで大丈夫です。まだ移行する必要はありません。Firebase Crashlytics が Fabric アプリにもたらすメリットについて、近日中にすばらしいニュースをお伝えする予定です。



Reviewed by Khanh LeViet - Developer Relations Team
Share on Twitter Share on Facebook


実行するバリアントの数や、各バリアントでのアプリの挙動……

さらに、実験の目標を定義できます。

目標は実験ごとに違うかもしれません。そのため、A/B テストはさまざまな一般的な成果に対応できるようになっています。たとえば、アプリの合計収益や維持率の増加、クラッシュ数の減少などを指定できます。また、アプリ内チュートリアルの終了など、Google Analytics for Firebase で計測している任意のイベントの発生回数の増加も指定できます。

A/B テストを定義すると、Firebase は無作為に選択した対象端末のユーザーに対して異なるバリエーションのアプリを配信します。Firebase は長期にわたってユーザーの行動を計測し、先ほど定義した目標に応じた成果が出たと思われる場合、通知してくれます。Firebase の A/B テストは、無料で使えるウェブサイトのテストおよびパーソナライズ製品である Google オプティマイズで使われているのと同じベイズの統計モデルを使って結果を計測しています。

A/B テストでオンボーディングを改善する: 事例紹介


先日、生活習慣の改善をサポートするアプリである Fabulous は、Firebase の A/B テストを使ってアプリのオンボーディング フローを改善しました。ユーザーが最初にアプリを起動すると、習慣として行うべき内容が表示され、よい習慣を作る方法が文字で説明されたあと、簡単なルーチンを行ってみることが提案されます。Fabulous チームは、このオンボーディング プロセスからいくつかのステップを省けば、プロセスを完了できるユーザーが増えるかもしれないと考えました。

典型的なユーザーが初めて Fabulous を使う際に表示される画面

そこで A/B テストを実施して、ユーザーごとに、文字を表示しない、簡単なルーチンを実行するよう提案する部分を表示しない、その両方を表示しない、のいずれかになるようにしました。そして、オンボーディング プロセスから両方の手順を省くと、オンボーディング フローを完了するユーザーが 7% 増加することがわかりました。さらに重要なのは、オンボーディングの手順が短くなっても、アプリの維持率にマイナスの影響がない点を確認できたことです。

Notifications のテストとの組み合わせ


Firebase Notifications コンソールを使うと、アプリの通知メッセージで A/B テストを行うこともできます。いくつかの異なる通知メッセージを試し、どれを使った場合にその通知からアプリを開くユーザーが増えるかを確認できます。また、どのメッセージを使えば、購入などのアプリ内で意図した操作を行ってくれるユーザーが増えるかも確認できます。

スタートガイド


A/B テストは、本日(*原文公開当時)よりすべての Firebase デベロッパーがベータ版として利用できます。ぜひ試してみたいという方は、アプリが Remote Config または Firebase Cloud Messaging を使うようになっており、ライブラリを最新かつ最高のバージョンにアップデートしていることを確認してください。A/B テストの詳細は、いつでもドキュメントで確認できます。または、私たちが制作している動画シリーズ、プロの A/B テストをご覧ください。

そして Firebase Console を開き、アプリの改善を始めましょう。実験は一度に 1 つずつ行うようにしてください!



Reviewed by Khanh LeViet - Developer Relations Team
Share on Twitter Share on Facebook

グラフィック高速化のデフォルト


Android Things は、CPU ベースで OpenGL ES API を実装したオープンソースの SwiftShader ライブラリを使用しています。これにより、GPU ハードウェアが搭載されていないものも含め、すべてのプラットフォーム共通で OpenGL をサポートできます。ただし、ほとんどのシンプルな 2D UI は、OpenGL エミュレーションを使わずに直接フレームバッファに描画する方が高速にレンダリングできます。そこで、DP6 では、デフォルトで OpenGL レンダリングが無効になり、ほとんどのアプリでもっとも高速な UI が実行されるようになります。3D レンダリング、WebView、TextureView などで OpenGL のサポートが必要な場合は、ドキュメントに従い、次のように AndroidManifest.xml で明示的に有効化してください。
<activity

    ...
    android:hardwareAccelerated="true">

API 27 と Google Play Services


DP6 は、API レベル 27 が搭載された最新の Android 8.1 Developer Preview がベースになっています。標準 Android サンプルのほとんどは、DP6 で動作します。たとえば、Camera2 API と TextureView を使っている Camera2Basic サンプルは、NXP と Raspberry Pi ベースの端末の両方で動作します(hardwareAccelerated フラグを true にする必要があります)。Google Play Services は、SDK バージョン 11.6 をサポートするようにアップデートされており、最新機能がすべてサポートされています。

コマンドライン書き込みツール


デベロッパーの皆さんから、fastboot を使ってボードに書き込んだり設定したりする作業は非効率的な場合があるという声が寄せられました。そのため、Android Things Console から簡単に端末イメージを書き込む新しい方法が提供されています。手動で fastboot と adb コマンドを使う代わりに、新しいインタラクティブ コマンドライン android-things-setup-utility を利用できます。このツールを使うと、はるかに簡単に Android Things を使い始めることができ、ダウンロードや書き込みの処理を自動化できます。

Android Things Console のアップデート


DP6 では、今後の製品版リリースに使われる新しいパーティション スキームが導入されています。この新しいパーティション レイアウトのため、既存の DP5.1 以前の端末は無線(OTA)システムによるアップデートはできません。デベロッパーは、Android Things Console を開いて新しい DP6 ビルドをダウンロードして書き込む必要があります。DP6 機能に合わせて Console の UI も変更され、DP6 をベースとした新しいビルドのみ作成できます。それよりも古い既存ビルドは、ダウンロードはできますが OTA アップデートはサポートされません。デベロッパーの皆さんには、すべての作業を DP6 に移行することを推奨します。

GPIO ピンの名前


起動時に表示されるインタラクティブ IoT ランチャーに、I/O ピン出力セクションが含まれるようになります。ここでは、すべてのピンのラベルを確認することができます。i.MX7 で使われるピンの名前は変更されましたが、この新しい命名規則を使う場合、コードをアップデートする必要があります。完全なピンの名前のリストについては、i.MX7 ドキュメントをご覧ください。

設定および端末アップデート用 API


ローカル端末の設定や端末のアップデートを制御できる新しい API が Android Things に追加されています。UpdateManager を使うと、デベロッパーはアップデートや再起動を行えるタイミングを制御できるので、ユーザーが必要なときに確実に端末を使えるようになります。DeviceManager は、ファクトリー リセット、再起動、端末の言語/地域を管理します。画面を管理する ScreenManager、時計やタイムゾーンを管理する  TimeManager など、設定を行う API も提供されます。

周辺機器用のコマンドライン ツール


adb シェル経由で Peripheral API にアクセスできるコマンドライン ツール pio も提供されます。デベロッパーは、adb シェルから、GPIO, PWM, UART, I2C, SPI や今後のインターフェースを対話的にテストできます。これは、デバッグや自動テストに便利です。

フィードバック


DP6 では、プラットフォームに重大な変更や改善が加えられています。バグレポートや機能リクエストを送信し、フィードバックをお願いします。質問は、どんなものでもかまいませんので、Stack Overflow にお寄せください。DP6 を使ってみるには、Android Things Console からシステム イメージをダウンロードして既存の端末に書き込むか、android-things-setup-utility を利用します。詳しい変更点は、リリースノートに記載されています。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースです。自分が構築したすばらしいプロジェクトを共有できる hackster.io コミュニティも、新たに誕生しました。皆さんが Android Things で作るアプリを楽しみにしています!


Reviewed by Takeshi Hagikura - Developer Relations Team
Share on Twitter Share on Facebook

トレーニング済みのプロジェクションモデルは、モバイル プラットフォームで高速に推論を行えるように最適化された一連の TensorFlow Lite 命令にコンパイルされ、端末で直接実行されます。TensorFlow Lite の端末上会話モデルの推論グラフを以下に示します。
TensorFlow Lite を使った端末上会話モデルの実行
今回リリースされたオープンソースの会話モデルコードも公開されています)は、前述の結合 ML アーキテクチャを使ってエンドツーエンドでトレーニングしたものです。また、今回のリリースにはデモアプリも含まれているので、モバイル端末でのワンタッチ スマート応答を簡単にダウンロードして試してみることができます。このアーキテクチャでは、アプリのニーズに応じて、モデルのサイズや予測品質を簡単に設定できます。このモデルがうまく対応できるサンプル メッセージの一覧は、こちらから参照してください。このシステムは、一定の応答を提案するようにフォールバックすることもできます。その場合、チャットの会話でよく見られる一般的な応答目的から学習し、その結果をコンパイルした一定のセットが使われます。なお、ベースとなるモデルは、Google のアプリで Smart Reply の応答に使われているものとは異なります1

会話モデルの先へ
興味深いことに、前述の ML アーキテクチャでは、ベースとなるモデルを柔軟に選択できます。私たちは、異なる機械学習アプローチと互換性のあるアーキテクチャも設計しています。たとえば、TensorFlow のディープ ラーニングと組み合わせて使う場合であれば、ベースとなるモデルとして軽量ニューラル ネットワーク(ProjectionNet)を学習させつつ、ニューラル ネットワークではなくグラフ フレームワークを使って別のアーキテクチャ(ProjectionGraph)のモデルを表現することができます。

結合フレームワークは、別の ML モデリング アーキテクチャで他のタスクの端末上軽量モデルをトレーニングする際に使うこともできます。たとえば、私たちは、ある ProjectionNet アーキテクチャを派生させています。これは、トレーナー モデルとして複雑なフィードフォワードや再帰アーキテクチャ(LSTM など)を使い、動的プロジェクション操作やいくつかの狭い完全結合レイヤーで構成される単純なプロジェクションアーキテクチャを組み合わせたものです。アーキテクチャ全体は、TensorFlow の誤差逆伝播を使ってエンドツーエンドでトレーニングします。それが完了すると、コンパクトな ProjectionNet を直接推論に利用できるようになります。この手法を使って、モデルのサイズを大幅に削減した(最大で数桁の削減)小さな ProjectionNet モデルをうまくトレーニングすることができました。また、複数の画像や言語の分類タスクにおける精度に関するパフォーマンスも高いものでした(いくつかの例をこちらに示します)。同じように、半教師付きの設定で、グラフ学習フレームワークを使って別の軽量モデルをトレーニングしました。
端末上モデルのトレーニングに使った ML アーキテクチャ: ディープ ラーニングを使ってトレーニングした ProjectionNet(å·¦)と、グラフ学習を使ってトレーニングした ProjectionGraph(右)
今後も、アップデートされたオープンソースの TensorFlow Lite モデルの改善とリリースを継続する予定です。今回リリースされたモデル(今後のモデルも同様)は、以上のような ML アーキテクチャを使って学習したものです。このようなモデルは、多くの自然言語やコンピュータ ビジョンのアプリに再利用されたり、人工知能を活用するために既存のアプリに組み込まれるものと考えています。機械学習や自然言語処理のコミュニティがこういった機能を使って開発を行い、まだ私たちが認識していない新しい問題やユースケースに対応できることを期待しています。

謝辞
この作業には、Yicheng Fan と Gaurav Nemade が大きく貢献してくれました。TensorFlow チームの Rajat Monga、Andre Hentz、Andrew Selle、Sarah Sirajuddin、Anitha Vijayakumar に感謝を捧げます。また、Robin Dua、Patrick McGregor、Andrei Broder、Andrew Tomkins および Google Expander チームにも感謝いたします。



1 リリースされた端末上モデルは、スマートフォンやウェアラブルでの小規模かつ低レイテンシな用途に最適となるようにトレーニングされています。一方、Google アプリの Smart Reply 予測は、規模が大きい複雑なモデルで生成されています。実稼働しているシステムでは、不適切なコンテンツを検知するようにトレーニングされた複数の分類器を使っており、ユーザー エクスペリエンスや品質レベルが最適になるようなフィルタリングやチューニングが適用されています。オープンソースの TensorFlow Lite 版を使っているデベロッパーも、末端のアプリではこのような慣習に従うことをお勧めします。



Reviewed by Hak Matsuda - Developer Relations Team
Share on Twitter Share on Facebook

最新リリース


Fabric コンソールで重宝されるもう 1 つの機能が [Latest Release] セクションです。このダッシュボードには、直近にリリースしたアプリから得られるもっとも重要な分析がすべて掲載されており、何がうまくいっており、何にロールバックが必要かを表すスナップショットをすばやく取得できます。そのためこのセクションを、新しくなった Firebase コンソールに移植しました。ナビゲーション バーの [Analytics] セクションからご覧ください。

Analytics ダッシュボードのアップデート


本日より、Analytics ダッシュボードは、わかりやすい質問の下にシンプルなカードが並ぶ形になります。「DAU」や「コホート分析の維持率」といった専門用語でデータを整理すると、ナビゲーションは難しくなります。そこで、「ユーザーがよく利用しているのはどの場所ですか?」「どのくらいのユーザーが定着していますか?」といったアプリについての質問を使ってダッシュボードを再構成しました。調査によると、ユーザーの 90% がこのデザインの方が気に入っていると答えています。皆さんにも便利だと思っていただけることを期待しています。

リアルタイム情報


Fabric を使う友人たちから学び、皆さんからお聞きしたもう 1 つのことは、リアルタイムで情報を得ることが非常に重要だということです。新しくリリースしたアプリのトラッキングであろうと、バグの修正状況のモニタリングであろうと、アプリで何が起こっているのかをリアルタイムで理解する必要があります。そうすれば、その情報に応じて変更したり、作業に優先度をつけることができます。

これをサポートするために、クラッシュとアクティブ ユーザーについてのリアルタイム データを追加しています。これらのデータは、新しい Analytics ダッシュボードとコンソールの [Latest Release] セクションにカードとして表示されます。今回ご紹介したことは最初のステップに過ぎません。今後は、Firebase コンソールの他の部分にもリアルタイム データを表示する予定です。

いつものように、フィードバックや質問は https://firebase.google.com/support/ にお寄せください。ぜひ活用してみてください。

Reviewed by Khanh LeViet - Developer Relations Team
Share on Twitter Share on Facebook

さらにインタラクティブなユーザー エクスペリエンスを作成する

ユーザーがアプリを簡単に見つけられるだけでなく、アプリに話しかけると魅力的で有意義な体験ができることも同じくらい重要です。そのために、いくつかの新機能がリリースされています。

ユーザーのリピート率を向上させる

ユーザーにアプリの再利用を促す機能がいくつか追加されているので、お試しください。これらの機能は、テストを始められるように今週デベロッパー向けに公開され、ユーザーにも近日中に公開されます。
すばらしいですね!たくさんのことを紹介してきましたが、これでも準備しているアップデートについて簡単に概要をお伝えしたにすぎません。皆さんがこういったツールを使い、新しくクリエイティブな方法で Google アシスタントの可能性をどう引き出すのか、楽しみです。

Reviewed by Yoshifumi Yamaguchi - Developer Relations Team

Share on Twitter Share on Facebook

テストサイトでリダイレクトがブロックされた例。サイトに埋め込まれた iframe が意図しないページに移動させようとしているが、Chrome がリダイレクトを防いで情報バーを表示させている。

ユーザーがコンテンツを操作するときに、意図しないことが起きる場合もあります。ユーザーを悩ませている例の 1 つに、リンクをクリックした際に新しいタブに目的のページを表示しつつ、メイン ウィンドウが別の望まないページに移動するというものがあります。Chrome 65 以降では、この動作が検知されて情報バーが表示されるようになり、メインタブがリダイレクトされなくなります。これによって、ユーザーは直接意図したページを開きつつ、遷移元のページの状態も維持されます。

さらに、自動的に検出するのが難しい形でユーザーを意図しないページに送るいくつかのタイプの不正行為も存在します。たとえば、再生などのサイトの制御ボタンを偽装した第三者のウェブサイトへのリンクや、サイト上に透明なオーバーレイをかぶせてすべてのクリックをキャプチャし、新しいタブやウィンドウを開くといったものがあります。
2 種類の不正行為。サイトの制御ボタンの動作が偽装されており、クリックすると別の動作が実行される。1 つは動画の再生ボタンにように見えるが、クリックすると望まないダウンロードが行われる(å·¦)。もう 1 つは閉じるボタンに見えるが、望まないポップアップ ウィンドウが開く(右)。

1 月初旬より、こういった種類の不正行為が行われているサイトで、Chrome のポップアップ ブロッカーが新しいウィンドウやタブが開くのを防ぐようになります。その際には、Google セーフ ブラウジングが悪意のあるコンテンツからユーザーを守るのと同じ方法が使われます。サイトオーナーがこの変更に対応できるように、本日(原文公開当時)、不正行為レポートをリリースいたします。同じようなレポートは、Google Search Console でも利用できます。サイトオーナーは、このレポートを使って、サイト上でこれらの不正行為が見つかっていないかを確認したり、ユーザー エクスペリエンスを改善したりできます。不正行為が 30 日以内に対処されない場合は、新しいウィンドウやタブの利用が禁じられます。

これらの保護を組み合わせれば、ウェブが提供すべきものすべてにアクセスを許可しつつ、ユーザーのウェブ参照エクスペリエンスを劇的に向上させることができます。


Reviewed by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook


人間は音によって、自分を取り巻く環境を理解し、他の人とコミュニケーションしたり、周りで何が起こっているのかを把握しています。忙しい都会の道を歩いているときでも、満員の音楽コンサートの最中でも、さまざまな方向からやってくる無数の音を聞くことができます。そのため、AR、VR、ゲーム、あるいは 360 度動画では、本当にそこにいるように感じられる高度な没入感を作り出すために、高音質のサウンドが必要になります。本日(*原文公開当時)、Resonance Audio と呼ばれる新しい空間オーディオ SDK がリリースされました。これは、Google の VR Audio SDK のテクノロジーに基づいており、モバイル プラットフォーム、PC プラットフォームを問わず、幅広く動作します。


Daydream および SteamVR 用の Audio Factory VR アプリで空間オーディオを体験


モバイルから PC まで対応したパフォーマンス


パフォーマンスに影響を与えることなく、VR、AR、ゲーム、動画の体験に質の高いダイナミックなオーディオ環境を提供するのはなかなか困難です。通常、オーディオに割り当てられる CPU リソースは少なく、モバイルでは特にそうです。そのため、複雑な環境を作る際に同時に利用できる高品質 3D 音源の数には制限があります。この SDK は、高次アンビソニックに基づく高度に最適化されたデジタル信号処理アルゴリズムを使い、モバイルでも音質に妥協することなく、数百個の同時 3D 音源を立体化します。さらに、Unity には、環境の音響特性と厳密に一致する非常にリアルなリバーブ効果を事前計算する新機能が追加されています。これによって、再生中の CPU 使用率を大幅に削減できます。
Unity で音響マテリアルを大聖堂に割り当て、ジオメトリベースのリバーブを使用


デベロッパーやサウンド デザイナーのためのマルチプラットフォーム サポート


お気に入りのオーディオ ミドルウェアやサウンド デザインツールにオーディオ ソリューションがシームレスに統合されていることはとても重要です。Resonance Audio は広く普及しているゲームエンジン、オーディオ エンジン、デジタル オーディオ ワークステーション(DAW)向けのクロスプラットフォーム SDK がリリースされています。それによってワークフローを効率化できるため、没入感のあるオーディオの作成に集中できます。この SDK は、Android、iOS、Windows、MacOS、Linux の各プラットフォームで動作し、Unity、Unreal Engine、FMOD、Wwise、DAW に統合できます。さらに、C/C++、Java、Objective-C、ウェブ用のネイティブ API も提供されています。マルチプラットフォームがサポートされているので、いったんサウンドをデザインすれば、一貫性のあるサウンドを含むプロジェクトを主要なモバイルおよび PC プラットフォームに対して簡単にデプロイできます。YouTube 動画や Resonance Audio SDK で開発したアプリ向けの空間オーディオを正確にモニタリングできる新しい DAW プラグインも作成されています。これを使えば、サウンド デザイナーは時間を節約できます。ウェブ デベロッパーは、Resonance Audio Web SDK を入手できます。これは、Web Audio API 経由で利用でき、主要なウェブブラウザ上で動作するオープンソースの SDK です。

YouTube 360 度動画や SDK で開発したアプリ用のオーディオをモニタリングするサウンド デザイナー向け DAW プラグイン

最新機能で複雑なサウンド環境をモデリング


Resonance Audio では、複雑なサウンド環境を正確にモデリングする強力なツールが提供されているので、基本的な立体音響化以上のことが可能です。この SDK を使うと、デベロッパーは音源から音波が伝播する方向を制御できます。たとえば、ギタリストの後ろに立っている場合、正面に立っている場合よりも音を小さくすることができます。さらに、ギターの方向を向くと、背中を向けているときよりも音を大きくすることができます。


SDK を使ってアコースティック ギターの音波の指向性を制御



また、音源がリスナーの頭に近づいた際に自動的に近接効果を適用する機能も実装しています。これによって、音源が耳に近い場合でも、距離を正確に認識できるようになります。さらに、音源の幅を指定して音源を拡散させることもできます。これによって、空間上の小さな 1 点から発される音から、音の壁までを再現できるようになります。さらに、Unity 内で直接サウンド デザインを立体的に録音してファイルに保存し、ゲームエンジンから YouTube 動画まで、アンビソニック サウンドフィールド再生がサポートされている場所ならどこでも利用できるようにするアンビソニック録音ツールもリリースされました。

最新の空間オーディオ テクノロジーを使って没入感のある質の高い音響環境を作ってみたい方は、デベロッパー サイトで Resonance Audio のドキュメントをご覧ください。ご感想は、GitHub からお知らせください。また、ソーシャル メディアで #ResonanceAudio を付けて皆さんの作品を共有してください。優れた作品については、私たちからもシェアいたします。

Reviewed by Hak Matsuda - Developer Relations Team
Share on Twitter Share on Facebook