Tender Surrender

最近話題のFriendFeedに対応したMac OS XのDashboardウィジェット、FriendFeeder(仮称)を作ったので公開します。まだいっぱい不具合あると思うんですが、とりあえず動いてるので勢いで。

FriendFeedとは?

FriendFeedTechCrunch辺りで最近話題のウェブサービス。Twitterの次はコレと言われているものです。内容は一言で言うなら、SNSアグリゲータ。数多あるSNSをまとめあげるSNSといったところでしょうか。

SNSと言っても、FacebookのようなSNSそのものではなく、一般的なブログやTwitterやFlickr、Youtube、del.icio.us、Last.fmなど、SNSに類するサービスの最新情報をまとめる、ということに特化しています。エントリにコメントを付けたり、スター的な機能もあります。

なぜFriendFeedがアツいのか?

ずばり、このサービスが明らかにTwitterの存在を意識し、その延長線上にあるためです。

Twitterは今や多くの人のデスクトップ常駐アプリ/サービスになりました(僕はTwitterBoardというDashboardウィジェットを愛用してます)。面白いのは、Twitterという味気ないインターフェースのサービスが、多くのディベロッパーによって開発されたアプリ群によりバラエティを増しているという現象です。FriendFeedの味気ないインターフェースと充実したAPIはTwitterをヒントに、それ以上のものを目指していると思わずにはいられません。

もう一つ、Twitterを意識していると思える点は、コメント機能です。FriendFeedではTwitter上でのReplyを並べ替えて、会話の流れを分かりやすく表示してくれます。また、FriendFeed上でのコメントを、そのままTwitterにUpdateするオプションがあります。

そういう意味ではSNSアグリゲータというよりはむしろ、Twitter+αと言った方が適切かもしれません。少なくとも個人的には、そういう使い方がメインになりそう。

ただのフィードアグリゲータではない

これまでフィードアグリゲータといえばRSSリーダーだったわけですが、FriendFeedは単なるフィードアグリゲータではありません。それは認証認可を取り扱うからです。

通常RSSは一般公開されているものですので、特にプライバシーを気にする必要はありません。同じものを見る人が多数いることも想定されますから、キャッシュを用いることでかなりの効率化を図ることが出来ました。ところが、FriendFeedが扱う外部サービスにはGmailなど、認証を必要とするものも含まれます。これはつまり、ユーザーひとりにつき一回のフィードアクセスを要する、ということです。

これはTwitterの比ではない大仕事に思えます。ユーザーが増えれば増えるほど、どんどんしんどくなっていく。どんなアーキテクチャなんでしょうか?

FriendFeedの今後

Adobe AIRを使ったデスクトップアプリケーションがリリースされる予定とのこと。また、現在は規定されたサービスしか登録できませんが、サービス事業者が自らFriendFeedにAPIを作れる仕組みを用意するとか。

ユーザーインターフェースにバラエティがあって(API)、友達申請が気軽に出来る(Follow)という点を除いて、Facebookの方向性に近いのは偶然ではないでしょう。ソーシャルグラフの集約は既定路線ですが、どのパスを通って行くのが最も集客できるのか、興味深いところです。

FriendFeederのダウンロードと使い方

ようやく本題です(笑)

ダウンロードはこちら
要Mac OS X 10.4.3以降のはず。

既知の不具合

スクロールバーが出ないです!マウスホイール使ってください。

使い方

まずはFriendFeedでアカウントを取得してください。
ウィジェットの裏面(設定画面)で自分のIDとRemote Keyを入力します(パスワードではありません)。Remote Keyはhttp://friendfeed.com/remotekeyで取得できます。

フィードバック

今後コメント機能と、Twitter投稿機能の追加を検討しています。他にも何かあればこのエントリにコメントするか、Twitterで教えてください。

また、僕のFriendFeedアカウントはhttp://friendfeed.com/agektmrにありますので、Follow歓迎です。

Read on...

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...