Tender Surrender

GadgeTweetr_Logo

gooホームOAuth機能公開に合わせ、TwitterのOAuthを使ったガジェット「ガジェツイ!」(英語名GadgeTweetr)をリリースしました。ガジェットながらに、そんじょそこらのTwitterクライアントよりもシンプルかつ高機能で使いやすいものに仕上がったと思いますのでご紹介します。

※ガジェツイ!のロゴフォントには「ついってる」を利用させて頂きました。

主な機能

  • OAuthログイン機能
  • タブ機能
  • 返信元表示機能
  • 検索機能
  • マルチアカウントに対応

OAuthログイン機能

OAuthに対応していますので、IDとパスワードを直接gooホームに入力する必要はありません。「ログイン」ボタンクリックで、twitter.comドメインの画面が開くので、ユーザーは安心してログインすることができます。

login_using_oauth

タブ機能

タブで様々な種類のステータスを並べて表示するタイプのTwitterクライアントです。Timeline、Mentions、Direct Message、Favoritesなど、一通りの表示に対応しています。

tabs

返信元表示機能

ステータスが返信の場合は「返信元」をクリックすることで会話を辿って行くことができます。

replies

検索機能

フリーワード検索にも対応しています。

search

マルチアカウントに対応

ガジェットはいくつでも追加でき、それぞれに違うアカウントを指定することができます。

multi-account

その他の機能

3つのビュー

home、profile、canvasそれぞれのビューに対応しています。homeではTimelineとMentionsが、profileでは当該ユーザーのステータスが、canvasではTimeline、Mentions、Direct Message、Favoritesがそれぞれデフォルトで開きます。

自動リンク機能

[email protected][email protected][email protected][email protected]示します。

ReTweet機能

気に入ったつぶやきはこのアイコンをクリックすることで、いわゆる「ReTweet」することができます。もちろん、コメントを追記することができます。

プロフィール表示機能

アイコンクリックでフォロワー数や投稿数などのプロフィール情報を表示することができます。

フォロー、アンフォロー機能

プロフィール表示からそのままフォローしたり、既にフォローしている場合はアンフォローすることができます。

まとめ

せっかくOpenSocial上に作ったTwitterクライアントということで、ならではのソーシャル機能を準備していたのですが、残念ながら今回の発表には間に合いませんでした(実装でき次第公開します)。

とはいえ、gooホームのOAuthを体験してもらうためだけに作り始めたにも関わらず、シンプルかつ高機能なものに仕上がりました。ぜひガジェツイ!をお試しください。

Read on...

OpenSocialのSigned Requestは、ガジェットからの外部通信リクエストに署名を付けることで、パラメータの内容が改ざんされていないかを検証可能にする仕組みです。一般に2-legged OAuthやSigned Request、OAuth Consumer Requestという名前はすべて同じ、これを表しています。

実装自体は全く難しくないものなのですが、お手軽なライブラリがあまり出回っていないようなので、作ってみました。まずはベータとして公開します

特徴

Google CodeにあるOAuthのライブラリを利用しています。公開鍵はorkut、Google、Friendster、hi5、hyves、Netlog、そしてgooホームとmixiのものを同梱しています。

使い方

Google Codeからチェックアウトしてください。

svn checkout http://opensocial-signed-request-php-library.googlecode.com/svn/trunk/ opensocial-signed-request-php-library-read-only

中身はサンプルガジェット(SignedRequest.xml)とサンプルのサーバーサイド実装(example.php)、そしてライブラリです。

サンプルのサーバーサイド実装を見て頂くのが一番早いですが、使い方はシンプル。ガジェットのURLを引数にしてSignedRequestValidatorをnewし、validate_requestメソッドを呼ぶだけ。署名の検証に失敗した場合は、勝手に401を返します。署名の検証に成功した場合のコードは、その後に続けて書けばOKです。

参考

僕の知る限り、他の言語でSigned Requestを検証するコードやライブラリを公開されている方も何人かいらっしゃいます。

まとめ

ベータ公開ではありますが、動作上の問題はないと思います。ただ、そのままのコードではGoogleからのリクエストもmixiからのリクエストもガジェットURLが合えば通してしまうため、任意に指定できるようにした方がいいかなど、フィードバックをもらって判断したいところと感じています。

※ちなみに、oauth_body_hashには未対応です。

というわけで、ぜひお試しください。

Read on...

WordPress2.8にアップグレードしてから使えなくなっていたWP_Multilingualという多言語を実現するプラグインですが、開発者のご好意でα版を頂き、復活しました。

今の所目立った問題もなく稼働しています。

以前であれば必要だったFCKEditorも不要になったため、Wordpressのきれいなインターフェースのまま入力できるようになっていたり、言語スイッチャがウィジェット化されていたりと、単に使えるようになっただけでなく、欠点だと思っていた部分もカバーされていて非常に良いです。日本語のローカライゼーションがなかったので、早速翻訳して言語ファイルを提供しておきました。

WordPress使いで多言語対応をご検討の方は、ぜひお試しください。

Read on...

ひょんなことから自分の作品でもないのに「おばかアプリ選手権」に狩り出されたので、せっかくだから出場してきました。場所はお台場のTOKYO CULTURE CULTUREという所。

発表したのは話題沸騰!weboo氏の「チャンネー」ガジェットです。

チャンネーはOpenSocialを使ったソーシャルアプリです。次々と表示されるチャンネー2枚の写真から好きな方を選んで行くとあなた好みの髪型が見つかる、という趣旨です。決まった髪型は取り置きすることもできます。友達のお気に入りの髪型が見れたり、お気に入りがアクティビティストリームに反映されたりする点がソーシャルアプリって感じです。

まあ、開発に当たって僕はいっさい何もしてないんですがね。

本番ではありがちなトラブル発生で、gooホームサンドボックスを使ってデモする予定が、mixiアプリを使うことになり、weboo氏が仕込んできてくれた色々なものの見せ場がなくて、ちょっと残念なことになってしまいました。

でも同じ「チームお色気」で出場したおっぱいエンジニアpuniTouchと絶妙なトークで挽回してくれたので、結果オーライ。

非常にユニークなイベントで楽しかったです。次回は自分の作品で出場できたらいいなあ。

レポートはこちらをご覧下さい。動画もあります。

Read on...