Google Chrome: Dev リリース 3.0.182.3

2009 年 5 月 29 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Dev チャンネルが 3.0.182.3 にアップデートされました。3.0.182.2 で起きていた、英語以外を用いた場合にフォントが小さくなる問題 (Issue: 12309 (英語)) を修正してあります。

時刻 11:46

Google Chrome: Dev リリース 3.0.182.2

2009 年 5 月 28 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Dev チャンネルが 3.0.182.2 にアップデートされました。今回のリリースでは HTML5 で導入されるビデオタグのサポートが追加されています。HTML5 については WHATWG のドラフト (英語) をご覧いただければと思いますが、現在 Google では HTML5 のサポートを積極的に進めています。現在、米国で行われている開発者向けイベントである Google I/O でも、いくつかの HTML5 の機能が紹介されており、今回の Dev リリースを使ったビデオタグのサポートもデモされました。


この後も HTML5 のサポートを順次追加していきますので、皆さんからも積極的なフィードバックをお待ちしています。

主な変更:
  • ビデオタグのサポート
  • --auto-spell-correct フラグを付加することによる、"the" を "teh" としてしまうような典型的なスペルミスの修正
  • 全体的な UI の改善
  • いくつかのクラッシュの修正
既知の問題:
  • 英語以外の言語において、ブラウザが用いるフォントが非常に小さくなってしまっている。本問題については、次回の Dev チャンネルでの更新で修正予定 (Issue: 12309 (英語))
バージョンの変更:
  • WebKit - 531.0
  • V8 - 1.2.5.1
  • Gears - 0.5.21.0
このほかの変更点や修正点の詳細については、リリースノート (英語) をご覧ください。

Dev チャンネルでは最新の修正を確認し、開発中の新機能にアクセスすることが可能となります。Dev チャンネルおよび登録方法については http://dev.chromium.org/getting-involved/dev-channel/ (英語) をご覧ください。

また、不具合は http://code.google.com/p/chromium/issues (英語) に登録していただき、また、登録したものに追加や変更があった場合には更新するようお願いいたします。

時刻 16:02

Google マップで複数のお勧めルートが表示されるようになりました

2009年5月26日
Posted by アミ・フィッシュマン(ソフトウェアエンジニア)、若狭 建 (ソフトウェアエンジニア)

Google マップチームではこれまで、A 地点から B 地点に行くための最適なルートをご案内してきました。明らかに最適なルートが1つしかない場合は、ルート案内表示には何の問題もありません。目的地までのいろいろなルートが考えられる場合でも、まず最適であると思われるルートを表示し、その後、表示結果をドラッグすれば他のルートを探すことができます。しかし、B 地点に効率的に行けるルートが2通りまたは3通りあった場合はどうでしょう?候補となるルートをすべて地図上に表示して比較したいと思いませんか?この度、Google マップでそんな機能が使えるようになりました!

A 地点から B 地点へのルートが複数ある場合、最適であると思われるルートの他に、「その他のルート(Suggested Routes)」という見出しの下に、1つまたは2つのルートが表示されるようになりました。最適ルート以外にも、ユーザーの皆さんが関心をお持ちではないかと思われる便利なルートがあります。最適ルートとは大きく異なっていても、その他のルートを参考にするのも楽しいですね。

たとえば、Google の東京オフィスがある渋谷のセルリアンタワーから横浜駅への運転ルートを検索すると、東名高速のほかに、第二京浜、第三京浜を通るルートも表示されます。こちらを好まれるユーザーもいらっしゃると思われるからです。ルートの候補表示にマウスカーソルを移動させると対応するルートが地図上に表示されます。クリックすれば選択したルートを区間ごとに表示します。



Google マップが紹介する「最適」なルートは、距離、所要時間、道を曲がる回数など多くの項目のバランスから決められています。しかし、どのルートが最適であるかは、ユーザーの皆さんが決められることです。地図を見て複数のルートを比較し、ご自分にとっての最適ルートを見つけていただければ、と思います。

また、ルート案内に加え、乗換案内のユーザインターフェースも、今回の変更により改良されました。マウスカーソルを移動することにより、複数の候補を簡単に比較できます。ぜひ、こちらの機能もご活用ください。



時刻 12:36

ハッカソン を 10 倍楽しむための アイデアソン

2009 年 5 月 25 日
Posted by Developer Relations チーム

こんにちは、Developer Relations チームです。
今回、6 月 9 日に開催が迫った Google Developer Day 2009 Japan に併せて 4 つの ハッカソン を開催することになりましたので、参加者の募集を兼ねてみなさんにお知らせします。また、それに関連して このハッカソン をスムーズに運営するために Google が行っている「アイデアソン」について紹介します。

ハッカソン へのご案内

昨年は Developer Day の一部として ハッカソン(Hackathon:Hack と Marathon を合成した造語、昨年はコードラボと記していました)を開催しましたが今年は Google Developer Day 2009 Japan 開催の直後、6 月 10 日と 6 月 11 日に開催いたします。これは、昨年の参加者やサポーターの方からの「ハッカソン に参加すると他のセッションに参加できないのが残念」というご要望に応えたためです。

ハッカソン 開催日程
テーマ: Geo
 ハッカソン: 6 月 10 日(水)/富士ソフト アキバプラザ
 事前ミーティング: 6 月 1 日(月)/Google オフィス(渋谷)

テーマ: Android
 ハッカソン: 6月 10 日(水)/富士ソフト アキバプラザ
 事前ミーティング: 6 月 2 日(火)/Google オフィス(渋谷)

テーマ:OpenSocial
 ハッカソン: 6 月 11 日(木)/富士ソフト アキバプラザ
 事前ミーティング: 6 月 3 日(水)/Google オフィス(渋谷)

テーマ: Google App Engine
 ハッカソン: 6 月 11 日(木)/富士ソフト アキバプラザ
 事前ミーティング: 6 月 4 日(木)/Google オフィス(渋谷)
ハッカソンはいずれの日も 10 時から 18 時、事前ミーティングはいずれも 19 時から 21 時となっています。

ハッカソンへの応募は以下で受け付けています。ハッカソン には Google Developer Day のために来日した米国の Google エンジニアも参加しますので、奮ってご参加ください。
Google Developer Day 2009 Japan ハッカソン 応募受付

アイデアソン のご紹介

さて、ハッカソン に参加される方には、ハッカソン のおよそ 1 週間前におよそ 2 時間開催される「事前ミーティング」への参加も強くお勧めしています。毎回異なるメンバーが集まる ハッカソン にとって、事前ミーティングはとても重要なミーティングとなります。今回は「事前ミーティング」とそのプログラムの 1 つである「アイデアソン」の魅力と詳細について、2 月に京都で開催された OpenSocial ハッカソン の「事前ミーティング」を例にご紹介しましょう。「事前ミーティング」の詳細は ハッカソン を自ら開催されるデベロッパーの方にも大いに参考となるはずです。

事前ミーティングのアジェンダは主に 3 つに分けられます。
  • 諸連絡
    • ハッカソン を効率よく行うためのツールや環境設定の紹介
    • コードを共有するためのリポジトリサーバの説明
    • Tips
    ハッカソン のテーマによって連絡すべきツールや環境設定は異なりますが、登録や設定に時間がかかるものについては事前ミーティングでの説明が必須となります。 OpenSocial は検証のために SNS の Sandbox の登録を必要としますが、その登録に 2 ~ 3 日かかる場合があります。そのため、ハッカソン 当日に登録ができていないと 1 日が無駄になってしまいかねません。こうした事態を回避するために、事前ミーティングでの連絡が必要となるのです。

    またグループで開発をするには、コードをシェアし、バージョン管理を行うためのリポジトリを用意し、その使い方を全員が理解しておく必要があります。リポジトリを用意すれば、ハッカソン の終了後も開発を続けることができます。前回の ハッカソン では code.google.com のプロジェクトホスティングを利用しました。このプロジェクトホスティングにはコードの共有以外にも利点があります。プロジェクトホスティングにアップロードしたファイルには固定URLでアクセスすることができるため、SNS などにアプリケーションを登録する際に、プロジェクトホスティングの URL を利用できるのです。

    時間があれば、ハッカソン 初心者のために Tips を紹介することも有効です。今回の ハッカソン では Tips に従い、ペンタブレットを持参している参加者もいました。 3D CG のゲームを作成するために大活躍していたようです。


  • グループ分け
    ハッカソン ではグループに分かれてコーディングを行います。グループ分けは ハッカソン 当日でも可能です。しかし、グループ分けとその後の自己紹介で時間を費やすため、これを避けるためには、事前ミーティングでグループ分けを行うことが望ましいでしょう(事前ミーティングに参加できなかった人は ハッカソン 当日にグループ分けを行うことになります)。なお、グループは 6 人以下が適切です。それ以上の人数ならば、グループを分割するべきでしょう。

    グループ分けのポイントは主催者側であらかじめグループを設定しておくことです。今回の ハッカソン では参加申し込み時に開発したいアプリケーションのアイデアを記入していただき、それを参考にグループを設定しました。

  • Ideathon
    アイデアソン は聞きなれない言葉でしょうが、ハッカソン と同じく Idea と Marathon を合わせた造語です。同じグループのメンバー同士が打ち解ける機会でもあり、事前ミーティングにあわせて 1 時間程度の アイデアソンを行います(通常、アイデアソン は ハッカソン と同様に1日を費やすことが多いのですが、事前ミーティングでは時間の都合上 1 時間としています)。

    アイデアソン ではグループごとに、ハッカソン のテーマとなった技術についてのブレインストーミングと発表を行います。単なるブレインストーミングとは異なり、発表のためにアイデアをまとめる必要があります。短時間でブレインストーミングを行い、その中で提示されたアイデアを評価および統合し、簡易で魅力的なプレゼン方法の検討が必要となります。これらを1時間で行うのですから、雰囲気としては短距離走に近い集中力が求められます。



    発表方法は特に決まっていません。アイデアをまとめるために用意したスケッチブックや模造紙を用いても良いですし、口頭での発表でもかまいません。今回、投票でもっとも優れたアイデアと評価されたグループは模造紙による発表でした。



    アイデアソン は密度の濃いコミュニケーションとなるため、自然とグループは打ち解けつつ、お互いの技術的力量を把握することもできます。また、グループで開発するアプリケーションは アイデアソン で発表したアイデアに沿ったものとなることが多いようです。この場合、ハッカソン 当日に何を開発するかを検討する時間が節約できることになりますし、ハッカソン 当日までにグループで連絡を取り合い ハッカソン 当日に向けて十分に準備することも可能となります。



このように「事前ミーティング」を行うことにより、ハッカソン 当日を限りなくコーディングだけに費やすことができるようになります。
Google Developer Day に併せて開催されるハッカソンに参加を希望される方は、ぜひ「事前ミーティング」への参加も検討いただけるようお願いします。


時刻 18:53

Google Chrome: Beta リリース 2.0.172.30

2009 年 5 月 23 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Beta チャンネルが 2.0.172.30 にアップデートされました。前回の Beta リリースである 2.0.127.27 以降の主な変更は以下の 4 点になります。
  • すべての言語向けの翻訳が完了
  • 大量の JavaScript を含むページのロード時間の改善を試みる実験的なコードを V8 JavaScript エンジンに搭載
  • フランス語のスペルチェック辞書を使った場合に発生するクラッシュの修正 (Issue: 8551 (英語))
  • 50 以上のフィードリンクを持ったサイトを訪れた場合に発生するクラッシュの修正 (Issue: 12075 (英語))
Beta チャンネルへの参加は、Google Chrome Beta channer installer をダウンロードすることで行えます。このリンクをクリックすると、利用規約が表示されますので、それを確認後、同意ボタンをクリックしてください。以上で、Beta チャンネルへの参加は完了です。Google Chrome を実行中だった場合は、Google Chrome の再起動を行ってください。また、バージョン番号の確認は、Google Chrome のレンチ型のアイコンの「Google Chrome について」から行えます。

Beta リリースをお使いになって見つけられた不具合は http://code.google.com/p/chromium/issues (英語) に登録していただき、また、登録したものに追加や変更があった場合には更新するようお願いいたします。

日本語による Google Chrome のヘルプフォーラムも用意されておりますので、こちらもご利用ください。

時刻 9:27

Google Chrome 2.0 Stable リリース

2009 年 5 月 22 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome を Beta として最初に公開してからすでに 8 ヶ月が経ちました。その間に 1.0 を正式版 (Out Of Beta) として公開し、2.0 の Dev リリースBeta リリースを公開ました。2.0 の Dev リリースと Beta リリースでは、さらなる高速化と安定性の確保、ユーザーの方からのフィードバックなどを参考にした新機能の追加などを行い、今回、その 2.0 を Stable リリースとしてすべてのユーザー向けに公開します。

今回の 2.0 の Stable リリースでは、今まで 2.0 の Beta リリースで提供されていた機能をすべて含みます。いくつか特徴的なものを以下で紹介します。

改良された「新しいタブ」ページ
新しいタブは Google Chrome の特徴的なユーザーインターフェイスの 1 つであり、良く訪れるページのサムネイルなどが表示されるものです。ユーザーの方から多く寄せられたフィードバックとして、このサムネイルの中に他人には見せたくないページがあった場合、それを削除したいというものでした。今回、その削除機能を提供しましたので、プレゼンテーションなどでブラウザ画面を他人に見られる可能性がある場合は、事前に見られたくないページのサムネイルを削除出来るようになりました。

フルスクリーンモードの実装
Google ドキュメントのプレゼンテーション機能で大勢の人の前でプレゼンテーションを行う場合や YouTube などのビデオ共有サイトでビデオを再生する場合、ブラウザをフルスクリーンモードにし、デスクトップを占有して表示させることが出来るようになりました。F11 キーもしくは Google Chrome のレンチメニューの「全画面表示」から行えます。

フォームのオートフィル
すでに訪れたフォーム上で、訪れるたびに毎回毎回入力を求められるのは煩雑なものです。ブラウザのオートフィルはこのような時に、2 度目以降は自動的に入力を行うものであり、今回 Google Chrome 2.0 で実現されるようになりました。

内蔵コンポーネントの更新
Google Chrome に含まれているレンダリングエンジンの WebKit、JavaScript エンジンの V8、オフライン機能や非同期処理を JavaScript に提供する Gears がそれぞれ更新されています。
  • V8: 1.1.10.12 (about:version)
  • WebKit: 530.5 (about:version)
  • Gears: 0.5.19.0
V8 と WebKit のバージョンは URL として "about:version" を入力することで表示されます。

安定性とパフォーマンスの向上
Beta リリースや Dev リリースに関して、ユーザーの方からいただいたフィードバックやクラッシュレポートを解析し、その多くの修正をしました。その数は 300 以上 (修正されたバグリスト (英語)) になります。また、WebKit と V8 の新しいバージョンおよび Google Chrome 自身の改良により、JavaScript を多用するようなページでのパフォーマンスが約 30% 向上しています (参考: V8 のベンチマークツール)。



V8 の高速化の詳細については、Chromium ブログの記事 (英語) をご覧ください。

以上のほかにも、新しい HTTP スタックの利用や言語サポートを拡大しています (50 ヶ国語に対応) 。

すでに、Google Chrome を使っているユーザーの皆さんには、自動的に新バージョンに更新されます。新規ユーザーの方、もしくはすぐにアップグレードをしたい場合は、http://www.google.co.jp/chrome からダウンロードすることが出来ます。

最後に、今回、バージョンが 2.0 になったのですが、Google としては必要以上にバージョンを意識することはしておりません。バージョン番号はあくまでもリリースをトラックするためのプロジェクト内部的な識別子的なものであり、今後もバージョン番号などにこだわることなく、出来るだけ速やかに重要な、また利便性の高い機能をユーザーの皆さんのお手元にお届けします。

時刻 13:19

旅の計画にはGoogle ツールバーを

2009 年 5月 21 日
Posted by ジョン フー (マーケティング マネージャー)

5 月も下旬にさしかかり、初夏を思わせる陽気の日もありますね。ゴールデンウィークが終わったばかりですが、すでに夏の休暇に向けての計画を練りはじめている人もいるようです。

前回の「Google ツールバー新生活篇」に引き続き、旅行の計画に便利なサイトを集めた「Google ツールバートラベル篇」のサイトをアップしました。旅行の計画に便利なカスタムボタンのご紹介、またサイトからすぐにボタンのダウンロードもできますので、是非試してみてください。

トラベル篇のサイト開始に伴い JAL のカスタムボタン 旅ガジェ!も新たに登場しました。JAL のサイトに移動せず、ツールバーの上から直接出発地や到着地を入力して空席情報を検索することができます。( * Google ツールバー 5 以上が、 インストールされている必要があります。)


また今回から、ツールバーが手放せなくなる便利な機能の紹介も始めました。今回の機能紹介は「ブックマーク 基本篇」です。旅の計画中には旅先に関連するサイトをブックマークに保存することが多くなると思います。Google ツールバーのブックマークなら、Google アカウントでログインすれば、どの PC を使っていても自分のお気に入りサイトを確認できます。ブックマーク機能の簡単な使い方はこちらから。

今回紹介されている旅に便利なカスタムボタンはこちらです。

JAL 旅ガジェ!
国内線の空席情報をスピーディに検索ができます。

じゃらんnet
旅のテーマや宿の名前で検索ができます。
例えば「露天 景色」

楽天市場
旅行かばんや変圧器など旅に必要なグッズを簡単に探せます。 

Google マップ
「金沢 グルメ」など旅先の地図や、お店を検索することができます。

「 Google ツールバートラベル篇」はこちらから。

情報の整理が大変になりがちな旅行の計画に、是非 Google ツールバーを活用してください!

時刻 22:06

Google Chrome: Dev リリース 2.0.181.11

2009 年 5 月 21 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Dev チャンネルが 2.0.181.11 にアップデートされました。今回のリリースでは、多くの翻訳 (ローカリゼーション)、クラッシュ、ユーザーインターフェースに関する修正が含まれています。

バージョンの更新
  • WebKit - 530.11
  • V8 - 1.2.4.1
  • Gears - 0.5.21.0
主な変更点
  • フランス語のスペルチェック辞書を使った場合に発生するクラッシュの修正 (Issue: 8551 (英語))
  • Google Chrome を最大化した場合に、TAB のバックグラウンドが黒になる問題の修正 (Issue: 11695 (英語))
  • リモートデスクトップ (RDP) を使い、タブを外に独立させた場合のパフォーマンスを標準のドットによる矩形を用いることで改善 (Issue: 805 (英語))
  • コマンドラインベースのデバッガが WebKit のインスペクタのスクリプトタブを用いるグラフィカルのデバッガに置き換えられ、V8 で動作する JavaScript をデバッグするようになりました
  • プロクシ設定がコマンドラインから行えるように変更。詳しくは (Issue: 266 (英語)) を参照
このほかの変更点や修正点の詳細については、リリースノート (英語) をご覧ください。

Dev チャンネルでは最新の修正を確認し、開発中の新機能にアクセスすることが可能となります。Dev チャンネルおよび登録方法については http://dev.chromium.org/getting-involved/dev-channel/ (英語) をご覧ください。

また、不具合は http://code.google.com/p/chromium/issues (英語) に登録していただき、また、登録したものに追加や変更があった場合には更新するようお願いいたします。

時刻 17:00

Android 搭載携帯を日本の皆さんに

2009年5月19日
Posted by トム モス ( Android 統括部長 日本およびアジア太平洋地域 )

日本のモバイル市場は、Google のモバイル戦略にとって極めて重要なマーケットです。その先進性は、高速なネットワーク、革新的な端末、そして洗練されたユーザーの皆さんによって実現されています。

本日、日本のモバイル市場のリーダーであり、世界的にも新技術、新サービス開発のリーダーである NTT ドコモから、 Android 搭載携帯「HT-03A」が発表されたことを、大変うれしく思っています。

Android はインターネット世代における初めての完全にオープンで無償の携帯プラットフォームです。世界中の開発者によるアプリケーションがいつでもダウンロードでき、ユーザーの皆さんは自分の端末を自分好みにカスタマイズして使うことが可能です。

本日発表した、HT-03A も、フルブラウザ搭載により、モバイルでもインターネットを PC と変わらず利用することができます。また、タッチスクリーンとトラックボールでその操作も快適です。
さらに、Google 検索、Google マップ、Gmail、YouTube など、Google モバイルのサービスへもワンタッチでアクセス。PC でもモバイルでも Google のサービスをシームレスに活用していただくことができます。

今回の発表は、Open Handset Alliance にとっても、より良いユーザー体験を提供する上での意義ある第一歩となります。Open Handset Allianceは、Android プラットフォームを奨励し、携帯電話のイノベーション促進に取り組む、47 以上のテクノロジー / 携帯業界のリーダーから成るグループで、日本のキャリアや端末メーカーも多数参加しています。

Google は、日本はもちろん、世界中のユーザーの皆さんに、すばらしいモバイルインターネット体験を提供できるよう、今後もパートナー、開発コミュニティ、そしてユーザーの皆さんとともに、イノベーションに注力していきます。
ご期待ください!


時刻 16:45

Google マップ・ストリートビューで公開する施設(大学・テーマパーク・公園など)大募集!


2009年5月18日
村井説人 / ストラテジック パートナー ディベロップメント マネージャー
根来香里 / プロダクトマーケティングマネージャー

先週記者会見でも紹介させていただきましたが、この度Google マップでは、施設の運営者の方から直接申し込みいただくことで、施設内をストリートビューで公開できるパートナープログラムを開始しました。これにより、お寺や動物園・大学など今までは実際に訪問しなければ見ることができなかった施設内の様子(公道以外の場所)をストリートビューで見ることが出来るようになります。このサービスを使えば、例えば、「受験先の大学キャンパスを一度見ておきたい」などの受験生に対する要望にこたえることが出来るようになります。「わが施設を撮影してほしい」という施設運営者の方がいらっしゃいましたら、是非パートナープログラムへお申し込みください。

尚、このパートナープログラムを運営するに当たり、Google では「車」撮影のほか、新たに「自転車(通称Trike)」を用意させていただきました。
車では通れないような小道もこの自転車なら撮影することができるようになります。




現在Google では、既に二つの施設を撮影させていただいきました。
ご協力いただいたパートナー様から、ご意見をいただいておりますので、以下ご紹介します。

1) 京都府京都市 高台寺: 
咲き誇るしだれ桜の下、歴史ある高台寺の境内を散策する。

「Google マップという形で、世界中の皆さんに高台寺の画像を地図上でご覧いただけるということを非常に嬉しく思います。本プロジェクトに高台寺を選んでいただいたことを感謝するとともに、これを機会にぜひたくさんの方に高台寺にいらしていただきたいと考えております」

高台寺 執事長 川本 博明 氏



2) 北海道旭川市 旭山動物園
旭山動物園の動物の配置を訪問前に事前に確認する。

「うちの動物園は階層構造になっていて、配置が複雑だったりするんですが、そのあたりもストリートビューだとわかりやすいですね。また、園内は混み合うことも多いので、事前に園内の配置を把握できると便利だと思います。それに何と言っても、地図からグーッと入っていくのはすごく楽しいし、ワクワクしますね。そういう臨場感が伝わって、さらには、そこから動物をしっかり見てもらうことにつながっていったらいいなと思います。」

旭山動物園 園長 坂東 元 氏

以上が、パートナー様からの声になります。
尚、ご紹介させていただいた高台寺、旭山動物園のストリートビュー画像は近日公開する予定です。撮影も順調に行き、とても魅力的なストリートビューになると思います。公開まで、今しばらくおまちくださいね。

パートナープログラムへのお申し込みは、こちらのフォームからお願いします。皆様のご参加、心よりお待ちしております。

※追伸
まことに恐縮ですが、現在たくさんのお申し込みをいただいております。
すべてのお申し込みにお応えすることができませんことを予めご了承くださいませ。


時刻 12:40

Googleが目指す最高の検索UI

2009 年 5 月 18 日
Posted by ベン・ゴメス(上級ソフトウェアエンジニア)

数ヶ月前にウディ・マンバーがサーチクオリティグループの存在を紹介し、この連載でも前に文書のランキングについて触れました。ウェブ文書のランキングはグーグル検索の品質の要ですが、皆さんの行っている検索はそれよりもっと多くのものから成り立っています。今回は、グーグル検索の発展を支えている理念とその実例について述べようと思います。また、グーグルがいかに徹底した実験を通して確実に機能を向上させているかについても述べるつもりです。次回は、現在行っている実験のいくつかを紹介する予定です。

まずは自己紹介から始めましょう。私の名前はベン・ゴメス。1999 年からグーグルで主に検索品質を中心に検索にたずさわってきました。ロボットによるページの収集からランキングまで検索エンジンのほとんどに貢献するという幸運に恵まれ、現在は検索インターフェースと検索機能の技術責任者として働いています。

グーグルの検索ユーザーインターフェースの仕事をしていると言うと、友人たちは一様に「いったい何をするんだ?何も変わっていないじゃないか」と言います。そして、疑わしげに私を見て、せっかくの良いものを下手に変えないでくれとも言います。「心配には及ばないよ。グーグルは今までどおり、簡単で早くてわかりやすいページのままだよ」「それは良かった。でも、そのメンテナンスのどこが難しいっていうんだ?」

その質問に答えるには、私たちのウェブ検索における一番の目的「ユーザーをできるだけ早く求めるウェブページへ辿り着かせること」から説明しなければなりません。検索はそれ自体では完結せず、単なる中継点にすぎないのです。一見あたりまえのようにみえるこの目的が、ユーザーがどれだけ長くとどまってくれるかが成功の鍵となる他のウェブサイトと検索エンジンを根本的に違うものにしています。私たちにとってウェブ検索の成功とは、ユーザーがどれだけ早く立ち去るか(満足して去ってくれているといいのだけれど!)で測られるところがあります。ユーザーが最小限の時間で必要な情報を手に入れられるように、私たちが採用している理念がいくつかあります。
  • 小さなページ 一般的に、ページが小さければダウンロード時間が短く、早く画面に表示されます。それゆえ、最低限の整ったデザインを採用します。インターフェースがあまりに凝っているとページのダウンロードが遅くなり、ユーザーのためになりません。
  • 複雑なアルゴリズムをシンプルに表示 多くの検索機能には、その機能を十分に働かせるために非常に複雑なアルゴリズムと膨大なデータ分析が必要です。そういった複雑なものすべてを、すっきりした使いやすいユーザーインターフェースの裏に隠してしまうのがミソとなります。打ち間違いの修正、サイトリンク(後述)、クエリの書き換え候補の表示などは高度なアルゴリズムを必要とする機能の一例ですが、常に改良されています。ユーザーからすると、気づかないうちに検索がしやすくなっていることになります。
  • どこででも使える機能 アルゴリズムと結果の表示があらゆる言語、国に適応できるように機能設計しなければなりません。例えば、日本語ではクエリ中の単語は必ずしもスペースで区切られていません。またヘブライ語やアラブ語では文は右から左に書かれます。これらの言語でどこでも使えるような「もしかして」のUIを作ろうとしたら、どうすればよいでしょう。
  • データに基づいた決定-実験、実験、とにかく実験 私たちは、実験を行うことで自分たちが間違っていないと証明しようとしています。有望に見える設計のテスト結果が必ずしもいいとは限りません。
そして常に気を使うべきことがあります。例えば、結果ごとに表示するテキスト(または画像)を増やせばユーザーは最良の結果を選択しやすくなるかもしれません。しかし、結果ページの情報が多すぎるとダウンロードが長くなり、目を通すのにも時間がかかるようになります。そのため、その情報を追加する代償よりもユーザーの利益のほうが大きくなるように、検索結果ページに加える情報のひとつひとつを慎重に検討しなければなりません。これはクエリ入力から検索結果の順位付け、改善策の検討にいたるまで検索のあらゆる場面で言えることです。

検索はクエリを入力するところから始まります。検索に際してよくあるいらいらの原因は、単語の正しい綴りがわからないことです!シンプルであたりまえのように見える打ち間違い修正機能の裏側には多くの技術課題が潜んでいます。例えば、一般的な日本語辞書には「倖田來未」は載っていません。私たちは、ユーザーが本当に検索したい単語や打ち間違いそうな単語を決定するために、ウェブと私たちのクエリ・ログを分析します。ユーザーの打ち間違いを修正するシステムは、ユーザーが入力しようとした可能性のある膨大な量の単語(それは今まで手で編纂されたどんな辞書よりもはるかに多い)を瞬時に検討し、もっと可能性の高いクエリがあるかどうか判断しなければならないのです。打ち間違いの修正をするアルゴリズムは常に改良されています。現在は多言語対応が可能で、ユーザーの打ち間違いを見抜く能力は向上しています。クエリを正しく入力することは非常に重要なので、今年の 1 月には打ち間違いを修正されたクエリの検索結果をページの上部に表示するような変更を行いました

クエリを正しく表示できたら、次は検索結果リストからページを選択します。結果ごとにタイトルと URL、そして普段は 3 行の簡潔なスニペットが表示されます。適切なタイトルのないページは無視されがちです。最近の大きな変更のひとつは、ページのタイトルが明示されていても HTML タイトルがないページからタイトルを引き出すことができるようになったことです。そのページの HTML を分析してページ作成者が意図するタイトルを「把握」し、決定します。これによって、適切なタイトルがないからといってページを無視するようなことは大幅に減るでしょう。タイトルの下にはスニペットが表示されますが、グーグルの初期革新の要はこのスニペットの内容にありました。当時の検索エンジンは、単にウェブページの最初の2行分を表示していました。グーグルは、その代わりにページ中の検索キーワードが出てくる部分を表示したのです(情報検索の専門家はこれを「keywords-in-context(文脈付き索引)」と呼びます)。keywords-in-context の表示は見た目には単純で、シンプルなほうのスニペットとほとんど変わらないように見えますが、サイト選びの効率を飛躍的に上げます。この簡潔さの裏には複雑な作業が隠されています。スニペットを作成する際に、単に最初の数行ではなくもっとも関連性の高い部分(ユーザーのキーワードを含む部分)を表示できるように、ひとつひとつの検索結果のテキストに目を通さなければならないのです。

私たちは、ページ内の関連部分を決定するアルゴリズムを使ってスニペットを改良してきました。改善点は、検索結果の中にあるクエリの同義語を強調するといった些細なものからはっきりとわかるものまで多岐にわたっています。ここに、ユーザーが「テレ朝」を検索したときのスクリーンショットの例があります。検索結果スニペットで「テレビ朝日」が太字になっていますが、これはおそらく「テレビ朝日」のことを指しているのだろう、という分析がなされた結果です。


もっとわかりやすい例を挙げると、現在はページに日付が記載されている場合はその日付を抜き出して提示しています。これらの日付は様々な形式で記されていますが、私たちはそれを抜き出して均一に表示し、ユーザーがスキャンしやすいようにしています。


もっとも一般的なユーザーのニーズのひとつで、知っているウェブサイトの名前をクエリとして入力する「ナビゲーショナルクエリ」では、ショートカット(サイトリンクと呼ばれている)を導入しました。サイトリンクのおかげでユーザーはサイト内の重要な部分に行くことができ、これには上述されている理念の多くが実際に適用されています。サイトリンクは、一番目の検索結果に簡潔に付け加えられ、ページに少しテキストが増えることになります。


例えば、NHKのホームページではページの上部や下部に有用そうなリンクがたくさんはられています。様々なシグナルの組み合わせを用いた私たちのアルゴリズムが、これらの中からユーザーが最も見たがっていると思われるものを選択します。

ユーザーが検索順位の上位から探しているものを見つけられなかった場合はどうするのでしょう?その場合はおそらく別のクエリで検索してみる必要があります。このとき、検索結果ページの一番下にクエリの書き換え候補の一覧が表示されます(たとえその中に必要なものがなくても、クエリを書き換えできる別の《もっと成功率の高い》方向にユーザーが目を向けるヒントとなります)。ページの一番下にクエリ書き換え候補が表示されてもユーザーの邪魔にはなりませんし、残りの検索結果で必要な情報が得られない場合はこれらを参考にできます。

多くの変更(些細なものもあれば明らかなものもあります)を加えたところを含め、検索の主な部分について述べてきました。検索にこのような変更を実施したとき、それが改悪ではなく改善であったとどのように判断するのでしょう?私たちは、変更をユーザーたちと共有することで、絶えず自分たちの仕事を評価しています!提案された変更をごく一部のユーザーに行ってみて、それが検索に役立っているか害になっているかを見きわめるのです。成功か失敗かの判断基準はたくさんあります。これらの改善を判断するプロセス自体が科学であり、そこには多くの落とし穴が隠されています。自分たちの実験的方法論のおかげで、私たちはさまざまな可能性を探求し、もっとも効果的なものを実行することができています。私たちが世に送り出した機能ひとつひとつの裏には、日の目を見なかった数多くの実験があるのです。

だから、最初に述べた質問に答えさせて欲しい。私たちは実際にグーグルの検索結果ページに絶えず手を加えており、今までもずっとそうしてきました。そして、決して品質を落としたりはしません。あなたたちユーザーがそうさせないでしょう。

次回は、現在行っている実験のいくつかと、そこから学びたいことについて話をしたいと思います。

時刻 19:20

Google Chrome: Beta リリース 2.0.172.27

2009 年 5 月 15 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Beta チャンネルが 2.0.172.27 にアップデートされました。今回のリリースでは新しい機能の翻訳 (メニュー項目などの翻訳) がサポートされているすべての言語向けに対応されました。また、信頼性を向上させ、Gears のバージョンを 0.5.19.0 に更新してあります。

Beta チャンネルへの登録は http://www.google.com/intl/en/landing/chrome/beta/ から行うことができます。また、不具合は http://code.google.com/p/chromium/issues (英語) に登録していただき、また、登録したものに追加や変更があった場合には更新するようお願いいたします。

時刻 15:43

Google Chrome: Stable リリース 1.0.154.65 の更新内容の補足

2009 年 5 月 15 日
Posted By 及川卓也 / シニアプロダクトマネージャー

このブログでも案内しました
ように、Google Chrome Stable リリース 1.0.154.65 が公開されております。前回のブログでは、クラッシュの問題の修正だけをお知らせしておりましたが、WebKit 関連のセキュリティ問題も修正されていることを改めてお知らせします。

セキュリティの修正の内容は CVE-2009-0945 に関するものです。これは Apple の Safari のレンダリングエンジンである WebKit に関連するものであったため、Apple の Safari 側の対応が行われるまで公表を控えておりました。

CVE-2009-0945: SVG におけるサービス不能攻撃 (DoS)
WebKit の SVGList オブジェクトのハンドリング部分にメモリ破損の問題がありました。悪意を持って作成された Web サイトを訪問することにより、任意のコードが実行される恐れがあります。ただし、任意のコードは Google Chrome のサンドボックス機能により行えることは制限されます。

追加情報 : http://code.google.com/p/chromium/issues/detail?id=9019 (英語)

深刻度: 高。攻撃者は Google Chrome のサンドボックスの中で任意のコードを実行できる可能性があります。

補足:
  • 攻撃者が管理する Web ページをアクセスしなければ被害にはあいません。
  • 攻撃者が実行する可能性のある任意のコードはサンドボックス化されたレンダラープロセスの中で実行されます。サンドボックスについてはこちら (英語) をご覧ください。


時刻 11:39

Google Chrome: Dev リリース 2.0.180.0

2009 年 5 月 14 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Dev チャンネルが 2.0.180.0 にアップデートされました。

本リリースでは、以下のコンポーネントがアップデートされております。
  • WebKit: 530.9
  • V8: 1.2.2.1
主な変更
  • [r14827 (英語)] Omnibox における最初のエントリおよび最後のエントリの表示のための PgUp/PgDn キーのサポート (Issue: 6857 (英語))
  • [r15115 (英語)] Google Chrome が既定のブラウザで無かった場合の通知方法の変更 (Issue: 9049 (英語))
  • [r15702 (英語)] サイトからのポップアップの許可を選択可能に変更 (Issue: 11440 (英語))
そのほかの変更
  • [r14891 (英語)] maps.yahoo.com においてストリートのレベルにズームした際にクラッシュする問題の修正 (Issue: 2044 (英語))
  • [r14731 (英語)] Mohamed Mensour 氏からのプリンターがインストールされていないシステムへのパッチ (Issue: 6835 (英語))
  • [r15020 (英語)] ある HTTPS サイトから別のサイトに移動した際にロケーションバーがフラッシュする問題の修正 (Issue: 11157 (英語))
  • [r15214 (英語)] 新しいウィンドウを開く際の共通の問題の修正 (Issues: 6377 (英語), 6192 (英語), 835 (英語))
  • エクステンション関係の多くの修正 (See r15417 (英語), r15271 (英語), r15310 (英語))
このほかの変更点や修正点の詳細については、リリースノート (英語) をご覧ください。

Dev チャンネルでは最新の修正を確認し、開発中の新機能にアクセスすることが可能となります。Dev チャンネルおよび登録方法については http://dev.chromium.org/getting-involved/dev-channel/ (英語) をご覧ください。

時刻 20:50

ストリートビューをご利用のみなさまへ


2009年 5月 13日
Posted by 河合 敬一 / プロダクトマネージャー

日ごろからGoogle マップをお使いいただき、本当にありがとうございます。
本日は、ストリートビューのサービスにいくつか変更がありますので、ご報告いたします。

去年8月のサービス公開以来、おかげさまでたくさんの方にGoogle マップのストリートビューをお使いいただいています。これもひとえに、ユーザーの皆様あってのことだと、スタッフ一同、心より感謝しております。

私たちは、ストリートビューを、地図の進化へのひとつの試みとして考えています。これまでの「上から見て横向きで使う」地図から、「横から見て横向きで使う」地図へ。これまでになかった新しい地図が、多くの方の日々の生活に、きっとお役に立てるに違いない、そういった思いから、サービスの提供まで、多くのスタッフとともに努力を重ねてきました。

公開以来、この新しい地図が役に立っているというユーザーのみなさんの声が、私たちの支えになってきました。例えば、目的地の周辺を事前に見ておくことで、道に迷いにくくなった、という声。また、ハンディキャップのある方が、外出前にスロープがあるか、周囲の状況を確認するといった利用ケース。引越しや不動産探しでの活用。あるいは、教育現場におけるストリートビューの活用も進んできているようです。(詳細は本日公開したストリートビュー、活用例のページをご参照ください。)

一方、このサービスに対する懸念の声があったことも確かです。日本へサービスを展開するにあたり、日本特有の事情をあまり考慮しなかったのではないか。プライバシーの問題を軽視しているのではないか。Google では、本サービス公開以来いただいたご意見を真摯に受け止め、このサービスを続けていくにあたって、より安心してお使いいただけるにはどのようにしたらいいか、議論を重ねてきました。

そして本日、サービスの向上および改善のための方策として、以下の4つの変更を発表いたします。
  1. これまで公開してきた日本のストリートビューのデータ全てについて、ナンバープレートの不鮮明処理(ぼかし処理)を施しました。
    本日、現在公開されているすべての画像に対し、ナンバープレートに不鮮明処理を施しました。はじめから高解像度のカメラで撮影を行っていたヨーロッパではナンバープレートにぼかしを入れておりましたが、サービス開始時期が他国よりも早い米国および日本では、解像度の低い旧式のカメラを使っていたため、この処理を行っていませんでした。このたび、日本においては、道路特有の事情や、皆様のご意見を考慮して、ぼかし処理を行うことといたしました。
    現在の技術でできる限りの処理を施しましたが、自動認識による不鮮明化技術は残念ながら完全ではありません。万が一漏れを発見された場合は、画像中「問題の報告」リンクよりご指摘ください。手動にて修正させていただきます。皆様のご協力を賜れれば幸いです。
  2. カメラの高さを下げ、再撮影します。
    カメラの高さを 40cm 下げ、これまで公開済みのエリアも含め、すべてのエリアにおいて再撮影を行います。当初は、駐車中のトラックが並んでも正面を撮影できる高さといった要因を考慮し、カメラ位置を設定しましたが、道路幅や日本の住宅事情にあわせ、今回の変更を行いました。
    なお、未公開のエリアでも、既に前の高さのカメラで撮影済のものがあります。こちらについては撮影済みの画像をまず適応させていただき、順次再撮影した映像に切り替えさせていただきます。

    また、すでに公開停止のご依頼をいただいた部分に関しては、再度撮影した場合でも、画像が復活することはありませんので、再度ご依頼いただく必要はありません。

    <参考資料>



    [ 変更前の高さ ]

    [ 変更後の高さ ]
  3. ストリートビュー専用ダイヤルを設けました。

    インターネットをご利用にならない方でも、画像の公開停止についてご依頼いただけるよう、ストリートビュー専用ダイヤルを設けました。本日より受付いたします。

    お問い合わせ先は、下記の通りです。

    ナビダイヤル 0570-01-0041 (携帯電話、PHS、海外からは 03-6384-9900)

    ・ 受付時間: 9:00 ~ 12:00 / 13:00 ~ 18:00 (月曜~金曜)
    ・ 通話料金はお住まいの市内通話料金でご利用いただけます。
    ・ 年末年始および土日祝日はお休みとさせていただきます。
    ・ より迅速で確実な、パソコンや携帯電話からのご依頼方法もご活用ください。
  4. 表札のぼかし処理のリクエストにお応えします。

    表札を指定してぼかしのご依頼を入れられるようになりました。該当する画像左下にある「問題を報告」をクリックし、「表札」を選択して、ぼかしを加えたい表札を選んで送信を押してください。ご本人の意思を尊重させていただくため、ご自宅を申請された場合のみの対応とさせていただきます。


ご懸念の声を真摯に伺いつつも、たくさんの方々がストリートビューを役立てていらっしゃる、というお話を伺うにつれ、このサービスを続けていくことも、Google が社会のなかで役割を果たすことにつながるのではないかと、私たちは改めて考えるようになりました。ただ、継続にあたっては、この新しいサービスを社会に受け入れていただくために、さまざまな方との対話を続け、その対話を通じて改善を積み重ねていくことが、私たちに課された責務であるということも、重く受け止めています。

今回の変更が、ストリートビューに関する皆様のご心配をすこしでも和らげ、安心してお使いいただけるきっかけとなれば幸いです。サービス向上のために率直なご意見をいただいた利用者の皆様、ネットコミュニティの方々に改めて篤く御礼を申し上げます。これからも、皆様のご意見を頂戴し、より安心して、より便利にお使いいただけるよう、改善を続けてまいりますので、Google マップおよびストリートビューに、皆様の暖かいお力添えをいただければと思います。今後ともどうぞよろしくお願い申し上げます。


時刻 12:55

インフルエンザ!?そんなときも新しい検索ツールで。

2009 年 5 月 13 日
Posted by 鈴木宏輔 / プロダクトマネージャー , 水野礼崇 / ソフトウェアエンジニア

本日より、Google 検索で新しい検索ツールをご利用いただけるようになりました。このツールを利用して、さまざまな切り口で検索結果を絞り込んだり、表示を変更できるので、より早く、より簡単に、ユーザーの皆さんが探している情報を検索できるようになります。

新しい検索ツールを利用するためには、検索結果ページ上部の「検索ツールを表示」というリンクをクリックしてください。このツールを利用して、さまざまなことができるようになります。



たとえば、最近流行しているインフルエンザについて検索したい、というときには「最近の結果」ツールをご利用ください。検索ツールの一覧から、「最近の結果」を選択すると、最近作成・更新されたウェブページのみを対象として検索することができます。
「インフルエンザ」で検索



あるいは、最近よく話題に上る景気対策について色々知りたい、というときには「ワンダーホイール」で検索ワードを探索してみるのもいいかもしれません。入力した検索ワードに関連する他のキーワードをアニメーションでブラウズできます。
「景気対策」で検索



また、最近忙しくて母の日のプレゼントを贈るのを忘れた、という方には、「画像表示」ツールで遅ればせながらの母の日ギフトを探してみてはいかがでしょうか。検索結果のウェブーページに含まれている画像を見ながら検索することができます。
「母の日 ギフト」で検索



このほかにも、さまざまな方法で検索結果を絞り込んでいくことができます。
  • 動画や掲示板などののコンテンツで検索結果を絞り込む
  • 24 時間以内、1 週間以内、1 年以内と期間で検索結果を絞り込む
  • 要約文の長さなど、検索結果で表示する内容を変える
  • 上記を組み合わせて、検索結果を絞り込んでいく
この検索ツールで、みなさんが探している情報がより早く、より簡単に見つけられるようになると思っています。今後も、画期的で使い勝手のいい検索ツールを提供していきますので、ご期待ください。

時刻 10:00

Google が公開しているソフトウェアの解説(その4)- Performance tools -

2009年 5 月 11 日
Posted by Google Performance tools team

Google が Google Code でオープンソースとして公開しているソフトウェアの解説シリーズ(前回のエントリ)の第 4 回です。今回は Performance tools について紹介します。この Performance tools は、実際に Google 社内で広く使われており、特に、C++ でテンプレートを使用するマルチスレッドアプリケーションを開発する際に役立ちます。Linux 環境を主に対象としています。

Performance tools とは?

C や C++ でプログラムの書いたことのある多くの人は、「プログラムを高速化したいけれど、どこが一番のボトルネックか分からない」とか、「メモリリークがあるようだけれど、どこで発生しているか分からない」といった問題で苦しめられた経験が一度くらいはあると思います。もちろん、こうした問題の解決策として、アドホックにプログラムをチューニングしたり、目でプログラムを追ってメモリリークの発生箇所を突き詰めることも可能ですが、時間がかかってしまうことが多々ありますし、あまり楽しい作業でもないと思います。

そんなときに役に立つのが、Performance tools です。具体的には、このソフトウェアは以下の 4 つのツールで構成されています。
  • TCMalloc: マルチスレッドプログラムに適した、高速な malloc の実装
  • Heap Checker: メモリリークを検出するライブラリ
  • Heap Profiler: 各関数におけるメモリの使用量を計測・表示するツール
  • CPU Profiler: サンプリングによって各関数の実行時間を計測・表示するツール

これらのツールを使って、プログラムの高速化やバグの検出などを行なうことができます。例えば、Heap Profiler を使えば、プログラム中のどこでどれだけメモリが使用されているかを、簡単に把握することができます。下の図のような、ノードが各関数の中で確保されているメモリの量を、エッジが関数の呼び出し関係を表す有向グラフとして、メモリの使用状況を可視化することができます。



同様に、CPU Profiler を使えば以下のような重みつきコールグラフを出力することができます。このグラフを見ながらプログラム中のボトルネックを特定するといったこともできるでしょう。



Performance toolsの使い方

使い方は簡単です。基本的には、どのツールもTCMalloc のライブラリをリンクするだけで使用する事ができ、 ソースコードの変更は必要はありません。例えば gcc を使ってプログラムをコンパイルしている場合でしたら、"-ltcmalloc" をコンパイルオプションに付け加えるだけで、 TCMalloc の提供する malloc/free がプログラム中で呼ばれるようになります。例えば、

gcc [...] -ltcmalloc

とするだけです。また、Heap Profiler であれば、

gcc [...] -o myprogram -ltcmalloc
HEAPPROFILE=/tmp/profile ./myprogram


と実行することで、メモリの使用状況のログを取ることができます。この場合ですと、定期的に(例えば 1 GB メモリが割り当てられる度に)、/tmp 以下に profile.0001.heap、...、profile.0100.heapといったログファイルが生成されます。このログファイルを以下のように pprof に与えると、先に述べたようなグラフが表示されます。

pprof --gv myprogram profile.0100.heap

TCMalloc

以上に述べたツールの中で、ここでは特に、TCMalloc (Thread-Caching Malloc) について少し詳しく解説します。これは高速な malloc の実装で、例えば glibc 2.3 malloc (ptmalloc2) との比較で、ptmalloc2 で(サイズの小さなオブジェクトの)malloc/free に約 300 ナノ秒かかったところ、TCMalloc では約 50 ナノ秒しかかからなかったという実験結果があります(2.8 GHz の P4 上での測定)。

TCMalloc は、大きく言って 2 つの特長を持ちます。1 つは、マルチスレッドプログラムにおけるロックの競合を削減しているという点です。サイズの小さなオブジェクト (<= 32K) の malloc/free においては、ロックの競合はほとんど発生せず、大きなオブジェクトにおいても、細粒度で効率的な spin lock を用いるようにしています。もう 1 つの特長は、サイズの小さなオブジェクトをメモリ効率の良い方法で表現するということです。単純な malloc/free の実装だと、各オブジェクトごとに(例えば 4 バイトの)ヘッダを用意し、そこにオブジェクトのサイズなどの情報を格納しておく必要があります。これは、オブジェクト解放時に、そのオブジェクトのアドレスから解放すべきメモリサイズを計算するためです。それに対してTCMalloc では、例えば 8 バイトのオブジェクトを N 個確保するのに約 8N * 1.01 バイトしか必要としません。

それでは、TCMalloc がどう実装されているかについて、簡単に説明します。TCMalloc によって管理されるメモリは、各スレッドごとに用意された「スレッドキャッシュ」と、全スレッドによって共有される「中央ヒープ」から成ります。基本的には、サイズが 32K 以下のオブジェクトはスレッドキャッシュ上に確保され、それより大きなオブジェクトは中央ヒープに確保されます。スレッドキャッシュ上ではロックを必要とせずにオブジェクトを確保することができるため、高速化が図れます。



スレッドキャッシュは、各オブジェクトをそのサイズに応じて「クラス」に分類することによって、効率的なメモリ管理を実現しています。例えば、サイズが 1 バイトから 8 バイトのオブジェクトはクラス 0 に、サイズが 9 バイトから 16 バイトのオブジェクトはクラス 1 に分類されます。そして、このクラスごとに、空きオブジェクトを管理するための連結リストが用意されています。



例えば、サイズが 14 バイトのオブジェクトを確保する際には、クラス 1 の空きリストから先頭の要素を取り出して、それを使うようにします。また、オブジェクトを解放する際には、そのオブジェクトのアドレス(ページ番号)から、クラスを計算できるようにしておきます。こうすることで、各オブジェクトごとにヘッダを用意して、サイズを記憶しておく必要がなくなります。

まとめ

Google が公開している Performance tools、特に TCMalloc について説明しました。もし少しでも興味を持った方は、是非使ってみてください。より詳しい情報を知りたい方は、Wiki(英語)ソースコードなどを参照して下さい。

時刻 14:00

Google Chrome: Stable リリース 1.0.154.65

2009 年 5 月 8 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Stable チャンネルが 1.0.154.65 にアップデートされました。このリリースでは、ユーザーの方からレポートされていた起動時にクラッシュする問題が修正されています。

時刻 9:19

サーチウィキ: 検索結果表示をカスタマイズできるようになりました

2009 年 5 月 7 日
Posted by 鈴木宏輔 / プロダクトマネージャー

Google の検索結果は、PageRank™ と呼ばれるテクノロジーで、ウェブのリンク構造全体を調べ、どのページが最も重要かを判断して表示しています。検索エンジンが、ユーザーの皆さんが探している情報に対して、「あなたの必要なものは、この情報ではありませんか」「この情報があなたが探している情報に関連度が高そうです」と表示しているのです。

情報を探すのにはいろいろな手段がありますが、検索のヘビーユーザーの皆さんにとっては、検索結果の表示順位をカスタマイズできると、より情報探しがはかどるのではないでしょうか。

本日サービスを開始したサーチウィキを使えば、自分の好みに合わせて Google のウェブ検索結果の表示をカスタマイズすることができます。ウェブページの表示順位を変更したり、検索結果にサイトを追加したり削除したりできるほか、検索結果にコメントをつけることもできます(作成したコメントは、全て一般公開されます)。

例えば、公園でピクニックをしようと思い立って、大きな都心の公園じゃなくて知る人ぞ知る、素敵な公園にいくつか目星をつけていたとしたら、「公園」と検索すれば、そのお気に入りの公園のサイトが上のほうに表示されるようにしたり、検索結果にそのサイトが出てこないのであれば検索結果に追加したりできるようになります。または、そのサイトについてなぜお気に入りなのかコメントを残しておくことができます。





カスタマイズした内容は自分で元に戻さない限り保存され、同じ検索に対して同じ結果が表示されます。なお、サーチウィキを利用するためには Google アカウントへのログインが必要です。

検索結果に加えた変更は、変更した本人による検索だけに反映されます。他のユーザーの検索結果には影響しません。 しかし、自分の残したサイトについてのコメントは他のユーザーと共有されます。検索結果ページの下の[この検索のサーチウィキ メモをすべて表示]をクリックすれば、他の人のコメントを見ることもでき、みんながどのようにそのサイトを評価して検索結果をカスタマイズしているのかもわかります。詳しいご利用方法は こちら をご参照ください。

Google は、"完璧な検索エンジン" とは、"ユーザーの意図を正確に把握し、ユーザーのニーズにぴったり一致するものを返す"ものと定義しています。サーチウィキで、自分の意図を一番よく理解しているユーザーの皆さん自身で検索結果表示を自分好みにカスタマイズすることで、その検索体験は使い勝手の面でも、より自分好みになっていくと思います。

今後も、ユーザーの皆さんにあった検索体験を提供できるような機能を提供していきたいと思っています。ご期待ください。



時刻 12:00

Google Chrome: Stable リリース 1.0.154.64

2009 年 5 月 6 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Stable チャンネルが 1.0.154.64 にアップデートされました。このリリースでは Google 社内のテストで発見された 2 つのセキュリティ問題の対策が行われています。

このリリースではそれに加えて、次の変更が行われています。
  • Google Chrome を既定のブラウザにする起動時の通知が変更になりました。もし、Google Chrome を既定のブラウザにしない場合には、「再表示させない (Don't ask again)」をクリックし、再度の通知を停止できます。
  • Gears が 0.5.16.0 に更新されました。
セキュリティ修正

CVE-2009-1441: ブラウザプロセスにおける入力妥当性のエラー
レンダラー (タブ) プロセスからの入力の適切な確認に失敗していたため、攻撃者がブラウザをクラッシュさせ、ログオンしているユーザーの権限で任意のコードを実行させる可能性がありました。この脆弱性を不正に利用するためには、攻撃者はレンダラープロセスの中で任意のコードを実行する必要があります。

詳細情報: http://code.google.com/p/chromium/issues/detail?id=10869 (英語)

深刻度: 緊急。攻撃者はログオンしているユーザーの権限でコードを実行できる可能性があります。

補足: 攻撃者はレンダラープロセスで任意のコードを実行できなければいけません。

CVE-2009-1442: Skia 2D グラフィックスでの整数オーバーフロー
イメージサイズの計算時の整数乗算結果チェックのエラーにより、特別に生成されたイメージやキャンバスによりタブがクラッシュさせられ、攻撃者により (サンドボックス化された) レンダラープロセスの内部で任意のコードが実行される可能性があります。

詳細情報: http://code.google.com/p/chromium/issues/detail?id=10736 (英語)

深刻度: 高。攻撃者は Google Chrome のサンドボックスの中でコードを実行できる可能性があります。

補足:
  • 攻撃者が管理する Web ページをアクセスしなければ被害にはあいません。
  • 攻撃者が実行する可能性のある任意のコードはサンドボックス化されたレンダラープロセスの中で実行されます。サンドボックスについてはこちら (英語) をご覧ください。


時刻 23:55

Google Chrome: Dev リリース 2.0.177.1

2009 年 5 月 6 日
Posted By 及川卓也 / シニアプロダクトマネージャー

Google Chrome の Dev チャンネルが 2.0.177.1 にアップデートされました。

このリリースにはいくつかの修正と UI の変更が加わっています。たとえば、wikipedia.org にて検索したことがある場合、OminiBox で wikipedia.org と入力し、Tab キーを押すと、Wikipedia に対しての検索用語やサジェッスチョン、過去の検索履歴などが表示されるようになりました。

そのほかの修正としては次のようなものが含まれています。
  • [r14196 (英語)] Gmail においてスクロールバーや Home/End キーが動作していなかった問題を修正しました (Issue: 10009 (英語))
  • [r14377 (英語)] Flash (およびほかのプラグイン) がブラウザをリスタートさせることなく、インストールできるようになりました (Issue: 10574 (英語))
  • [r14137 (英語)] 新しくリリースされた O3D プラグインを含むプラグインにおいて、ハングする問題があったのを修正しました (Issue: 10711 (英語))
  • [r13934 (英語)] いくつかのサイトにて、テキストが表示されなくなってしまったり、まったく描画されない問題がありました。たとえば、Google カレンダーにて終日に対するイベントのタイトルが表示されていませんでした (Issue: 9904 (英語))
Dev チャンネルでは最新の修正を確認し、開発中の新機能にアクセスすることが可能となります。Dev チャンネルおよび登録方法については http://dev.chromium.org/getting-involved/dev-channel/ (英語) をご覧ください。

時刻 14:00

Googleサマーインターンシップに参加しませんか?

2009年5月1日
Posted by 花岡俊行 / ソフトウェアエンジニア


はじめまして!

4月からGoogler になったソフトウェアエンジニアの花岡と申します。

私は昨年東京オフィスで行われたサマーインターンに参加しました。Google は今年の夏も、東京オフィスにてサマーインターンを実施します。今回は、去年の参加者の立場からサマーインターンについて紹介させていただこうと思います。

最近インターンシップを行っている企業が増えていると聞いていますが、改めて説明させていただきますと、インターンシップは、学生が企業で研修生として就業体験を行うシステムのことを言います。世の中の多くのインターンが、あくまでも体験という枠内にとどまるのに対して、Google のサマーインターンでは、チームの人と同じブースの席に座り、プロジェクトのミーティングや議論に参加し、ほぼGoogle の社員と同じように豊富な計算資源やリソースを用いて大規模なデータを処理する、通常では経験できないとてもエキサイティングなものです。4月からGoogler として働いてみて、改めてインターンシップでした体験が、実際の仕事にとても近いと感じています。

また、社内で実際に働くことでGoogle というものを身近に感じるということもできました。社内の先輩方は皆フレンドリーで、親切に色々教えてくれます。こういう人達がGoogle を東京オフィスから支えているのだなあと現場にいて感じられました。当然ながら行っているプロジェクトはインターナショナルなものです。東京から世界につながる醍醐味を皆さんにも是非味わって欲しいと思っています。仕事以外でも、様々なTech Talk を聞く機会やGoogle の社内イベント、クラブ活動に参加することができます。

応募しようか迷っている方もいらっしゃると思いますが、素晴らしい経験となることは間違いないと思います。是非サマーインターンに応募し、Google での仕事を体験していただきたいです。

下記リンクより募集要項をご覧頂き、ご応募いただければと思います。

http://www.google.co.jp/intl/ja/jobs/students/summerintern.html

また、「インターンシップ中はどういったプロジェクトに携わることが出来るのか?」「一日の具体的なスケジュール・動き方は?」といった疑問をお持ちの方もいらっしゃると思います。下記の日程でGoogle サマーインターンセミナーを行いますのでお時間がある方は是非ご参加ください。

■ プログラム(予定)
インターンシップのご紹介、エンジニアとのQ&Aセッション、オフィスツアー等

■ 日時
2009年5月17日(日) 13:30 開場 14:00 開始( 1時間半程度を予定しております。)

■ 対象
コンピュータサイエンス系の学士、修士、博士課程に在籍、もしくはそれに近い研究科に在籍の方

■ 場所
Google 東京オフィス

■ 参加予約方法
下記 URL よりご予約ください。

https://services.google.com/events/summer_internship2009_ja

■ 参加予約
締切5月13日(水)正午まで

■ その他
スペースの都合により、応募多数の場合は、抽選とさせていただきます。14日までに参加証発行をもって、当選とさせていただきますので、ご了承ください。また、弊社への交通費は自費となります。

■ お問い合わせ先
インターンシップ採用担当
newgraduate@google.com

それではよろしくお願いいたします!

時刻 13:38