こちらはラボでもAPIを作成しようとしているので、参考になりました。Mappletの紹介がありました。個人的にはMappletで色々開発ネタが浮かんできたので面白かったです。(当然用意してありました。)そういえば、バランスボールが会場の近くに転がってました。午後からは以下の4つのセッションに参加しました。これらの様子も前述のこちらで確認できます。AtenasioGoogleMapsは普段からコード書いたりしているので、知っていることが多かったです。皆さんも知っているでしょうから割愛します。プレゼン資料がこちらにアップしてあります。フォームにコードを書き、すぐに走らせる、というデモの見せ方は非常に参考になりました。僕もデモの方法が課題の一つですので。EarthのKMLを実際に編集するデモから始め、KMLを使用して情報をEarth上に反映する方法がテーマでした。印象に残ったのは、ユーザに情報を登録してもらうプラットフォーム作成に力を入れている部分です。プラットフォーム作成が最近のテーマでもあります。ユーザに情報を登録させる方法については、ノイズ除去、データ形式が同じく課題です。いう標準化機構に添う形にしたい、と言うことのようです。BoydGoogleの様々なAPIを公開していますが、様々なサービスで共通のAPIを使うことができるようになっています。API)と呼んでいるようです。Protocolに対して拡張を行ったREST-basedなAPIで、全文検索、Tagによる検索、更新時間に関する検索などが、共通のAPIで実現できています。JSONなどを指定でき、様々なフォーマットで結果を受け取ることが可能です。色々なAPIを公開していこうとしている中ですので、参考になりました。FumitoshiGoogleのアプリケーションはとにかく安定していて信頼できるという評価ですが、その開発手法を知りたく思い参加しました。印象としてはやるべきことをやっている、ということです(これがなかなかできないのです)。技術者として優秀な人が多いのは勿論ですが、いくつか印象に残った開発の工夫を列挙します。ドキュメンテーションについて。エンジニア間で共有するDesignDocというドキュメントを作成する。ドキュメント化は最低限で良いが、以下は必ずドキュメント化する。Why?--設計の背景、目的How?--設計の方法Who?--メンバーセキュリティ、プライバシーについての考察。テスト、モニタプランについて。自分たちで作る(オープンソースは基本別のディレクトリツリーで)パフォーマンス重視(より良いアルゴリズムを!)スケーラビリティ(並列化する)信頼性(MTBF3年)→1000台あると1日1台は壊れる。ActionScriptリリース前のレビューあらゆるコードは一つのレポジトリで管理し、全エンジニア間で共有している。バグの混入を防ぐために、他のエンジニアがコードをレビューする。記述スタイルを統一するためのリーダビリティーレビュー。(ここを通過しないコードはリリースさせない。)情報共有について創造的である為には情報は共有されなければならないという前提。(複数人で編集できるため。1回4時間程度の技術会が毎日3〜4回行われており好きに参加しているらしい。一部屋に3〜4人の開発者によるグループ開発。以下が主な評価軸となるようです。4半期ごとの目標シートと成果報告。評価は個人、チーム、会社など他面的なレベルで。Resume同僚の評価。自主的にやることを見つける知識やスキルを身につける。上からの命令を待たない。直すべきものを見つけたら、チームの枠関係なく、直す。レセプションパーティセッション後に、レセプションパーティーが18時からありました。Google技術者と話すまたとない機会でした。今日セッションした方6人くらいと話しました。MountainViewから来た方が多かったけれど、日本で働く外国人の方もいらっしゃいました。英語は楽しいけど緊張します。「今日のアルバム作ってるんですよー」って言いながら、それぞれの方の写真を撮って、位置情報つけて、モバshot☆にアップロードして、登録するところまでをデモをしたりもしました。USのモバイルはGPS対応してないので、興味津々(?)に見てくれました。写真の様子はモバshot☆でご覧ください。日本で働いている技術者の方にはモバshot☆のurlを紹介しました。早いとこコミニュティ機能をつけると使ってもらえそうですね。下は基調講演のGregStein氏。モバshot☆をGoogle技術者に紹介していたら、「マプレットに対応してくださいよー」って言われましたけど、これって、すぐやれる上に、やったら普通に話題になりそうですね。全体の感想Googleはモバイルに今年間違いなく力を入れようとしています。位置情報を使用したモバイルコンテンツに関しては、そもそも本社で位置情報携帯が使用できませんので、まだまだなようです。絵文字のプラットフォームを整備したり、位置情報コンテンツを作成したり、地道な活動をすると、かなり優位になりそうです。品質を落とさない工夫は上記に詳細に述べましたが、さすがだなぁ、と感じました。そんな濃い〜1日でした。session2007年4月30日月曜日セッション今日はジャズ畑の人たちとセッション。モードよりのジャズなら折り合いがつくと思ってコミットしてみた。一緒に演奏してくれた方々には心から感謝します。それにしてもジャズメンは上手い。引き出しは豊かだし、センスが良いし、音楽に対する楽しみ方を多く知っている。自分もワンモードセッションならいけるが、これだけだと聴いていて飽きるだろう。Hendrixのように、自由、かつエモーショナルに。思いながら弾いている。彼からの影響はそこまでで良いと思っていて、もっと様々な音使いを知りたい。知らないモードが沢山ある。様々な音の使い方を咀嚼して、それをフィーリングに消化させる。使い方を覚えただけでは駄目で、自由かつエモーショナルな演奏をしようと思ったら、新しい音使いが口から出るレベルが必要だ。セッションは場の空気にダイレクトに反応したり作り出していくことが求められるから尚更だ。周りに反応することが多く、自分から流れを作り出す方が疎かになっていたので弱気にならないこと。引き締まったセッションにする為、ジャズに習って、テーマを予め作ってからセッションをすること。明日と明後日もセッションの予定がある。セッションを通して、間の使い方とか、音の使い方のアイディアをふくらまそう。帰りにディスクユニオンに皆で行った。最近ロックばかりだったが、久々にジャズを聴きたくなったな。session2007年4月23日月曜日ボイシングジョージ・ハリスンが、ビートルズのメンバーに誘われた理由が、多くのコードを知っていたから、というのは有名な話だ。結局ジョージを仲間に誘ったのは、彼が僕らよりもコードを沢山知っていたからだった。彼にはコードを随分沢山教わったな。新しいコードを覚える度にそれを使って唄をこしらえた。多くのコードを知っていた、というよりも、多分色々なボイシングを知っていた、という話だと思う。(何しろコードは24種類しかないのだし。)このギターのボイシングは、センスが出る。ライブに行くと、コードをどんな方法で抑えてるのか、というのは気になることのひとつだ。Cコード一つとっても、色々な押さえ方があり、その派生型は沢山ある。僕の場合、ボイシングが気になるのは、気持ちのいい響きを出す、気持ちの良い押さえ方を知りたい、というのが理由だ。僕は、色々なギタリストが、何気ない顔をしながら、細かくボイシングを変化させて、素晴らしい響きを作り出していることを知り、それらを真似るようになった。それぞれ押さえ方には意味があることに気付いた。意味を作るのは、コード進行だったり、その曲の雰囲気だったりして、音楽的に意味がある。それらを弾いてみると音楽的に気持ちがいい。そのどれもが、一度試してみれば音楽観を変えるのに十分だと思う。彼らが何でギターを長時間弾いていられるのか、その答えの一つが見えてくる。単純に弾くにも聴くにも気持ちが良いのだ。今日、スタジオでセッションをしている途中、Cm(13)を発見した。これも意味のある流れで使うと、気持ちが良い。音楽を高音域で捉えることマイルスの自叙伝を最近読み返す機会があったらか、「音楽を高音域で捉えること」という言葉が突然頭に引っ掛かってきた。気になってこの言葉を探してみた。「まだテクニックが未熟で音楽をあまり高音域で捉えられないこともあって、ディズみたいに高い音では吹けなかったが、彼がやっていることは、すっかり分かっていた。俺はいつも音楽をしっかりと、確かに中音域で捉えていたんだ。」この文章の周辺を読み返してみると、若い頃のマイルスは高い音に弱く、無意識の内にコードと同じ音域で吹くことが多かったらしいことも分かる。今日改めて気付いたが、僕も高音域の方が弱い。中音域なら鳴っている音の音名が確実に分かる。高音域になってくると半音の違いが怪しくなってくる。ソロも高音域でのフレーズが出てこないことが多い。逆に言うとこの辺に注意すると、もっと音域を有効に活用してギターを弾けるかもしれない。音楽を聴いていても、新たに発見することがあって楽しくなりそうだ。Fruscianteも後期になるにつれて高音域を良く使うようになってるな。