Hatena::Grouptwitter

びびび新書TW このページをアンテナに追加 RSSフィード

2009-03-30

Twitterのアイコンを変更する際の注意点

| 04:33 | Twitterのアイコンを変更する際の注意点 - びびび新書TW を含むブックマーク はてなブックマーク - Twitterのアイコンを変更する際の注意点 - びびび新書TW

アイコンまわりはバグだらけ

f:id:minadzki:20090331043337p:image:right:w200 Twitterのシステムがバグだらけというのは今さら言うまでもないことですが、特にひどいのがアイコン周り。アイコンが急に表示されなくなったり、やけにぎざぎざな表示になっていたり。

 ところでみなさんはふぁぼったーを見ていて、写真のような悲惨なことになっているページを見たことはないでしょうか。人によってアイコンのサイズがまちまちになってしまい、結果として肝腎のpost内容よりもふぁぼった人のアイコンの方に目が行ってしまう……。

 ここからは私見ですが、これはふぁぼったーの問題でもユーザーの問題でも*1なくて、おそらくTwitterのシステムに問題があるのだと思われます。アイコンアップロードする際に、バグが発生しているのでは、という考えです。

アイコンのリサイズがうまくいかない

 Twitterでは、アイコンアップロードする際、本来ならばアイコンを適切なサイズにリサイズしてくれます。そのサイズはTLに表示されるものについては48×48、個人ページの一番上に表示される大きめのものについては73×73、トップページや個人ページの右側、フォローしてる人たちを36人ほど表示しているアイコン群については24×24と、3通り存在します。例えばicon1.pngという128×128のサイズのファイルをアップロードした場合、それぞれのサイズに縮小したものをicon1_normal.png、icon1_bigger.png、icon1_mini.pngというファイル名で保存してくれます。

 ところが、まれに*2このリサイズが上手く機能しないことがあります。アップロードはできたものの、リサイズは一切せずに保存されてしまうことがあるのです。そうなってしまうと先ほどの例のicon1_normal.pngもicon1_bigger.pngも、一番小さなicon1_mini.pngもすべて128×128のまま。Twitter Webではアイコン表示の際にもサイズ指定をしているので、アイコンが大きくなるということはないため問題が顕在化しにくいのですが、ふぁぼったーでは一目瞭然。ふぁぼったーのステータスページではアイコンのサイズ指定をしていないため、リサイズされていないアイコンはそのままのサイズで表示されてしまいます。なるほど、冒頭の画像にはそういういきさつがあったのですね。

どうすればいいか

 せっかく「自分の顔」を表すアイコンなんだから、ちゃんとした表示に戻したいというのが人情というものです。ではどうすればいいか。アイコンを変更する際に、成功しているかを注意深くチェックすることで、何とかなるかもしれません。

 チェックするのはアイコンのサイズ。アップロードが無事終了したら、Twitterトップページを開きます。トップページに表示されているTLから自分のアイコンを探し、別ウィンドウにその画像だけを表示*3。そうして表示された画像のサイズが48×48になっているかを、プロパティを開いて確認。続いてファイル名の「normal」の部分を「bigger」「mini」に変更して、それぞれ73×73、24×24になっているかも確認してください。すべてうまくいっているならアイコン変更はめでたく成功、1つでもおかしなサイズのアイコンがあれば、もう一度アップロードからやり直しです。

補足1・なぜこんなことに

 ここから先は僕の完全な予想にすぎないので、話半分くらいにどうぞ。

 このようなバグが発生する原因として、Twitterのシステムは基本的に例外処理を軽視ないし無視しているのではないか、という予想を立てています。例外処理というのは、何か予期せぬ出来事が起こって処理がうまくいかなかったときに、エラーメッセージを出したりもう一度処理をやり直したり、という動作のことを指します。しかし、Twitterアイコンのリサイズすらうまくいっていないのに、エラーだなどとは一言も言わず、「これはいい画像ですね!」などと脳天気。おそらくはリサイズ機構が上手く働かなかったので、それだけ無視してそのまま処理を終了させたのでしょう。

 それにしてもひどい作りです。エラーメッセージなんて出さない方がユーザーフレンドリーだ、などとでも中の人は考えているのでしょうか。そんなものは見せかけだけのフレンドリーで、「アップロードに失敗しました」とでも表示する方がよっぽどユーザーのためにもシステムのためにもなるはずなのですがね。それとも例外処理もできないような方がシステムを開……げふんげふん。

 僕はきれいな蕎麦。さあみんな、僕と一緒にTwitterの運営をあがめましょう。

補足2・古いアイコンも残っている

 Twitterは、他のありがちなWebサービスと異なり、ユーザーとアイコンは必ずしも1対1の関係にありません。Twitterアイコンはすべて、amazonaws.comというサーバーに元ファイル名を維持したまま保存されます。つまり、icon1.pngというファイルをアイコンに使用していた人が、icon2.pngという新しいファイルをアップロードした場合、amazonaws.comにはicon1.pngとicon2.pngの2つのファイルが同時に存在することになります。古いアイコンであっても消去されず、保存され続けているわけです。おそらくはこのことが一因になってでしょうが、この項を書いている3月31日現在、複数ユーザーのアイコンが1ヶ月ほど前のものに戻っているというバグが発生しています。

 もうずっとバグ大杉。

*1愉快犯的にわざと馬鹿でかいアイコンを設定している人もたまにいますが、それについては考慮しません

*2:皮肉って分かってるか

*3プロパティからURLを取得するなり、画像をドラッグ&ドロップするなりで