-
2008/06/12 15:31
6/10にパシフィコ横浜で開催されたGoogle Developer Day 2008に参加してきました。
詳細なレポートは以下のサイトに詳しく掲載されています。Google Developer Day 2008 レポート(前編)- WebOS Goodies
Google Developer Day 2008 Japan 基調講演 – 天使やカイザーと呼ばれて
Google Developer Day 2008 Japan [OpenSocial] – 天使やカイザーと呼ばれて本エントリは、僕が参加したセッションについてのメモ書きと妄想です。
■ 基調講演
Androidの実機デモを見ることができた。
iPhoneさながらのマルチタッチUI。
アイコンやボタンはGNOMEっぽい。Webページのスクロール、拡大機能もiPhoneとほぼ同機能。しかしiPhoneのそれより動きが滑らかではなかったように思う。Google Mapのストリートビューはすばらしかった。Androidの加速度センサに反応して360度見回すことができる。バーチャルリアリティ!ブラウザ上でGoogle Earth が見れるデモ。残念ながらWindows IE, Firefoxのみ対応。トラックを動かす簡単なデモには笑った。エベレストの上も走れるw
次にgainerに加速度センサーをつけ、Flashアプリでフライトシミュレータ。残念ながらデモが動作せず。
以下、妄想:
Android + Google Earth API + Gearsで、カーナビの機能を充足できるのではないか。Androidでデータ通信して地図情報を取得、Gearsで目的地までのルートをキャッシュする。圏外の場所でも車搭載の加速度センサとGearsによってキャッシュしてある地図データがあればルート表示は可能。
建造物の3DモデルはGoogle Skeckupでどんどん追加されているわけだし、常に地図は更新され続ける。
地図CD-ROMの買い替えやHDDの取り替えも不要だ。でもたまにAdSenseが表示されたりして。■ Google App Engine
ゲストブックのようなものをゼロから作り上げるデモを行っていた。
TextMateでPythonコードをすんごいスピードで書いていく。
コーディング->localhostで確認->コーディングのサイクルが早く、あっという間に完成した。興味深かったのはDatastoreAPIを用いたデータ永続化の方法。
SQLに良く似たGQLにてデータを操作する。しかしながらテーブルのJOINは未サポートとのこと。Pythonのソースコードは思っていたより見やすい。
インデントによってブレース記号({})が省略できるためだろうか、無駄がない感じ。localhostで確認した後、専用アップローダを用いて
Googleにアップロードする。コマンドラインでもできる。さらに自動的にバージョン管理までやってくれる!
Subversionのように構成管理(タグ、ブランチ)もやってくれるかは不明だが、便利な機能だ。さらにさらに、アプリケーション管理画面ではCPUの負荷状況、
データ転送量、メール送信数などなど、至れり尽くせり。これが500万PV/月まで無料で使えるとなれば、
スタートアップ企業や週末プログラマの皆さんは飛びつくだろう。課題はPythonしかサポートしていないこと。
Rubyのサポートは会場からも強い要望が出ていた。
中にはC#をサポートしてくれよ!と懇願していた方も。
個人的にはPHPをサポートしてくれたら爆発的に利用者が増えると思うが。招待制から一般開放されたようなので、今後いじくり回したい。
■ OpenSocial
APIのバージョンが0.8に上がった。主な変更はRESTful APIのサポート。
これによってJavascript以外からも叩け、サーバ間でのデータ送受信が可能になった。OpenSocialの主要な構成要素である、
HTML + Javascript + REST + OAuth がすべて出そろったわけだ。コンテナ(SNSなどのソーシャルデータを提供する側)からどの情報を取得できるか(プロフィール情報、友達情報、アクティビティ情報)については、コンテナ側に任されている。
正直言って自分の中ではまだOpenSocialがブレイクするかどうか分からない。
というのは、海外のようにSNS内にアプリケーションが作れるという文化がまだ根付いていないためだ。
この業界以外の人に説明しても理解に苦しむのではないか。Facebookも日本語化され、MySpaceもOpenSocial対応したおかげで徐々に普及していくのかな。
OpenPNEがOpenSocial対応になるらしいので起爆剤になるかも。個人的にはOAuthの知識がないので、調査していきたい。
■ Mashup から Mapplets へ
Google Mapに様々な情報を追加していくことができるデモ。
例えばある地域を表示させる。その地図上に不動産情報を表示、過去の犯罪が起きた地域を表示、交通機関マップを表示・・のように。そのようにGoogle Map上に付加機能を追加していくのがMappletsと呼ぶらしい。
MappletsはGadgetのようにHTML [...]
-
2008/04/04 14:05
Shindigとは、OpenSocialとGoogleGadgetの仕様に準拠したオープンソースのサーバソフトウェアです。Apache Software Foundation内で開発が進められています。
Gadget Container JavaScript — core JavaScript foundation for general gadget functionality. This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.
Gadget Server — an open source version of Google’s gmodules.com, which is used to render the gadget XML into JavaScript and HTML for the container to expose via [...]
-
2008/03/18 13:55
3月14日、Google技術者交流会に参加してきました。
本場USのGoogleエンジニアによるOpenSocialについての概要プレゼンと、著名な方々によるパネルディスカッションの2部構成でした。OpenSocialの概要については、公開されているドキュメントやorkut上で動くアプリを見ていたので何となく把握できていたのですが、「なぜGadgetなのか?」、「他のSNSからどのように情報(パーソナルプロフィール、友達関係、行動履歴)を取得するの?」について、自分の頭の中で整理ができました。
なぜGadgetなのか?
チュートリアル等で紹介されているサンプルはすべてGoogle Gadgetで作成されていたので、どうせiGoogleやorkutでしか動かないじゃん、という思いがありました。今回のプレゼンの中で紹介されていた、「Shindig」なるオープンソースのサーバソフトの紹介があり、その疑念は払拭されました。Shindigとは、Apache incubatorプロジェクト内で開発が進められている、OpenSocial コンテナサーバなるものらしいです。主な機能は下記の通り。
Gadgetサーバ
Javascriptコンテナを提供
RESTful APIを提供例えばあるSNS内でこのサーバを動作させておく事でOpenSocialアプリを動かす事ができ、他のSNSやサービスへはRESTful APIでデータをフィードする事ができます。
現時点ではまだ安定動作するバージョンがついたものは存在しませんが、Subversionリポジトリからソースコードを入手できるので、時間があれば構築してみたいと思います。
他のSNSからどのように情報を取得するのか?
RESTful APIによって、情報を取得できるようにするらしいです。現在はまだ仕様策定中で、サンプル等は見つけられませんでした。また、REST APIはセキュリティを担保するため、OAuthによるユーザー認証(Authentication)と認可(Authorization)をするとのことです。質疑応答の際、「Gadget用のJavascript APIの公開よりもREST APIの方を先に決めるべきでしょ」的な突っ込みをされている方がいらっしゃいました。確かにそうですよね。チュートリアルだけやっていると、OpenSocial イコール Gadgetのイメージしか無く、orkutのサンプルアプリにしても、orkut内の友達情報をとってくるものしか見た事が有りませんでした。
今後RESTful APIのサンプルが出次第、SNS横断的なアプリが出回る事でしょう。
まとめ
Shindig, OAuth, Gadgetがどのように結びついているのかをちょっと図にまとめてみました。パネリストの田中洋一郎さんが披露した、コミュスケのOpenSocialアプリ版は、僕が見た中で一番アプリっぽかったです。さらにorkutだけではなくhi5(orkutと同様OpenSocialコンテナ)にもプログラム修正なしで動いているとの事! Write Once, Run Anywareですね。
オープンソースSNSエンジンであるOpenPNEは、コンテナ機能を実装し始めているようです。
また、今回の交流会にはカテゴリ特化型の小規模なSNS運営者の方も多く参加していたそうです。そういった人たちがOpenSocialを実装する事によってSNSの大変動が起きるかもしれませんね。