Posted:
[この記事は Lawrence Chang, Product Manager による Android Developers Blog の記事 "Drive app installs through App Indexing" を元に、北村が翻訳・加筆したものです。詳しくは元記事をご覧ください。]

開発者のみなさんがアプリを素晴らしいものにするため時間と努力を惜しまないのと同様に、我々もみなさんの素晴らしいコンテンツをより多くの人たちに届けるお手伝いをしたいと願っています。既に 300 億のアプリ内リンクがインデックスされていることからもわかるように、App Indexing は Android 向けアプリのインストール後のエンゲージに役立てられています。今週より、Android 向けアプリをインストールしていない方々にも、Google で検索することで、あなたのアプリを発見することができるようになります。App Indexing が実装済みで、あなたのアプリからインデックスされたコンテンツが Android 上の Google 検索の結果と一致した場合、検索結果にあなたのアプリのインストール ボタンが表示される可能性があります。そのボタンを押下することで、ユーザーは Google Play ストアに移動し、アプリをインストール、そしてアプリ内の検索結果に該当する箇所に直接アクセスすることができます。



これらのインストール リンクの追加を皮切りに、アプリをインストールしているか否かに関わらず、App Indexing はすべての Android ユーザーのランキングシグナルとして利用されることになります。これにより、Google の検索機能が新しいユーザーの獲得だけでなく、既存ユーザーとのエンゲージメントにも役立つことを願っています。App Indexing について詳しくは g.co/AppIndexing を、Google 検索の他の活用方法については g.co/DeveloperSearch を御覧ください。

Posted by Eiji Kitamura - Developer Relations Team

Posted:
[この記事は Jen Kovnats Harrington、Google Maps API プロダクト マネージャーによる Google Geo Developers Blog の記事 "Hello Places API for Android and iOS!" を元に、荒木が翻訳・加筆したものです。詳しくは元記事をご覧ください。]


人は通常、現在いる場所を地図の緯度と経度で考えたりはしません。どの店やレストランの前にいるか、周りに何があるかなどの周辺情報で現在地を把握します。そうした情報をアプリで提供できるようにするため、Google は Places API for Android をリリースし、また Places API for iOS のベータ版を公開することになりました。

Places API ウェブ サービスJavaScript ライブラリは、しばらく前からご利用いただいています。Android と iOS 端末をネイティブにサポートすることで、端末それぞれの位置情報信号を活用し、モバイルでの新しい API の使い心地を最適なものにできます。

Android 版、iOS 版、それぞれの Places API を使えば、緯度経度で表される地理的な位置情報と、ユーザーが既に知っている場所と、関連付けて場所を認識する方法とのギャップを埋めることができます。たとえば、生まれた場所を伝えるときに、「私は緯度 25.7918359、経度 80.2127959 の地点で生まれました」とは言わず、単に「フロリダ州マイアミのジャクソン記念病院で生まれました」と言うでしょう。Places API によって、レストラン、ローカルのビジネス、ホテル、美術館や博物館、その他の見どころなど、全世界 1 億を超える数の Google グローバル プレイス データベースの情報をアプリで使うことができるようになります。


主な機能には次のようなものがあります。

  • ユーザーが場所の特定に使える、ドロップダウンの UI ウィジェット、Place picker の追加
  • ユーザーの現在地を取得する機能
  • 場所の名前、住所、電話番号、ウェブサイトなど、場所の詳細情報の表示
  • 場所の名前をすべて入力するストレスを解消し、入力時間を短縮するオートコンプリート(入力した文字から場所の名前を推測して自動的に完了する)機能
  • ユーザーに関連する新しい場所を追加して Google のプレイス データベースで表示させることによって、アプリをさらに役立つものにする機能
  • 特定の場所で端末を用いてレポートし、自分の周りの地図を改善する機能
Places API for Android の使用を開始するには、こちらの DevByte (動画)をご覧ください。またこちらのドキュメントを確認し、デモをお試しください。Places API for iOS ベータ版に申し込むには、こちらをご覧ください。

Posted by Yuichi Araki - Developer Relations Team

Posted:
[この記事は Marja Hölttä、Daniel Vogelheim による Chromium Blog の記事 "New JavaScript techniques for rapid page loads" を元に、北村が翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Chrome の主な使命の 1 つは、2008 年に基本原則の 1 つとして明言されて以来、ずっとスピードです。しかし現在、スピードは単に Javascript ベンチマークの結果というだけではなくなりました。ブラウザを使ったすべてのユーザー操作において、ウェブページの表示や読み込みがすみやかに行われることが理想的です。Chrome では、スクリプト ストリーミングとコード キャッシングという 2 つの技術を採用し、特にモバイル端末において白い画面が表示される、イライラする待ち時間を低減しています。

スクリプト ストリーミングは JavaScript ファイルのパースを最適化します。以前のバージョンの Chrome では、パースを開始する前にスクリプトをすべてダウンロードする単純な手法を使っていましたが、このアプローチではダウンロードが終了するまで CPU を活用できていませんでした。Chrome バージョン 41 からは、async と deferred のスクリプトについて、ダウンロードが開始されると同時に別のスレッドでパースが実行されるようになります。つまり、ダウンロードの完了とほぼ同時にパースも完了することになり、ページの読み込みが 10 % ほど迅速に行われることになります。これは特に大がかりなスクリプトやネットワークが遅い状況において効果的です。



コード キャッシングはもうひとつの新たな技術で、特に同じページを何度も表示するときにページが迅速に読み込まれるようになります。通常、ページの JavaScript はページを表示するたびに V8 エンジンによってコンパイルされ、プロセッサが認識できるインストラクションに変換されますが、このコンパイル済みのコードは、コンパイル実行時のマシンの状況やコンテキストによって大きく左右されるため、ユーザーがそのページから移動すると保持されません。Chrome 42 では、このコンパイル済みコードのローカルコピーを保持する拡張技術を採用することで、ユーザーがそのページに戻ってきたときにダウンロード、パース、コンパイルの手順をすべて省略できるようになります。これによってすべてのページでコンパイル時間の 40% を削減し、モバイル端末において貴重なバッテリーの消費量を減らすことができます。

以上が Chrome によってページの読み込み時間を抑える 2 つの技術についての説明になりますが、ページの読み込み時間はブラウザのパフォーマンスを向上する 1 つの手段にすぎません。Chromium プロジェクトで進められるウェブ パフォーマンスのすべての側面における改善を、今後もご期待ください。

Posted by Eiji Kitamura - Developer Relations Team

Posted:
[この記事は Software Engineer の Ankur Kotwal が Google Developers Blog に投稿した "Ho Ho Ho! Google's Santa Tracker is now open source" という記事を元に荒木が翻訳・加筆したものです]

季節はすっかり春ですね。クリスマスはずいぶん前のことのように感じられますが、お知らせがあります。Google サンタ トラッカーがオープンソースとして GitHub (google/santa-tracker-webgoogle/santa-tracker-androidに公開されました。Web と Android 両方のアプリが Google の開発者向けプロダクトを使ってどのように実現されているのかご覧いただけます。
サンタ トラッカーといっても、ただ単にクリスマス イブのサンタさんのプレゼント配達状況を追跡するだけではありません。クリスマス シーズンを通して、冬をテーマにした数々のゲームで遊んだり、北極にあるサンタ村でサンタさんか配達の準備をする様子を見ることができるんですよ。

オープンソースとしてリリースしたのは以下のようなものです。

Android アプリ

  • Android の サンタ トラッカー アプリはひとつの APK ファイルで Ice Cream Sandwich (4.0) 以降のすべての端末をサポートしています。アプリのソースコードはこちらでご覧いただけます。
  • サンタ村はビデオやゲームやトラッカー (地図) のランチャーになっています。横幅 1 万ピクセルにも及ぶサンタ村を実現するため、Android のリソース階層をちょっと変わったふうに利用しています。これによって画面解像度ごとに別々の画像を用意する必要をなくし、APK のサイズを削減しています。
  • サンタ トラッカーのゲームは様々な技術を組み合わせて作られています。GumballJBox2D、Memory Match は Android の View、Jetpack は OpenGL と特製のレンダリング エンジンを使っています。
  • ユーザー エンゲージメント向上のため、App Indexing API を使って Google 検索からサンタ トラッカーのゲームを開くことができるようにしています。Deep Linking を利用して実現されています。

Android Wear


Web 版


  • Web 版のサンタ トラッカーは Polymer を使って実装されています。Polymer は Chrome チームが Web Component に基づいて作り出した新しいライブラリです。サンタ トラッカーでの利用方法をご覧になれば、コードを再利用可能なコンポーネントとしてまとめるのも Polymer を使えば簡単だということがお分かりいただけるでしょう。サンタ村での各シーン (ゲーム、ビデオ、インタラクティブなページ) はすべてカスタム要素になっていて、必要なときだけ読み込むようにすることで起動のコストを最小化しています。
  • サンタ トラッカーのインタラクティブで楽しい体験は Web アニメーション API を使って作られています。JavaScript でコンテンツのアニメーションをを統一的に扱うための標準化された API です。CSS アニメーションから大きな進歩です。Web アニメーションはインタラクティブに記述することができ、ポリフィルを使えば全てのモダンなブラウザーをサポートすることができます。Polymer 自体もマテリアル デザインの効果を実現するために内部で Web アニメーションを利用しています。アニメーションの例は GitHub を検索すればたくさん見つかります。

  • サンタさんはモバイル ファーストを推進しています。今年はモバイル Web での最適化を主眼に据えて設計しました。完全なレスポンシブ デザイン、Polymer によるタッチ ジェスチャーのサポートなどです。また、theme-colorホーム画面に追加するための Web Application Manifest といった新機能もあります。
  • 徹底的なローカリゼーションのため、Web Component として新しく i18n-msg コンポーネントを開発しました。Chrome Extension の i18n の仕組みが元になっており、開発用にライブ更新も利用できますが、最適化用にビルド ステップも備えています。
サンタ トラッカーを支える技術がどのようなものか、ぜひソース コードをご覧になって確認して下さい。開発者の皆様のお役に立つことを願っております。

Posted by Yuichi Araki - Developer Relations Team

Posted:
[この記事は Chris DiBona、オープン ソース ディレクターによる Google Open Source Blog の記事 "Bidding farewell to Google Code" を元に、鈴木が翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Google Code のプロジェクト ホスティング サービスを 2006 年に開始したときは、プロジェクト ホスティングはまだあまり一般的ではありませんでした。信頼性や成長性に疑問が抱かれていたため、ユーザーにとって別の選択肢となるようなサービスを提示できるよう Google はオープンソース コミュニティに働きかけました。それ以来、GitHub や Bitbucket bloom などさまざまなプロジェクト ホスティング サービスが登場してきました。多くのプロジェクトが Google Code からそうした他のシステムに移行していきました。こうした開発者の方々の現状を考え、Google は Google Code に持っている 1000 近いオープンソース プロジェクトを GitHub に移行しました。

開発者が Google Code から離れているため、残りのプロジェクトでスパムや悪用の割合が増えている実情もあります。最近では Google Code の管理業務がほとんど悪用への対策に費やされるという状況で、Google Code の悪用ではないアクティビティを調べた結果、このサービスはもはや必要でないことが明白になりました。

3 月 12 日をもって、Google Code で新規プロジェクト作成はできなくなりました。そして 2016 年 1 月 25 日にサービスを完全に終了します。Google Code にお持ちのプロジェクトの移行をサポートする各種ツールのリンクを下記に示します。また、Google Code から他のホストへの移行にサポートが必要なプロジェクトについては、今後 3 か月間 Google がサポートいたします。
  • 2015 年 3 月 12 日、新規プロジェクトの作成ができなくなりました。
  • 2015 年 8 月 24 日、Google Code サイトが読み取り専用になります。プロジェクトの Source、Issue、Wiki のチェックアウトや閲覧は引き続き行っていただけます。
  • 2016 年 1 月 25 日、プロジェクト ホスティング サービスが終了します。プロジェクトの Source、Issue、Wiki の圧縮ファイルは引き続きダウンロードできます。圧縮ファイルは 2016 年の終わりまで保持する予定です。
Android や Chrome など特定のプロジェクトについては Git や Gerrit でのホスティングを継続していきます。また、Eclipse や kernel.org、その他のプロジェクトはミラーを維持します。

Google Code からデータを移行する方法

Google Code からデータを移行するもっとも簡単な方法は、Google Code から GitHub へのエクスポート ツールを使うことです。このツールを使えば、プロジェクトの Source、Issue、Wiki を新しい GitHub のリポジトリに自動的に移行できます。GitHub のインポーターでは、Subversion や Mercurial で管理している Google Code プロジェクトが Git 向けに変換されますのでご注意ください。

加えて、スタンドアロン ツールを使って GitHub や Bitbucket にも移行できます。また、SourceForge では、Google Code プロジェクト インポート サービスが提供されています。

これらのツールを使う際に問題が発生した場合は、Google Code の Issue としてご連絡いただくか、google-code-shutdown@google.com までメールでお知らせください。あるいは Chris DiBona に直接メール(cdibona@google.com)をお送りください。Hacker News や Reddit などの一般的なフォーラムサイトも頻繁に確認し、公の場でご質問に回答していきます。Google Code を使い続けていただいている皆さんにはご不便をおかけすることになり、申し訳ございません。移行プロセスが簡単なものになるよう全力でサポートしていきます。

GitHub や Bitbucket では Google Code から移行する開発者の皆さんを受け入れることを楽しみにしています。今回 Google Code 終了を公表するにあたり、どちらのサイトにも多くのご協力をいただきましたので、この場を借りて、彼らのコミュニティへの継続的なサポートに感謝したいと思います。2006 年当時には存在しなかった機能が提供されていますので、皆さんのプロジェクトで役に立つものを探すお手伝いもさせていただきます。

Posted by Takuo Suzuki - Developer Relations Team

Posted:
新しい年度が始まりました。新生活を始めた方も多いのではないでしょうか?

さて、Android 版 Google 日本語入力をアップデートしたことをお知らせします。

主な変更点

予測変換の機能向上
「あめ」「うれしい」など一部の候補を確定した直後に、確定した文字に対応する絵文字や顔文字を変換候補に表示するようにしました。

(Lollipop) ハードウェアキーボード利用時の入力モード表示
ハードウェアキーボード利用時に、現在の入力モードがひらがなかアルファベットかを表示するようにしました。対応していないアプリケーションでは表示されません。

計算機能
数式を入力した際、計算結果を変換候補に表示するようにしました。

Android-TV のサポート
Android-TV での動作をサポートしました。販売中の NexusPlayer には既に導入されていますが、本バージョンはより新しいものとなっています。

その他の変更点
  • 辞書を更新しました。
  • メモリ消費量を低減しました。
  • 履歴に基づいた変換候補の精度を改善しました。
  • タブレットにおいてポップアップの表示を抑制しました。
  • (Lollipop) 入力方法切り替えキーが有効になるタイミングを調整し、素早くタイピングした時に誤って入力方法が切り替わってしまうことがないようにしました。

問題の修正
  • マッシュルームプラグインの動作互換性を改善しました。
  • 一部アプリケーションにおける確定キーの動作を改善しました。
  • 外国語向けのハードウェアキーボードを利用した時にクラッシュすることがある問題を修正しました。


これからも、Google 日本語入力をよりよくしようと、チーム一同で開発を進めていきます。お気づきの点がありましたら、ぜひプロダクト フォーラムからお知らせください。みなさんのフィードバックがなによりの励みになります。

Posted by 矢藤 康祐 Software Engineer

Posted:

Google では 4 月 9 日(木)、六本木ヒルズにおいて、Google のテクノロジーにフォーカスした開発者向けイベントを開催いたします。本イベントでは、Google のエンジニアや Google Developer Expert が、Googleの開発プラットフォーム、API、SDK、ツールなどの活用方法をご紹介します。

■イベント概要
【イベント名】 Google Developers Summit Tokyo 2015
【日程】 2015 年 4 月 9 日(木) 9:30 - 17:00 (開場: 9:00)
【場所】六本木アカデミーヒルズ、東京都港区六本木 6-10-1 六本木ヒルズ森タワー
【定員】300 名

プログラムの一部のご紹介

  • 多様化するデバイス環境から考えるユーザー体験とエコシステム
  • ユーザーを魅了するネイティブアプリ経済圏の広がり 〜 モバイル、ウェアラブル、リビングルーム
  • Google Cloud Platform で知る Google クラウドの「Google らしさ」
  • Introduction of Material Design
  • Mix Channel でマテリアルデザインを活用した事例
  • Android Wear でのアプリ開発手法
  • Service Worker で作る最新モバイル Web エクペリエンス
  • App Indexing を使って検索結果からアプリへ
  • Android TV で実現するリビングルームでのアプリ体験
  • Uplevel with Google Play Games
  • Firebase によるリアルタイムモバイル開発

※プログラムは予告なく変更させていただく可能性があります。予めご了承ください。

本イベントの詳細および参加のお申し込みは、こちらのサイトをご覧ください。
※定員に達したため参加登録は終了いたしました。

ご参加いただける方には、参加証を 4 月 6 日(月)より順次ご登録頂いたメール アドレス宛にお送りする予定です。

それでは、みなさまのご参加を、心よりお待ち申し上げております。

Posted by 鈴木拓生 Developer Relations Team