"Google" タグがついている記事

  • 2008/06/12 15:31

    Google Developer Day 2008 に参加

    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/03/18 13:55

    Google技術者交流会(OpenSocial)にて

    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の大変動が起きるかもしれませんね。

  • 2008/03/03 18:24

    Google Sitesを使ってみる

    2/28 にGoogleが発表した新サービス、Google Sites(以下、Sites)。
    グループで情報を共有する為のWebサイトを簡単に構築できるサービスです。
    今回は実際に利用し、何ができるかを評価してみたいと思います。

    Sitesでは以下のようなことができます。

    HTMLの知識なしでWebページを作成できる
    グループ内(同じ会社、あるいは社外のプロジェクトメンバ)で情報共有できる
    Appsの他のサービス(Docs, Calendar)を貼付けられる
    Google の他のサービス(YouTube, Picasa)を貼付けられる

    今回Sitesを使うにあたって、社内外のプロジェクト担当者と情報共有に使えないかという視点で調査してみました。望まれる機能は以下の通りです。

    ドキュメント(文書、スプレッドシート、画像)など
    スケジュール、問題点の共有
    各担当毎のタスク進捗状況の把握
    ドキュメント毎のACL(アクセスコントロール)
    アカウント管理

    Sitesの利用前提は、下記の通りです。

    利用者はGoogle Appsを利用していなければなりません。
    現在は英語版のみ

    英語版ですが、日本語入力は問題なく可能です。

    Sitesの有効化の手順
    では実際に使ってみましょう。手順は以下の通りです。

    Appsのコントロールパネル、ドメインの設定ページ下部の、コントロールパネルのラジオボタンを、「拡張版(アメリカ英語のみ)」にする。

    Dashboardに戻って、「Add more services」 をクリック

    Sites を 「Add it now」

    Dashboardに戻ると、サービス一覧に追加されました。

    設定
    カスタムURLの設定
    Sitesのドメインを、他のAppsサービスと同様に自社のものに変更することができます。
    今回は、http://sites.synapz.jp/でアクセスできるように変更しました。

    お持ちのDNSに、CNAMEとして設定します。
    例:cname sites ghs.google.com.

    外部ドメイン向け設定
    以下のいずれかの設定ができます。

    外部ドメインのユーザーには共有を許可しない
    外部ドメインのユーザーには共有を許可するが、毎回警告を出す
    外部ドメインのユーザーには共有を許可する(警告なし)

    また、ユーザーが作成したページを公開するかどうかをチェックボックスで選択できます。

    使ってみる
    ページを作成

    SitesのTOPから、「Create a Site」をクリック
    必要情報を入力し、「Create site」をクリック
     - サイト名
     - カテゴリ(オプション)
     - サイトの説明
     - 共有の設定
      - synapz.jpの全員
      - もしくは、指定したユーザーのみ
     - サイトのテーマ(20個から選択できます)

    ページが生成され、Homeに遷移しました。自動的にSite Mapができるようです。

    ホームページのカスタマイズ
    いろいろ入力し、Save。

    新規ページを作成する
    5個のテンプレートから選択できます。

    何も無いWebページ
    ガジェット、Docs、YouTubeなどを貼付けやすいグリッド状のテンプレート
    掲示板のようなページ(Twitterっぽいかも)
    ファイル共有
    アクションアイテム、課題リストなど一覧系

    今回は、ダッシュボードを選択してみます。
    なんと、ガジェットを貼付けられるようです。以前作成したはてブガジェットを追加してみましょう。

    その隣に、Docsからスプレッドシートを貼付けてみましょう。

    どうやらSites上で編集はできないようです。
    ちなみにリストページで作成したアクションアイテムリストはこんな感じです。

    カラムも増やせますし、順番も入れ替えることができます。

    まとめ
    ざっと基本機能を試しましたが、なかなか使えそうです。まとめますと、、

    ドキュメント共有
    可能
    スケジュール、問題点の共有
    可能
    各担当毎のタスク進捗状況の把握
    Docsに進捗表を作成しておき、Sitesに貼付けるリストページのテンプレートを利用する
    ドキュメント毎のACL(アクセスコントロール)
    Sites毎に、オーナー、共同編集者、閲覧者を選択できるが、Sites内の個々ページでは、コントロールできないDocsデータはSites上に貼付けられるが、編集はできない。Docs側でのACLをすればOK。
    アカウント管理
    社外メンバは、Googleアカウントが必要

    気づいた点
    サイドバーのRecent site activity(サイト更新履歴)にRSSがあれば良いのに、と思ったのですが、それに値する機能が有りました。
    More Actions プルダウンメニューの、「Subscribe to site changes」です。これは誰かがページを作ったり更新したりすると、メールで知らせてくれます。

    最後に、評価用に利用したSitesを公開してみました。興味がございましたら閲覧してみてください。
    http://sites.google.com/a/synapz.jp/sites-/Home