mikutterとの出会い

これは mikutterアドベントカレンダー 3日目の記事として書かれました.

前の人は @Fei3939さん です.

次の人は @shijin_cmpb さんです.

今回の話は,mikutterとの出会いについて.

出会い

mikutterとの出会いは,Twilogによれば 2011年4月27日 らしい.

当時は twicli というWebブラウザベースのクライアントを主に使っていて, カスタマイズ性も高くて好きだったのだが,Firefoxでタブを大量に開いてvimperatorで移動するという自分の使い方ではすぐにタブが隠れてしまい, 常にTLを画面に出しておきたいという欲求を満たせなかったため新しいTwitterクライアントを探していた.

Linuxで動くTwitterクライアントはただでさえ少ないのだが,色々と試してみてもしっくりくる物がない. しばらく探した後,これは自分で作る必要がありそうだと思った. しかしLinuxでGUIプログラムを1から書くのは面倒そうなので,既存のTwitterクライアントを改造して必要な機能を入れようと考えてオープンソースのTwitterクライアントを探していた.

mikutterはそうしてTwitterクライアントを探し回っているときに見つけた. たしか,その頃一部クラスタがmikutterなるクライアントの話を時々持ち出していたのだと思う. 調べてみたらRuby製でオープンソースらしい. これは試してみる価値がありそうだ,と思ってすぐダウンロードして起動してみた.

プロキシパッチ

当時の感想はよく覚えていないが,アイコンのロールオーバーに各種機能を割り当てていたり, リプライ時にそのTweetにくっついた形でテキストボックスが出現したりする挙動や,ユーザが自由に拡張できるプラグインシステムを見て面白いクライアントだと思ったことは覚えている. 最初は投稿クライアント名が表示されていないことに気づいたので,どうせ改造するのだからとその場で適当にアタリを付けて表示部分を読んで改造し, クライアント名が表示されるようにした. このとき,ソースコードのそこかしこに一行に連続したendやmiquireという謎のメソッドが見えて,作者がおかしいことを確信した気がする.

その数日後,今度は大学内無線LANからmikutterを使うため,Javaの講義を聞き流しながらプロキシプラグインを書いた (mikutterのRedmineにはプロキシ対応予定のチケットがあったが,あまり優先度が高くなさそうだったので自分で書くことにした). 最初はmikutterコアの改造が必要になるかと思っていたがOAuth gem周辺の構造がよく分かっておらず,またうまく設定を流し込むにも大工事が必要になりそうだと感じて断念した. しかし大学でmikutterを使うにはどうしてもプロキシが必要になる. そこでRedmineにアイデアとして書いてあった,Net::HTTPにモンキーパッチを当てる方法なら楽にできそうだと思ってプラグインとして実装した.

Redmineにはモンキーパッチ方式だとトラブルの元になるかもしれないと書いてあったので,とりあえず手元で数日様子を見てから大丈夫そうなら作者に投げよう と思ってプロキシを書いたことだけtweetしておいたら,翌日には@toshi_aさんに捕捉されてmikutterに取り込んでもらえることになった.

新UI

ちょうどこの頃,mikutterは新UI(現行のcairoを使った表示形式)へと移行しようとしていた. 当時のmikutterは画面更新がかなり遅く,UserStreamだと1分近く画面が真っ白になることも頻発するような状況だったので, <r300あたりで新UIがまともに動作するようになったというアナウンスが@toshi_aさんからあった時にはすぐ試してみた>.

この時は32bit環境でtweet idが正常に扱われないバグがあったので,GLib周りのコードを勘で読んでパッチを当てて動くようにした. ちゃんと動いたときはTweetがするすると流れていき,それまでのコンポーネントベースの表示と比べるとあまりの違いに笑うしかなかった.

使いやすいデザインのUIと,プラグインで好き勝手に機能を追加できるというプログラマ好みの機能. そしてリアルタイムで更新されていき,その度に高速化やUIの改善,落ちる頻度の改善(たまに改悪も)がなされる臨場感. 当時感じて今でも続いている,mikutterの面白さはここにあると思う.

結局,新UIがリリースされたことでmikutterに満足してしまい自作のTwitterクライアントを作るところまでは行かなかった. そして多くのmikutterianの影響を受けてておくれの世界を知ったり,ふぁぼ閾値が下がってふぁぼり数が一気に増えたりして今に至る.

まとめ

この記事ではmikutterとの出会いについて書きました. まあmikutter使ってる人の中にはこういう人もいるよ,ってことで.