mikutterの最新の情報は、mikutter blogに引っ越しました。

2014年12月23日火曜日

#mikutter 3.2 の予定

まもなくmikutter 3.2がリリースされますね(棒)。
12/25には正式にリリースされて、5日後には、コミケのmikutterの薄い本製作委員会のブースで頒布される「mikutterの薄い本 vol.7」に、mikutter 3.2についての私の記事が掲載されていますね(棒)。
3.2を12/25にリリースすれば何も問題ないはずですよね。では、3.2では何をする予定なのかを確認してみましょう。

アイコンテーマ(仮称)
mikutterのUIのアイコン郡を差し替える機能です。アイコンをまとめたファイルを所定の位置に置いて、設定画面でどれを使うか設定すると、mikutterが用意しているアイコンを別のものに置き換えることができます。
ユーザとしては、使用しているWMのテーマにあったアイコンを選ぶ・作ることができるようになります。
プラグイン開発者としては、この変更に伴って提供する skin DSLメソッドを使えば、画像ファイルの指定をより簡潔にできるというメリットがあります。

この変更はまだ試験的な機能です。3.3で大幅に変わる可能性があります。

openimg 2
トトリちゃんの画像を楽しめるWebサービス
http://totori.dip.jp
を表示したところ。イワシがいっぱいだあ。

openimgプラグインは画像の表示機能を提供していますが、使い勝手が微妙に悪いところがありました。
また、最近サードパーティの画像アップロードサービスがいまいち息をしていないとか、開発当初からとりまく環境が大きく変わってしまったプラグインでもあります。

単なる画像取得の手段としてサードパーティプラグインと連携
openimgは、d250g2、地獄のミサワなどさまざまなサービスに対応した強力な画像取得ルーティンをもっていますが、このインターフェイスはプラグインの中に閉じてしまっていていました。
openimgの画像取得部分を公開することで、画像を扱うプラグインはそれを利用できるようになります。

サードパーティプラグインが画像取得ルールを提供
従来は、openimgプラグインに付属しているJSONファイルに、例えばtwitpicの画像を取得するためのルールが書いてありました。
この方法では、openimgが想定しないような複雑な方法を使ったルールでの取得が出来ず、実用的には無理が出てくる場合がありました。現実に、いくつかの写真アップロードサービスについては、openimgに別途コードを書いて対応しているような状況がありました。
そこで、いっそのことURLを画像URLに展開するようなフィルタを用意して、写真アップロードサービス毎にリスナを登録するアプローチに変更することにしました。こうすることで、openimgプラグイン以外から、画像取得ルールを登録できるようになりますし、ルールがJSONファイルとRubyコードに散らばらなくなりました。

一方で、毎回コードを書くとなると、メンテナンス性が問題になってきます。これはスクレイピングの部分にNokogiriを使用することで、コードを単純にしました。mikutterからWebページをスクレイピングするようなプラグインなんて普通書かないと思いますが(棒)、これからは標準プラグインが要求するので気兼ねなくNokogiriを使えますね。

振る舞い
画面をクリックでブラウザを開いてウィンドウを閉じるという挙動がなくなりました。
閉じるにはウィンドウマネージャの閉じる機能を使ってください(ここにもmikutterコマンドを割り当てたかった)。
ブラウザで開くには、ツールバーに投げやりな感じのアイコンがあるのでそれを押します(mikutterコマンドry)。ここに入れたい機能がほかにもいくつかあるのですが(mikutterコry)。
画像の表示部分も書きなおして、画像のダウンロードが終わったところから表示されていくようになりました。

画像プラグイン→メディアプラグイン?
今までopenimgは画像に拘ってきましたが、最近のTwitter全体の動向を見ていると、動画なんかも気軽に投稿できるようになってきています。動画に対応する予定は今のところありませんが、今回の変更は、そういった将来の変更も見据えてのものです。

抽出タブ
抽出対象の拡張
抽出対象とは、抽出条件の「名前」「本文」などのことです。これには他に、Twitterクライアントでフィルタしたいという要求もあったので、一応それも入ってはいます。
ちょっと使っているぶんにはこれで足りるかもしれませんが、もっと高度な条件を指定したいかもしれません。
そもそもmikutterのツイートを現すオブジェクト Message には、もっと多くの条件になりうるメソッドが実装されていますが、今使っているのはそのほんの一部であるというのが現状なわけです。
現状だとコードを書いて自力でフィルタしたものをデータソースとして提供するという方法もあり、実際に鍵垢のツイートだけ流れてくるデータソースというものも提供されています。
抽出対象の拡張ができるようになることで、こういった要望について、より自然に答えられる場合が出てきます。

まとめ
3.1からあんまり空いてませんが、期間のわりにはいろいろできたみたいです。ちょっと詰め過ぎた感じもしますが、来年はまた4月までほとんど動けないことを考えると、差し引き調度良い感じかもしれません。
実は今alpha1を上げました。いくつか既知のバグがあるので25日まではそれを取って、25日のどこかで正式な不安定版としてリリースします。数年ぶりのクリスマスリリースになりそうです。
大体年末は仕事はたいしたことなくてmikutterでてんてこ舞いなのですが、今年は会社が大型案件をぶつけてくれたので泣いています。とにかく、最低限思ってたことはやりきれそうなのでよしとしましょう。

そんなわけで、動作確認おねがいします!