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

2012年11月23日金曜日

#mikutter 0.2.0.1064 0.1.1.1063


0.1.1
  • Twitterの仕様変更により初回起動時にトークンが取得できなくなっていた
0.2
  • Twitterの仕様変更により初回起動時にトークンが取得できなくなっていた
  • ディレクトリの整理
  • 抽出タブを削除できない問題
  • 設定画面の一部リストビュー(Twitterリスト機能等)において、レコードが一件もない時に新規追加ができない問題
  • プラグインを大量に入れた場合、画面からはみ出た設定が表示されない問題
  • Tumblr、はてなフォトライフの画像プレビューに対応
ここ数日(昨晩以降くらい?)でmikutterを導入した人はやってみよう。

Twitterがよくわからん変更を加えてきたので対策。一時的なものかもしれないけど、もともとの実装にも無駄な処理があったので。一応0.1.1にも適用したけど、新しくインストールするのでもない限り意味ないかもね。0.1.1は大きめの問題があればこうやってしばらくはアップデートします。大体みんな移行してるんだけどね。

0.2はそれに加えて、積み残していた優先度の低い不具合の消化と若干の機能追加があるのでアップデートをおすすめします。おすすめしないアップデートってなんだよって話だけど。

0.2.1の予定

ついでに0.2.1の予定を書いてなかった気がするので書いておきます。
  • 高速化。アップデートの定番。何もしてなくてもとりあえずこう言っておけばいい。
  • mikutterコマンドのUI関連。アイコンつけたり、階層構造にしたり
  • Twitte API v1.1 に対応。メリットはほぼ無いけど古いAPIは運営のやる気がないようなのでさっさと引っ越すべき。Developer RejectionDisplay Requirementsどうするかね。
  • マルチアカウントの準備。マルチサービスのためにね。
  • 12/25にリリース。今回は三周年記念のバージョンアップなので、以上のことができてなくても、できてる部分だけでバージョンあげちゃいます。
高速化は実は0.2になったことで割と速くなったんだけど、それによって更に速くできる予知が生まれたのであえて書いた。Ruby2.0で高速になるという話もちらっと聞いたけど、追い風になるだろうか(1.8→1.9は凄すぎて、mikutterの1.8サポートを即切ったね)。
コマンドは、できることが増えたのでコマンドの種類も増えてしまい、探すのが大変なので。閉じるアイコンの出番がまた増えます。
v1.1の要件でもあるDR対応はやるけど、そうなると糞UIになるので、UIを過去のものに戻すプラグインも同時に公開しないといけません。mikutterがただのTwitterクライアントではないことは皆さんご存知の通り。
マルチアカウントっていうのは、もうとっくの昔からそうなってるんだけど、昔botだった頃のコードは流石にマルチアカウント対応になっていない。うまく行けば0.2.1からマルチアカウント対応にできるけど、なんか嫌な予感しかしないからどうするかね。遠い昔の夢だった、別のSNS等への対応のためにも必要なことだね。

来る12/25は皆さんご存知の通りmikutterの3周年です。オンラインでイベントもします(http://atnd.org/events/33737)が、この日のmikutter 0.2.1をリリースします。上に書いたことが一つも出来なかったとしてもバージョンを上げますバージョンは飾りなので。

また、アドベントカレンダー(http://atnd.org/events/33911)やコミケでの薄い本vol.3の頒布(http://home1.tigers-net.com/brsywe/mikutter/mikutter3.html)も行いますし(落ちたけど委託できたようです)、世間でもこの佳節を記念して、普段アニメ等を見ない私がハマったアニメ「けいおん!」の映画の地上波放映が行われる(http://www.tbs.co.jp/anime/k-on/k-on_tv/news/news.html#201211221700)など、過分な祝福を頂いております。

今年も、ただでさえ忙しい年末の貴重な時間を、mikutterでどんどん削りましょう!

2012年11月18日日曜日

mikutterプラグイン管理ツールの構想

本筋とは全く関係ない話。プラグインのパッケージ管理とかやってくれるのが欲しいと思って、ちょっとだけ作りかけてみました。

現状のプラグインシステムの問題点

mikutterはサードパーティプラグインを ~/.mikutter/plugin/ の中に入れたら動くようになっています。いちいちビルドとかしなくていいので楽ですし、単純なので理解しやすい(置く→動く!)のですが、単純過ぎる故に色々と問題がありました。

  1. プラグインを探すこれといった方法がない
    現状として、プラグイン纏まった場所がないので、プラグインを探す時はgoogle先生にきくしかなく、検索すべきキーワードがわからない、特に欲しいプラグインがないという時にダラダラ見れるリストは存在しないようです。
  2. 何が入ってるかパッとわからない
    プラグインディレクトリ見れば分かりますが、ねえ。
  3. mikutterのバージョンとプラグインが想定するバージョンを気にしなければならない
    多くはREADMEとかに書いてあると思うけど、ねえ。
  4. 最新版の確認を、全てのプラグイン毎に行う必要がある
    リポジトリを直接プラグインディレクトリにチェックアウトすると楽にできるけど、それにしたってステップ数が減るだけ
で、誰もがパッケージ管理みたいなことしてくれないのかよ、って思っていたのではないでしょうか。今まで挑戦した人もイタみたいですが、皆途中で一身上の都合又は音楽性の違いにより、完成には至らなかったようです。

私も以前一度やろうとしていましたが、既存のものを使って辺にこったものを作ろうとしてしまって頓挫しました。というのも、プラグインから提供してもらえる情報というのが意外と少ないんですよね。しかし、ちょっと0.2で状況が変わって来ました。

定義ファイルの導入

mikutter 0.2からプラグインの依存関係を記述する目的で、プラグインにYAMLで記述された定義ファイルを同梱しておく機能が導入されました。
これは、依存するプラグインを記述しておき、それが先にロードされるようにすることで、コアを書き換えるプラグインの機能に依存したプラグインを書けるようにという目論見です。
ついでに、プラグインのバージョンとかも書けるようにしました。詳しくは「プラグイン移行ガイド」の7章を見てください。

いろいろ書く割にはほとんどのキーが使われていないというのが現状ですが、この情報を利用したらパッケージ管理みたいなことができるのではないかと思ってやってみました。

理想
  1. リポジトリみたいなのに登録されてるプラグインを一覧したい。
  2. インストールはできるだけ簡単に。
  3. yumとかaptみたいな感じで、バージョンアップとか依存関係とか見てうまい感じにやってほしい
  4. app storeやGoogle Playみたいに評価とか付けれるようにしたい(審査ができないため、悪意のあるコードが入ったプラグインを実行してしまうと…。)
作ってみた


0.2で使えます。設定画面に「みっくストア」というのが増えてるので、そこからプラグインをダブルクリック(todo: なぜクリックで開かない)するとプラグインの説明が出てきて…っていうのはスクショ見たら大体イメージつくと思います。


はい。変なプラグインをインストールしてしまったのでインストール済みになってしまってます。プロトタイプなので使用はおすすめしませんが、現時点で以下のような機能があります。
  • プラグインをインストールする。
    通常のプラグインディレクトリにスラッグと同じ名前のディレクトリを作ってそこに設置。git cloneしてるだけなのでgitコマンド必須です。みっくストアを用いてインストールすると、すぐにmikutterにロードされるので再起動は必要ありません。
  • すでにインストールされてるプラグインを確認
    「導入」カラムに表示されているバージョンは、インストールされているプラグインのバージョンです。バージョンがないけどインストールされてるものは○、インストールされてないものは空白。「みっくストア」を用いずにインストールしたものも検知できます。
  • 開発者の気がふれていないか確認
    プラグイン開発者の頭に不具合がないか確認できます。mikutterプラグインはなんでもできてしまうので、信頼できないものは入れるべきではありません。こう簡単だとホイホイ入れちゃいそうだけど。
これ以外は何も実装してません。バージョンアップ、アンインストール等はそのうちつくんじゃないかな。
また投げ出してしまいそうだけど、最低限のものはできてるので、いい感じにできないかなー

mikutterプラグインの管理が楽になるといいですね

2012年11月7日水曜日

#mikutter 0.2.0.1054


  • ツイートにフォーカスしてなくても会話タブを開くコマンドが使える問題
  • 意味のないトレースをエラー報告として送っていたのをやめた
あんまり何も変わっていない。二週間経ったのでバージョン上げてみた。いつかみたいに大して何もなくても毎週バージョン上げるようにしたら危機感持てて、ちょっとは開発速度上がるかなとか思って。
パッチとかももらってるし割と残してるバグもあるんだけど、最近元気がなくてなかなかコードをかけてない。mikutterの薄い本製作委員会がコミケ落選したのは関係ないです。

0.2ではプラグイン開発者が嬉しい機能とかあるのでそういうのもまとめたいと思っているんだけどコードすらかけてないし全然時間が足りない!これから寒くなったら自分の部屋でコード書くのがかなりしんどくなってくるのに。