Twitter Balloonのサイト http://balloon.korelab.com/をオープンしました。
Twitter Balloonの公開から1年が経ちアクティブユーザ数も2000人に達しようとしています。
海外からのユーザも多く、いろんなTwitter Balloonがあります。
面白い作品が多いので紹介したいのですが、勝手に紹介する訳にもいきません。
そこで、Twitter Balloonを公開して楽しむことができるサイトを作りました。
Twitter Balloonのユーザが多い言語、日本語・英語・中国語(繁体字)のマルチリンガルサイトを目指してDrupalで作ったのですが、これがなかなか大変でもうやめようかと。
モチベーションを上げるために、まだ中途半端な状態ですが公開することにしました。
ぜひアクセスしてみて下さい。
Archive for the ‘twitter’ Category
Twitter Balloonのサイトをオープンしました
Saturday, July 5th, 2008Twitter Balloonのクロスドメイン問題が解決
Saturday, April 26th, 20082008年3月9日にTwitterがcrossdomain.xmlを変更してFlashからのメッセージ取得を制限しちゃってからというもの、Twitter Balloonを何とか存続させるために、CGIを作ったり改良したりしてきた訳ですが、ユーザ数が増えてくるとどうしてもサーバの負荷を気にしなければならないので、ユーザが増えて欲しいような欲しくないような中途半端な気持ちで過ごしてきました。
今日、この問題が解決しました。解決方法はというと、Twitterの中の人であるAlex Payneさんに頼んでTwitterのcrossdomain.xmlに*.korelab.comを追加してもらうという最も簡単かつ基本的な方法です。
もちろん私がAlexさんを個人的に知っている訳ではなく、Twitter Development TalkでAlexさんにお願いしたところ、快く引き受けてくれました。
Thank you ,Alex.
ということでTwitter Balloonのユーザが増えてもサーバの負荷を心配する必要もなくなりました(現在Twitter Balloonのユーザは1300人、1日に12万アクセスがあります)。
一時はTwitter Balloonの公開を中止することも考えましたが、これで継続していくことができそうです。
今後ともTwitter Balloonをよろしく。
Twitter Balloonの修正
Tuesday, April 22nd, 20083月9日にTwitterがcrossdomain.xmlを変更してFlashからのメッセージ取得を禁止しちゃったので、3月10日からサーバ側でTwitter APIを使ってメッセージを取得するようにしました(このあたりの話はこちらを参照)。
しかし、1日に10万回位Twitter Balloonからのアクセスがあるのでサーバへの負荷が高く、このままだと制限をかけるというお達しがサーバを借りているDreamHostから来てしまいました。
何とか負荷を下げないとならなくなったので、Twitterのメッセージをキャッシュするようにしました。そのため、Twitterのメッセージを更新してからTwitter Balloonに反映されるまでに最大1時間くらいかかることがあります。どうしてもすぐに反映させたい場合は、自分のTwitter Balloonを表示させてReloadボタン(真ん中のボタン)をクリックして下さい。
技術的な話をすると、CGIでキャッシュを読み込む方式ではCGIの起動回数は変わらないので、404 Error proxy cache方式(勝手に命名)にしました。
例えば、Twitter Balloonがkorelabのメッセージを取得する場合、Twitter Balloonがkorelab.xmlを取得しようとします。でもkorelab.xmlなんていうファイルは存在しない。
そうすると404 Not Foundエラーが発生します。
404 Not Foundエラーが発生した場合に、通常エラーページが表示されるのですが、このエラーページは自分で作った独自のエラーページにすることができます。そして、この独自のエラーページの替わりにCGIを起動することもできるので、ここでCGIを起動します。
CGIでは元の要求を環境変数REQUEST_URIを通して知ることができるので、元の要求であるkorelab.xmlからID korelabを取り出し、Twitter APIでメッセージXMLを取得してそのまま応答します。
このときに応答したメッセージXMLをkorelab.xmlとしてファイルに保存します。
すると次からTwitter Balloonがkorelabのメッセージを取得する際には、korelab.xmlファイルが存在するのでCGIを起動することなく静的なXMLファイルとしてメッセージを取得できるという訳です。
キャッシュファイルはcronで1時間おきに削除していますので、メッセージを更新してから約1時間以内には最新のメッセージが表示されます。
Twitter BalloonでGIF画像が表示されない
Saturday, March 15th, 2008Twitter BalloonでGIF画像が表示されなくなっていました。
Twitterのcrosdomain.xmlが変更されたことによる対応時に、Twitter BalloonのSWFファイルの入れ替えに失敗していたようです。
OpenLaszloではFlash7形式のSWFとFlash8形式のSWFが作られるのですが、Flash7形式のSWFをアップロードしていました。Flash7形式ではGIF画像が表示されません。
GIFの画像を使っていた方ごめんなさい。
今は直っているはずです。
Twitter Balloonにメッセージが表示されなくなった
Tuesday, March 11th, 2008サーバ側のPerlのCGIでTwitter APIを叩いてTwitterのメッセージを取得するようにしましたが、やはり負荷が高いのでFastCGI化しました。いまのところよい感じです。