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がどのように結びついているのかをちょっと図にまとめてみました。

pic1.png
パネリストの田中洋一郎さんが披露した、コミュスケのOpenSocialアプリ版は、僕が見た中で一番アプリっぽかったです。さらにorkutだけではなくhi5(orkutと同様OpenSocialコンテナ)にもプログラム修正なしで動いているとの事! Write Once, Run Anywareですね。

オープンソースSNSエンジンであるOpenPNEは、コンテナ機能を実装し始めているようです。

また、今回の交流会にはカテゴリ特化型の小規模なSNS運営者の方も多く参加していたそうです。そういった人たちがOpenSocialを実装する事によってSNSの大変動が起きるかもしれませんね。

Google Sitesを使ってみる

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


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

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


今回Sitesを使うにあたって、社内外のプロジェクト担当者と情報共有に使えないかという視点で調査してみました。望まれる機能は以下の通りです。
  • ドキュメント(文書、スプレッドシート、画像)など
  • スケジュール、問題点の共有
  • 各担当毎のタスク進捗状況の把握
  • ドキュメント毎のACL(アクセスコントロール)
  • アカウント管理


Sitesの利用前提は、下記の通りです。
  • 利用者はGoogle Appsを利用していなければなりません。
  • 現在は英語版のみ
英語版ですが、日本語入力は問題なく可能です。


Sitesの有効化の手順

では実際に使ってみましょう。手順は以下の通りです。
  1. Appsのコントロールパネル、ドメインの設定ページ下部の、コントロールパネルのラジオボタンを、「拡張版(アメリカ英語のみ)」にする。
    setting1.png
  2. Dashboardに戻って、「Add more services」 をクリック
    setting2.png
  3. Sites を 「Add it now」
    setting3.png
Dashboardに戻ると、サービス一覧に追加されました。


設定

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

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


外部ドメイン向け設定
以下のいずれかの設定ができます。
  • 外部ドメインのユーザーには共有を許可しない
  • 外部ドメインのユーザーには共有を許可するが、毎回警告を出す
  • 外部ドメインのユーザーには共有を許可する(警告なし)

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


使ってみる

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

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


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


新規ページを作成する
5個のテンプレートから選択できます。
template.png
  • 何も無いWebページ
  • ガジェット、Docs、YouTubeなどを貼付けやすいグリッド状のテンプレート
  • 掲示板のようなページ(Twitterっぽいかも)
  • ファイル共有
  • アクションアイテム、課題リストなど一覧系

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

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

どうやらSites上で編集はできないようです。
ちなみにリストページで作成したアクションアイテムリストはこんな感じです。
list.png カラムも増やせますし、順番も入れ替えることができます。


まとめ

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


気づいた点

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

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

引用スタイルをカスタマイズする

外部ブログやニュースサイトからテキストを引用する時には、HTMLの <blockquote> タグを用います。
今回は、引用のデザインをかっこよくするために、Movable TypeのCSSをカスタマイズしてみました。

続きを読む…

Page 4 of 8« First...23456...Last »