先日、日本でも開催されたGoogleのカンファレンスに参加できました。
探偵は開催を心待ちにしており横浜まで行って聴くことが出来たので、聴けなかった皆様にも聴きながらの走り書きながら拝聴した*1セッションの内容*2をおすそ分けします。
探偵としては、雰囲気を味わえたのが最高の収穫です。
では宜しければ、どぞお楽しみ下さい。
Google Developer Day 2008 Japan 開催概要
開催日 : 2008 年 6 月 10 日(火)
会場 : パシフィコ横浜(会議棟) 〒220-0012 横浜市西区みなとみらい1-1-1 地図
対象 : デベロッパー
主催 : グーグル株式会社
開催文言
Google Developer Day 2008 Japan では、Google のテクノロジーで、Web アプリケーションの限界に挑戦します。Google のエンジニアや Web 開発のリーダーたちによる最新テクノロジーの紹介やコード ラボセッションなど、 1 日をとおして今後の Web 開発に役立つ情報を提供します。
Google Developer Day 2008 Japan は単に Google の情報発信の場だけではなく、デベロッパーの皆様との交流の場でもあります。さらに、デベロッパー同士が情報共有する場としても活用していただくのも、大事な目的のひとつと考えています。
以下、セッション個別に内容、所感を記載します。
基調講演
村上 憲郎
アンディ ルービン(Andy Rubin)
及川 卓也
鵜飼 文敏
ピート クーメン (Pete Koomen)
Google App Engine
Pete Koomen (ピート クーメン) プロダクト マネージャー
案内文言
Google App Engine を活用すると、Google のインフラを利用してウェブアプリケーションを構築することができるので、簡単にウェブアプリケーションを開始できます。また、作成したアプリケーションの成長を簡単にスケールできます。本セッションでは、プロダクト マネージャー (製品責任者) の ピート クーメン(Pete Koomen)が、Google App Engine がどのようなものか、どのように利用することができるのか、ウェブアプリケーション開発者にとって、大きな利点が何故あるのか、ご紹介します。また、ソフトウェア エンジニア のブレット スラトキン(Brett Slatkin)が、10 分ほどでスクラッチから構築できるというデモを行います。
以下にも記事ページがあります。ご参照ください。
【Google Developer Day 2008】 Google App Engineをおさらいしよう
Google App Engine セッション内容及び所感
現在使える言語としては、Python だけの様子。なので現在はちょっと敷居が高い。今後は他の言語でのインターフェースも考えているとのこと。
またデータを保存するためのコンポーネントとして "Datastore API" が用意されていて、SQL-like な "GQL" という言語でデータの操作が出来るそうです。
GQL Reference - Google App Engine.
使用出来る言語が、Python だけしかないというのがちょっと弱いです。*4
また、「Google のインフラを利用してウェブアプリケーションを構築することができる」というのは魅力かもしれませんが、企業ユーザには手を出し難いというか、手を出せないのが実際だと想います。使いたいと思っているのは、現在ホスティング・サービスを利用してウェブアプリケーションを実行している方々でしょうし、彼等が今後も何らかの新規のサービスをウェブで行っていこうと思っておられれば、それは朗報かもしれません。それに関しても全てのデータがGoogleにあるというのは抵抗があるかもしれません。
こういう利用法が浸透するにはまだ時間が必要であろうと考えられます。
随時、追記します。
Google Data API セッション内容
Google のサービスにブラウザを使わずにプログラムでアクセスするためのもの。
HTTP で XML をやり取りする。
Google Data Feature Summary
Entry "kind"
HTTP status code
Authenticate with Authorization Token
server specific token used for authentication upon requests
Password-Based Silent Login Interface
Password-less Authentication AuthSub
Browser only
SID, LSID, Auth
Serch Queries
ex.
| HTTP_METHOD URI ? key1 = value1 [ & key2 = value2 ... N ]
common parameters - oderby, start-index, max-results, author
Serch Queries Parameters example
YouTube - vq, orderby, start-index, max-results, format
Serch Queriey example
| QueryTerm = タモリ倶楽部
Additional Resources
Gallery of 3rd party GData Developers
Google Data API セッション所感
Google での様々なサービスでのインターフェースに実装される見込みだそうですが、基本はサービス毎のプロジェクトですので、サービスによっては実装に不向きなサービスなどもあって、全てに実装されるとは限らないそうです。
但し、どのサービスにもアクセス可能にするのは、Google 自身での方向性らしいですので、今後は各種サービスに実装される模様です。
但し、このAPIを使った利用方法は、実際にはイメージしづらいです。今回はYouTubeの例があったので、クエリを投げるイメージは感じました。しかしながら返り値が、Atom なので、利用する側には、このデータを元に何をするのか?がそれなりに明確になっていないと、問題なのはいうまでもありません。
また、これも Google App Engine 同様にサービスは Google が提供しているものですから、Google のデータを利用して何かしたいのでなければ、無意味なものでしょうし、Google のサービスを利用するための制限をクリアしなければならないために、企業ユーザにはちょっと敷居が高い部分があることでしょう。
こういう利用法が浸透するにはまだ時間が必要であろうと考えられます。
随時、追記します。
Android セッション内容
Basic of an Android Application
Activity -- "molecule" chunk pof functionality
Intent Receiver
Service
Content Provider
Activities
Process and Lifecycle
Developer Toolchain
Emulator - QEMU-Based ARM emulator runs same system image as a device
Eclipse Plug-in
Debugging
What does open mean ?
Under Apache 2.0 license
Source available after first handset ship
Users have control of their experience
They control what gets installed
Don't need premission to ship an application
No hidden or priviledged framework API's
Can integrate, extend, and replaces existing components
What about security ?
What does this mean for developers ?
Android セッション所感
自然な流れとして、以前から不自然であった携帯キャリアが王様で移動機ベンダが下僕といった構造が完全に崩壊しつつあります。技術的には先行していて世界的に競争力がある筈の日本の移動機ベンダは、その「困ったちゃん」の携帯キャリアの柵からグローバルに展開出来ない軟禁状態に陥り、仕舞いには携帯電話製造自体を止めてしまい、この分野から撤退せざる終えない製造業者まで出る始末。しかも、海外からはヨーロッパや韓国を筆頭とした日本参入も見えだしてきました。
このような実体化してきた業界内部での変化がありした。
さらに日本でも話題である Apple iPhone の発売に向けての進展もあり、黒船の波が携帯業界にも来て、日本における携帯電話のビジネスモデルが避けようも無く更に大きく変化する見込みであります。
更に大きな事象としてこのAndroidが携帯電話のプラットフォームの共通基盤となるようなことがあれば、パソコンに起きた事象と同様に大きな変革を齎すことは必死です。
これまでの完全にクローズドな各携帯電話毎の固有である仕組みが、オープンな共通基盤となることは、携帯電話をターゲットとした開発が促進されることになるでしょうし、移動時におけるインターネット端末としての一層の重要な役割を担う存在になると思われます。
その頃、携帯キャリアはどうなるのでしょうかね?
携帯キャリアが無数に起業し出して、あのインターネット・プロバイダ起業ブームみたいになったりしたりして。。。南無三。
随時、追記します。
Google Gears から Gears へ
河内 隆仁 (こうち たかよし) ソフトウェア エンジニア
市川 宙 (いちかわ ひろし) ソフトウェア エンジニア
案内文言
Google Gears は Gears と名称変更し、よりオープンにプロジェクトを進めていくことになりました。Gears はオフライン機能だけでなく、さらにウェブアプリケーションの可能性を拡げるための JavaScript API として日々開発が進んでいます。本セッションでは、Gears の基本的な使用方法と今後の機能拡張についてデモを交えてご紹介します。
以下にも記事ページがあります。ご参照ください。
Google Developer Day 2008 Japanレポート 「Google Gears から Gears へ」編
Gears セッション内容
Gears の基本
Gears + GreaseMonkey
今後の Gears
Google Gears --> Gears
ブラウザの extension
オープンソース
オープンな開発体制
オープンスタンダードの先取り
Google に限らないので、Gears だけに。
これまでのブラウザ環境
XmlHttpRequest(XHR) と AJAX
サービスプラットフォームとしてのウェブ
ブラウザの問題点
ローカルデータにアクセスできない
肝心なときにネットワークに繋がらない
レスポンスが遅い。ネットワークはローカルより遅い。
HTMLレンダリングだけに4コアCPUは不要。
理想的には
1 アプリケーション、1 URL
オンラインとオフラインのシームレスな切り替え
ローカルデータを利用可能
全プラットフォームの全ユーザが利用可能
Gears : インクリメンタルなアプローチ
ブラウザのプラグイン、JavaScript API
修正BSDライセンス、オープンソース
Gears アプリケーションのアーキテクチャ
Gears の基本構成要素
LocalServer
Database
WorkerPool *7
LocalServer
アプリケーションをオフラインで
ResourceStore - 個別のURLをキャッシュ
ManageResourceStore - リスト(manifest)*8
demo : Database
dbquery.html、データベースのデモ
3rd party のツールも使える。SQLite なので。
WorkerPool
JavaScript にスレッドぽい機能を追加。実際には、インタプリタを複数動かす。
Worker 同士は、通信、状態、変数を共有しない。出来ない。
Timer, HTTPRequest のサポートが出来るようになりました。*9
demo : WorkerPool
WorkerPoolは、描画の処理を邪魔しないので、複雑な計算中でもスムースな描画を行えるというデモ。*10
GearsMonkey
Gears + GreaseMonkey
特定サイトでユーザ指定のJavaScriptを実行する Firefox アドオン。
はてなブックマークのデモ。(1文字文字を入れる毎に検索結果を変更していく。Gearsを使っているために、はてなサイトに負荷を掛けずに実行できる。)*11
今後の Gears
Desktop API - デスクトップにURLのショートカットが作成できる。
Notification API - メールが届いたなどのイベントをユーザに通知できる。ダイアログなど処理が止まってしまうものや、タブバーなどで選択している時だけヘッダーに表示されるものではなくて、デスクトップの下方にバルーン形式で表示できるものらしい。
Filisystem API - HTMLでは一個一個しか指定出来なかったファイルの選択が、複数のファイルをいっぺんに選択出来るような拡張。
Resumble Upload API - 大きいファイルのアップロードなどの場合に通信途中で止む負えず中断してしまった場合などで、再開時に先ほどの続きから開始できるような機能。分割してアップロードできるようにプロトコルレベルで変更を加えているそうな。
Geolocation API - 現在位置を取得できる機能。*12mapアプリなどであれば、キーワードで「すし屋」、「横浜」と二つのキーワードの入力が必要であるが、これを「すし屋」だけで検索できたりするかもしれない。
BLOB API
Gears セッション所感
随時、追記します。
探偵が、Gears に一番期待しているのは、取りも直さず、
| 「シームレスなランタイム」として動作できること
それに尽きます。そこに関してはまだ実装があまり進んでいない感も否めません。
Googleのスピーカーさん達は、「Gearsはただ単にオフラインでも使えるといういうだけではないんですよ」と話していたが、一番肝要であり探偵が着目しているのは、そこなんですよ。
要するに、今までのウェブを利用するのに最大の欠陥は「シームレス・ランタイム」がな無い。つまり、この機能が欲しいだけなんですよ。だから Adobe の AIR でも Google の Gears でも何でもいいんですよ。もしかしたら、Microsoft の Silverlight ですら良いとも思ってますし、ちゃんと「Widnows以外でも」動くのであればね。
そういった機能を持ったプラットフォームがあれば、そして簡易に利用できればいい、それだけなんです。
しかしながら、彼等の言葉通りなのか、周辺がAPIとして拡充されてきている様子です。これにより今後利用する開発者も増えるかもしれませんね。
ご参考までに、以前にもこの件に関しての探偵想いが書いてあります。宜しければ御覧下さい。
Sherlock Holms in Adobe Digital Editions
Adobe AIR Developers Night 2007 in Ebisu
Google AJAX API を活用した、進化したガジェットと UI (ユーザーインターフェース) の開発
Derek Collison (デレック コリソン) エンジニアリング テクニカル ディレクター
案内文言
Google AJAX API は、洗練されたガジェットや、ウェブの UI (ユーザーインターフェース)を管理するのに活用できます。たとえば、複合的なサーバー側のプロキシーを回避し、Feed API を利用した 2-3 行の JavaScript を活用することによって、直接フィードをマッシュアップすることができます。本セッションでは、より進歩した Feed API や Search API の活用方法をご紹介します。また、Google の最新の API を利用して、いかに作成したウェブアプリケーションをグローバルに広げることができるかご紹介します。 本セッションは、JavaScript や ダイナミックウェブアプリケーション の知識が必要です。
Google AJAX API セッション内容
The Application Concept
The Basic Building Blocks
HTML/DOM
CSS
JavaScript
Tools
The Google Ajax APIs - Seach, Feed, Language
Tools
The Google Ajax APIs
Restful data access layer
JSON/JSON-P
JavaScript Runtime - Designed for ease of use
JavaScript controls and UI elements
Custom integration and styling
The Google Ajax Search APIs
The Application Prototype
What we saw
the tag cloud view
CSE : Custom Search Engine
Better alternative than site restriction large # of sites
Building the Application
iGoogle Template
gmodule.com
Google AJAX API セッション所感
Google gadget をゴリゴリ JavaScriptで書きましょうという内容でしたが、探偵自身はちょっと使うことはないでしょう。ガジェット自体をほとんど使っていませんし。しかしセッションでは講師の方がコードの一部まで紹介して丁寧に説明してくださったのでJavaScriptながらも割と簡単に書けるのかも?という錯覚を起こしました。テンプレートも用意されているそうなので、見栄えもよくなるのかもしれません。デモで見せてくれた検索ガジェットはタグビューなどがあって綺麗でした。但し、紹介してくれたAPIが3つだけというので使用用途はかなり限定されているのかもしれません。元々ガジェット自体がそういうものなのでしょうけど。
随時、追記します。
Google Web Toolkit と AJAX
Adam Schuck (アダム シュック) ソフトウェア エンジニア
案内文言
AJAX のパワーは、新しいウェブアプリケーションで明らかになっています。ただ JavaScript は、少量のコーディングで簡易性と柔軟性を発揮するので魅力的ですが、大量のコーディングをするには、扱いにくいので、使う気が起きない言語です。大きな AJAX アプリケーションは、多くの場合コードを書くのは大変ですし、ブラウザごとに事情が違うのも厄介です。本セッションでは、デベロッパーの皆様に、どのように Google Web Toolkit を利用すれば Java 言語で AJAX アプリケーションを作成できることをご紹介します。具体的には、Google Web Toolkit を活用すると、自分の好みに合う IDE、Java ライブラリ、デバッガを利用できます。Google Web Toolkit を利用すれば、高速で、効率的な AJAX アプリケーションを開発できることがお分かりいただけるはずです。
GWT セッション内容
potentional of Ajax
GWT brings ...
The Status Quo
Every ...page .. is ...so.... slow ... and ...disconnected ...
Ajax Architectual Shift
図省略。
Aax Slippery Slopw
... quit job
To Be Crystal Clean
What is GWT
build Ajax apps with Java technology
use Java Debugger
ex.
| public class Hello implements EntryPoint { | public void onModuleLoad () {
Web Usability Fundamentals Remain Intact
History
Do not click reload!
Do not click back!
GWT brings a simple history API - ... History.addHistoryListner(controller) ...
Localised Messages
Efficient I18N
Styling with CSS
public ListBox(String caption) ...
Usability Without Sacrificing Speed (Demo)
Kitchen Sink - MVC and on-the-fly UI Creation
Lombardi: Blueprint
Lots of Stuff Here
Fast is Better Than Slow
Speed is a critical component of usability
Optimised Permutating
Single Java Code Base
JSNI: JavaScript Native Interface
Implement native methods using JavaScript
Javaコードの中にJavaScriptを直接書ける。
Branding Relity
Fantastic Independent Monolithic Codes
Browser-Specific Optimization
Only Pay For What You Use
Better Usability From Less Bandwidth
HTTP Traffic Optimizations
RPC Speed Optimizations
Not Enough Time To Demo Everything
Unit Tests, Benchmarking, Internationalizations
Automatic inclusion of external JS and CSS
Documentation Included
The Growing Eco System
What's next
Out-of-process hosted mode
Widgets I18N
JavaScript API
GWT セッション所感
GWT の良い点が強調された内容でした。「JavaでJavaScriptが書ける」というのは素晴らしいのです。*14これをまんま鵜呑みにすれば可也良いとは想いますが、実際どの程度使いやすいのか?が問題です。
またGWTで提供されている GUI Widget で全てが足りるとは到底思えませんし、その場合、外部に既に存在している JavaScript の他のライブラリやウィジェットと組み合わせて使えるのか?が可也重要な点になると想像出来ます。
随時、追記します。
カンファレンス全体所感
Google での各種サービスAPIやツールキットなどの紹介などであったが、全て実際に使ってみたことがないため非常に参考になった。特に以前から興味を持っていたGears*15は、予想通りの展開をみせ、当初は陳腐なものであった様子だが、かなり進歩してしてきていると感じた。以降で私たちが希望する機能を実装してくれることを望むばかりです。道を外れなければ、ですけどね。
随時、追記します。
繰り返しになりますが、探偵としては、当日の熱い雰囲気を味わえたのが最高の収穫です。
Related Link
Google Developer Day 2008 Japan
当日のセッション資料が公開されました。皆さんはこちらを見た方が良いでしょう。併せて探偵のこの力作レポートもご覧下さいませ。
Google Developer Day 2008 Japan セッション - セッションの資料
Gears - Improving Your Web Browser
Android - An Open Handset Alliance Project
Google App Engine - Run your web applications on Google's infrastructure.
GQL Reference - Google App Engine.
News
[2008/06/14]
[2008/06/12]
[2008/06/12]
[2008/06/11]
[2008/06/10]
[2008/06/10]
[2008/06/10]
[2008/06/03]
[2008/05/29]
[2008年02月06日]
*1:-翻訳器つけるの嫌なので、探偵の拙いヒアリング能力には限界があります。それゆえ聞き間違いもあろうことを予め御容赦下さいませ。-
*2:-書き写せなくて細切れだったりしますが、其の点も重ねて御容赦下さいませ。-
*3:-元ソニーのコクーン部門の責任者だった様子です。現在は、Google 製品企画本部長。-
*4:-現行では手を出せません。-
*5:-APP: Atom Publishing Protocol. Atom パブリッシング プロトコル。これはウェブ リソースをパブリッシュおよび編集するための HTTP ベースのプロトコルです。APP 規格は、まだ完成されていない新しい標準規格であり、現在 IETF が開発中です。-
*6:-ログインが出来るという意味だそうです。-
*7:-JavaScriptのスレッドの様なもの。-
*8:-manifestは、version番号で管理する。番号が新しいとキャッシュを破棄するといったような動作だそうです。実際にチェックするのは、store.checkForUpdates()というメソッドを呼んでチェックするみたい。-
*9:-Gears 0.2 以降でサポート。-
*10:-計算処理はバックグラウンドのインタプリタで処理していると憶測されます。-
*11:-MySpaceメールでもこれを使っているらしい。-
*12:-PCであればIPアドレス、携帯であればGPSなどから情報を取得するらしいです。-
*13:-意味不明。たぶん、びっくりするような目新しい技術のことみたいです。-
*14:-実際に自分でJavaScriptをゴリゴリと書きたくないですし、Javaで生成出来るというならコレに越したことはないです、私にとってはですが。-
*15:-研究対象でもありましたが、触ったことは無かったです。-