Tender Surrender

OrkutとMySpaceで自作アプリを動かしてみたので、そのレポートです。

まだ仕様が固まっていないのでグレーな部分も多いのですが、OpenSocialはGoogleGadgetと相性が良いらしく、OrkutもMySpaceも、hi5もGoogleGadget前提となっています。というわけで、今回はGoogleGadgetの基本的な作り方とOrkutへのアプリケーション追加方法の解説です。

ガジェットとは何か

GoogleGadgetはiGoogleで動くJavaScriptとHTMLで記述された簡単なアプリケーションです。JavaScriptとHTMLはXML上に埋め込み、設定内容もXMLに記述します。

< ?xml version="1.0" encoding="UTF-8" ?>
<module>
 <moduleprefs title="Blah Blah Gadget"
  description="Gadget Example"
  author_email="***@***.com"
 >
 </moduleprefs>
 <content type="html">
.....
 </content>
</module>

XMLはこんな感じ。Contentの中にJavaScriptとHTMLを記述することで、その内容がiGoogle上やMySpace等のOpenSocialアプリケーションとして表示されます。

ガジェットはJavaScriptを許可していることから、XSSなどの脆弱性を回避するため、iframeを使って別ドメインで動作するようになっています(iGoogleの場合、gmodules.com)。Contentの属性であるtypeを”html”から”url”に変更し、hrefでURL指定すると、iframe内に自分の管理するサーバーを表示することも可能です。

GoogleGadget自体の仕様は掘り下げるとキリがないのでこの辺りで。詳細はリファレンスをご覧ください。

OrkutのSandboxアカウントを取得する

OrkutはGoogle直結ということもあり、OpenSocialの仕様が最も早く反映されるようです。そのOrkutのOpenSocial実験環境はSandboxと呼ばれ、通常のOrkutアカウントを拡張したSandboxアカウントを取得することで、利用可能となります。

アカウントを取得するにはコチラから申請を行ってください。申請が受理されるまでには数日を要するようです。

OrkutにOpenSocialアプリを追加する

無事アカウントの取得ができたら、実際にアプリケーションを試すことができるようになります。ちなみに、どこかのサーバーにGoogleGadgetのXMLファイルを置いておく必要がありますので、Geocitiesでも何でもいいはずですので、ファイルをアップできるところを用意しておきましょう。

Orkut1

Sandboxにログインするとこんな感じ。一見通常のログイン画面と変わりませが、一点だけ:

Orkut2

画面左にアプリケーションを追加するリンクがあります。クリックすると・・・

Orkut3

URLでXMLファイルを指定してアプリケーションを追加することが出来ます。(ちなみにアプリケーションディレクトリはいつもほとんどアプリがありません)

ここでは、僕の作ったアプリケーションで試してみましょう。URLに下記を入力します:

http://devlab.agektmr.com/OpenSocial/FriendIntroducer.xml

「アプリケーションを追加」ボタンを押すと、次の画面に遷移します。

Orkut4

ここでも「アプリケーションを追加」ボタンを押すことで、アプリケーションの追加が完了します。

Orkut5

こんな感じの画面が表示されたら成功。Orkut上に友達がいない方は、僕のアカウントに友達申請してくれてもOKです。

ひとまず、第一回はここまで。

Read on...

先日Safari3.1から搭載されたオフライン機能について書きましたが、amachangさんが使い方を詳しく解説されています。

Safari 3.1 に実装された「Client-side database storage (SQL API)」とは何か? – IT戦記

詳しく読んでませんが、HTML5からの仕様らしく、既にFirefox3のβ版にも搭載されているとか。

これで、あんなことやこんなことができそうですね・・・

Read on...

去る3月13日、MySpaceでOpenSocialアプリがβ版として一般公開されました。OpenSocial対応SNSとしては、一般公開は一番乗りです。まだOpenSocialの仕様も完全に固まっていない状況で、なぜ?どうやって?

OpenSocial Container standard fragmentation – Implementing OpenSocial Containers | Google グループ

内容を要約すると

MySpaceのOpenSocial APIは、JavaScriptの拡張もRESTful APIも独自仕様のようです。このままでは、標準仕様よりも、世界最大のSNSが作った仕様に合わせざるを得なくなるのではないでしょうか?

という投げかけに対し、これはOfficeのXML標準仕様問題だとか、ブラウザの標準仕様問題だとかって議論になってますが、21日の時点で、hi5の開発者の方から下記の通り返信が。

我々はこの問題について認識しており、解決したいと思っています。来週話し合いが持たれることになりましたが、この話し合いはMySpaceから提案されたものであり、 彼らもこの問題は認識しているはずです。我々もテンプレートシステムやプレゼンス等の提案を用意しています。

とのこと。

OpenSocialの仕様を固める主体は、どうやらGoogleだけではなく、hi5やMySpace, Ning等、Facebook以外の米国の主要SNSの開発者が集まり、提案を出し合って決めている模様。

バージョン0.7で(少なくともJavaScript APIは)ある程度落ち着いたという認識でいましたが、まだまだ変化がありそう。

(自分も含めて) 日本の開発者からも提案していった方がよいかもしれませんね。

Read on...

かねてから超高速!と話題だったWebKitの最新版から生まれたSafari3.1が、ついに登場しました。Windows版も同時リリースのようです。こちらは、ようやく正式版かな?

Safari3.1 About

スピードは言わずもがなですが、目玉は他にもあります。

  • HTML5に対応
  • CSSアニメーションに対応
  • CSS Web Fontに対応

アップルのリリースには掲載されていませんでしたが、実は個人的にものすごく注目していたのがオフライン機能。ウェブサイトがローカルにデータベース(おそらくsqlite)を構築できるというものです。

Safari3.1 DB

オフライン機能といえば、最近ではGoogleのGoogle Gears、 MozillaのPrism、AdobeのAIRと盛り上がってきている分野でした。これからのウェブブラウザは標準でオフライン機能と同期機能をサポートすることで、ネットに繋がっていることを意識させない利便性を持っていくでしょう。例えばGoogle Docsのように元々デスクトップで使われていたアプリのウェブ版 のサービスはその恩恵を大きく受けることになります。ユーザーはネットに繋がっていようといまいと、気にせず文書の編集に集中することが出来る訳です。

まだSafariでどのようにこのオフライン機能(データベース)が利用できるのかは調べていませんが、ぜひ試してみたいところ。APIが他と共通ならいいのになあとは思いつつも、おそらくそんな訳はなく。シェアという面ではAdobe AIRが勝算が高いと個人的には踏んでいますがね。

Read on...