あけましておめがいします。
(以下、2011年の年末に書いていた文章なので、ここでいう「今年」は2011年のことで す。)一昨年の12月25日にmikutterが書き始められました。去年もいろ いろ振り返っていたので、今年も振り返ってみましょう。
1 Twitterに起こったこと
1.1 機能追加
Twitterには今年もいろいろな機能が追加されました。今年追加変更された
機能の中で、特にmikutterにとって重要だったのは、だいたいこんなところ
かな(mikutterにとって割りとどうでもいいことは書いてません。あと忘れ
てるのありそう、わりとどうでもいいこととか)。
1.1.1 エンティティ
ツイートにscreen_name、ハッシュタグ、URLが入っていると、その情報が
JSONオブジェクトで返ってくるようになりました。内部的な話なんだけど、
これが今思えば短縮URLやマルチメディア投稿機能の伏線だったわけか。
1.1.2 短縮URL
全部のURLがt.coで短縮されてしまうようになったのは記憶に新しいです
ね。最近では短縮URLでも多重に短縮してしまうので余計に話がややこし
くなっています。
mikutterは、bit.lyだと字数が長すぎて多重短縮されてしまうからj.mpに 対応しましたが、すぐさま字数が関係なくなったので、現在長さの計算式 をいじる方向で考えています。
mikutterは、bit.lyだと字数が長すぎて多重短縮されてしまうからj.mpに 対応しましたが、すぐさま字数が関係なくなったので、現在長さの計算式 をいじる方向で考えています。
1.1.3 アクティビティ
8月くらいにアナウンスがあったかと思いますが、ようやく解禁されまし
た。mikutterは現在、アクティビティ情報がリアルタイムに取得できる
Streaming APIが出たらぜひ対応したいと思っていて、準備を進めていま
す。
1.1.4 マルチバイト文字ハッシュタグ(日本語ハッシュタグ)
いつかあったけど誰にも使われなくて消えていったような…?と思ったん
ですが、大喜利とかに利用されていて、今では毎日見かけますね。アニメ
実況とかにも使われているのを見ると、時代が変わったんだなぁと思いま
す。
唐突に実装された機能ではありますが、mikutterは先にエンティティに対 応していたため、アップデートしなくても日本語ハッシュタグを識別する ことができていました。他のTwitterクライアントは日本語ハッシュタグ 対応のために緊急アップデートをしていたので、mikutterくらいしかエン ティティを使っていなかったことがわかりましたね。Twitter信用されて なさ杉ワロタ
唐突に実装された機能ではありますが、mikutterは先にエンティティに対 応していたため、アップデートしなくても日本語ハッシュタグを識別する ことができていました。他のTwitterクライアントは日本語ハッシュタグ 対応のために緊急アップデートをしていたので、mikutterくらいしかエン ティティを使っていなかったことがわかりましたね。Twitter信用されて なさ杉ワロタ
1.1.5 マルチメディア投稿機能
ついにTwitterが画像を投稿する機能を自前で提供するようになりました。
いままではサードパーティのサービスにマルチメディアファイルをアップ
ロードして、それに対するパーマリンクをツイートすることで、擬似的に
投稿していましたが、ツイートに画像を含めることができるようになった
わけです。
これ、実はかなり画期的なことじゃないかと思うんですが、ユーザの使い 勝手的には特に変わってないし、未だにみんなTwitpicとか使ってるしで なんだかぱっとしませんね。ただ、Twitterを使うとアップロードが速い とか、自然に一個のサービスにまとめられるとか、利点はありますね。
iOSから気軽にアップできることも人気を後押ししていて、現在Twitter上 では一番使われている画像アップロードサービスにまでなったようです。
これ、実はかなり画期的なことじゃないかと思うんですが、ユーザの使い 勝手的には特に変わってないし、未だにみんなTwitpicとか使ってるしで なんだかぱっとしませんね。ただ、Twitterを使うとアップロードが速い とか、自然に一個のサービスにまとめられるとか、利点はありますね。
iOSから気軽にアップできることも人気を後押ししていて、現在Twitter上 では一番使われている画像アップロードサービスにまでなったようです。
1.2 まわりのこと
Twitterの周りで起こったことを、Twitter視点、またmikutter視点で見て
いきます。
1.2.1 震災
今年の3月11日にあった震災では、災害時の通信手段としてTwitterが見直
されました。マルチバイト文字ハッシュタグは、災害時の情報交換を円滑
にする意味も込めて実装したそうですまったくそんなつかいかたされてな
いがなpgr。現在でも、震災に関連することを議論するのにTwitterが使われ
ていることがあるようですね。
実はこのあたりの時期は、私はデスマ中で、家には全然いなかったので、 mikutterがどの程度役に立てたかはよくわかっていません。ただ、 UserStreamの流速が尋常じゃないことになっていたのは記憶しています。 東京電力の電力使用量をmikutter_botに喋らせるプラグインとか書いたの をなんとなく覚えています。使った人いたんだろうか。
実はこのあたりの時期は、私はデスマ中で、家には全然いなかったので、 mikutterがどの程度役に立てたかはよくわかっていません。ただ、 UserStreamの流速が尋常じゃないことになっていたのは記憶しています。 東京電力の電力使用量をmikutter_botに喋らせるプラグインとか書いたの をなんとなく覚えています。使った人いたんだろうか。
1.2.2 UserStream
昨年末に実装されたUserStreamが漸くこの1年で当たり前のものになって
来ました。ツイート数も平均して増加傾向にあるようで、チャット的に使
う人が増えた印象です。またイベントが通知されるようになったから、
いままでよりもイベントが頻繁に発生するようになりました。個人的には、
いままでは毎年1600favづつくらいされていて、2011年のはじめには
4000favedくらいあったのですが、現在は28万favedくらいあって、今年は平年より17250%くらいfavedイベントが多く発生していたことがわかりました。
200倍くらいの情報をさばくTwitter本当にすごいですね。
200倍くらいの情報をさばくTwitter本当にすごいですね。
2 mikutterに起こったこと
mikutterにも様々な機能が追加されました。といいたいところですが、今年
は去年適当にやりすぎた尻拭いをやっていた感が大きいですね。しかし、全
部ではありませんが、コードの掃除はかなり進んで、メンテナンスしやすく
なったので良かったです。多分自分がもっと暇だったら1から書きなおすと
か言ってたんじゃないでしょうか。
2.1 本体
実はmikutter本体がどれくらい進化したかというと、項目数はそれほど多
くないですね。最低限の機能は揃ったので華やかなコミットはそうそうな
くなってきたということでもありますね。また、今年は個人的に割りと忙
しい一年だったので、単純にアクティビティが下がったということもあり
ました。
2.1.1 タイムラインのレンダリング方法の変更
最初、mikutterを作成したときは、UIに妥協したくない(リストビューカッ
コ悪いプークス)と思っていて、とりあえずこんなかんじだよね、とツイー
トごとに適当にウィジェットをパッキングするプロトタイプを書きました。
悪いことに、これがずっと使い続けられることになってしまったのです。 それがボトルネックになっているのは火を見るより明らかで、レンダリン グを妥協せずにどうやったら十分高速に動くのか、模索していました。
紆余曲折を経て、5月にリストビューとcairoを使って、リストビューの高 速性とcairoの自由度両方を兼ね備えたレンダリング方法を採用し、20倍 程度の高速化を実現することが出来ました。非効率なプロトタイプからで 20倍なのに最近のブラウザさんとかどうやったら毎回あんなに早くなった というベンチマークを出せるんですかね(
ともあれ、この変更のおかげで、それまでのmikutterは大体100人もフォ ローしていると実用できませんでしたが、もっと増えても全く問題なく使 えるようになりました。
最近ではこの実装に関する深刻なバグはほぼ取れており、漸く普段使いが 出来るレベルになったと思います。
悪いことに、これがずっと使い続けられることになってしまったのです。 それがボトルネックになっているのは火を見るより明らかで、レンダリン グを妥協せずにどうやったら十分高速に動くのか、模索していました。
紆余曲折を経て、5月にリストビューとcairoを使って、リストビューの高 速性とcairoの自由度両方を兼ね備えたレンダリング方法を採用し、20倍 程度の高速化を実現することが出来ました。非効率なプロトタイプからで 20倍なのに最近のブラウザさんとかどうやったら毎回あんなに早くなった というベンチマークを出せるんですかね(
ともあれ、この変更のおかげで、それまでのmikutterは大体100人もフォ ローしていると実用できませんでしたが、もっと増えても全く問題なく使 えるようになりました。
最近ではこの実装に関する深刻なバグはほぼ取れており、漸く普段使いが 出来るレベルになったと思います。
2.1.2 カスタマイズ性
拡張が更に自由になりました。例えば新しく実装された「mikutterコマン
ド」は、プラグインが提供する機能を、コンテキストメニューやショート
カットキーなどにユーザがマッピングすることができる機能です。
他にも、イベントフィルタの積極的な利用、タイムラインの中に任意の描
画領域を持つことが出来る機能など、カスタマイズ性はこの一年間で飛躍
的に上がりました。
2.2 ユーザ/コミュニティ
2.2.1 開発の協力者
パッチを送ってくれるとか、mikutterコアをハックしてくれる人がでてき
ました。
また、プラグインもたくさんの人が書いてくれるようになりました。プラ
グインをmikutter上から探してインストールできるmiku storeも計画中
で(止まってま)す。
2.2.2 いろんなディストリのパッケージになった
まだ開発版にも関わらず、様々なディストリビューションで、公式・非公
式のリポジトリにパッケージが用意されています。正直把握しきれていな
いのですが、どれもmikutterを気に入ってくれた人がやってくれているこ
とです。
2.2.3 ユーザがとても増えた
最近は、Windowsを使っている人でもmikutterを使用したいと言ってくれ
ていることがあります。すべてを自分で用意すれば可能なんですけどね。
もともと、Linuxに良いTwitterクライアントがないことを理由に作り始め
たmikutterです。実際にはアラばかり目立ちますが、Twitterクライアン
トが飽和状態なWindowsのユーザが羨んでくれるというのは、なかなか嬉
しいことではないでしょうか。
3 今後
2012年はこうなる、みたいな。保証はしません
3.1 Twitter
アクティビティ機能は、一部でストーカー機能とか言われていますが、じ
きに当たり前のものになってくるでしょう。mikutterにもこれは取り込ま
れるでしょう。mikutterは、アクティビティ機能をフルに活用できるTLを
持った数少ないTwitterクライアントの一つではないかと思っています。も
ちろんmikutterのUI自身にも手を入れる必要はあるでしょうが、、かつて
無いTwitter体験でもう一度私たちをごにょごにょしてくれることでしょう。
3.2 mikutter
いい加減、1.0ですかね。1.0にするためには、ダークマターをはじめとした
残り幾つかの難解なバグを取る、リリースまでにどうしても書きなおす必要
がある部分があるなど、いろいろと大変です。しかしバージョンなんて言っ
た者勝ちなので、どこかいいタイミングでやってしまいます。ただの数字
ですから、上げても何も変わりませんしね。
また、依存しているライブラリのバグの影響を受けていましたが、最近では Ubuntuの環境で新しいRubyが漸く使えるようになり、環境自体にバグがある といったことは減って来ました。mikutter自体もRuby1.8のサポートは取り やめ、安定して動作するようになってきて、いよいよ1.0の時が来たような 気がしています。Ubuntu 12.04が楽しみですね
また、依存しているライブラリのバグの影響を受けていましたが、最近では Ubuntuの環境で新しいRubyが漸く使えるようになり、環境自体にバグがある といったことは減って来ました。mikutter自体もRuby1.8のサポートは取り やめ、安定して動作するようになってきて、いよいよ1.0の時が来たような 気がしています。Ubuntu 12.04が楽しみですね
4 まとめ
2012年も亀進行でぼちぼち適当にやっていきたいです。よろしくお願いします。