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

2012年10月21日日曜日

#mikutter 0.2

9末とか言っててなんとかそれくらいにRC出してからぐだぐだしてたらもう21日じゃないですか!このまま噂されているiPad miniより遅れてせっかく作った特設ページとかまた作り直しなったら嫌だし、なんか忘れてる気がするけど、ここで区切らせてもらうぜ!
  • 機能追加・仕様変更
    • プロフィールプラグインのデザイン変更
    • 会話タブの抽出方法変更。会話のミックス等
    • 設定タブを廃止。ステータスバーに設置したボタンをクリックしたらポップアップするようになった
    • ショートカットキーにペインの移動、タブの移動等フォーカス関連のコマンドを追加
    • 隠し機能、mikutterコンソール機能を正式機能として採用。起動中のmikutterの中でRubyのインタプリタっぽいものが使える
    • 隠し機能、マルチペインを正式機能として採用。タブの右クリックやショートカットキーで、特定のタブを新しいペインに移動することができる
  • 内部変更
    • UIを一から書きなおした。自由度が上がって若干パフォーマンスも上がった。
    • コマンドロールを刷新。
    • UI DSLを採用。Gtkオブジェクトをイベントで渡す方法はオワコンになった。
    • プラグインメタ情報ファイルのサポート。
    • 収録されているすべての画像、音声のライセンスを「クリエイティブ・コモンズ 表示 - 継承 3.0 非移植」に変更
  • バグ追加
    • 新しいアイコンが可愛すぎる問題
    • and you
RC2の内容と全く同じです。RC2を使っていた人はバージョンアップする必要はありません。

今回はいくつかUIに細かい変更を加えています。長い時間をかけてUIをできるだけ変更しない方法を模索していたけれど、やむを得ず変更を入れました。
大幅な内部変更のおかげでフォーカス処理などがプラグインからできるようになりました。単純なものはmikutterの標準で実装しています。詳しいことは使ってみればわかるんじゃないかな(http://mikutter.hachune.net/)
細かいバグがいくつか残っています。安定したmikutterが使いたい人*1は、アップデートを待ってもいいんじゃないでしょうか。

*1: アアアッwww

プラグイン開発者の方は、内部APIの一部に互換性が無いのでご自分のプラグインを確認してください。とりあえず動くようにするには、 mikutter 0.2 プラグイン移行ガイド を参照してください。ナウい♂プラグインマニュアルは今書いてます、多分次の薄い本にもそれが載ると思います。

2012年10月15日月曜日

#mikutter 0.2.0.1051 RC2


  • 不具合
    • アカウントのトークンが取得できない問題
    • 一部環境で起動できない問題
  • 仕様変更
    • リストでフォローしているアカウントがされたリツイートを取得しないように変更した。今後は(そういったプラグインを入れない限り)フォロイーのリツイートしか表示されない。
ちょっと遅くなりましたがRC2です。基本的にこれで大丈夫だったら0.2の最初の版ということにしようと思っています。
他にも判明している不具合はありますが、使用に支障をきたすほどのものではないので、これらができていないからといってリリースを延期する予定はありません。ただ、それまでに修正できたものについてはアップデートに含めます。
現在判明している不具合は以下のとおりです。他にも何かあれば報告お願いします。

2012年10月5日金曜日

#mikutter 0.2.0.1045 RC1

一定以上の優先度のタスクが全て終わりったので、mikutter 0.2 のRC版を公開します。一週間程様子を見て、大きな不具合がなければ、このまま押し切ります。
何かあれば教えてください。ダウンロードページの一番下からダウンロードできます。

主な変更点 http://mikutter.blogspot.jp/2012/09/mikutter-02_18.html

開発者用変更点 http://mikutter.blogspot.jp/2012/09/mikutter-02.html

残作業等 http://dev.mikutter.hachune.net/projects/mikutter/issues?fixed_version_id=5&set_filter=1&status_id=o

2012年9月18日火曜日

mikutter 0.2 開発版のテスト開始


若干日数がたってしまいましたが()、mikutter 0.2をtrunkにマージしたので、trunkを使っている人たちは、updateするともうmikutter 0.2がつかえるようになると思います。


で、これを以てバグ報告の受付を開始します。まだできてないこともあるけれど、数が減ってきたのである程度つかえるレベルになってきたと思います。さあ今こそかつての人柱魂を呼び起こす時だ!


A____A
|・ㅅ・|
|っ c|
| か |
| た |
| じ |   
| け |
| な |
| い |
| ! |
|   |
U ̄ ̄U


リリーススケジュール

Redmineのトラッカーが「機能」か「致命的」になっているものが全て完了した時点でRC1を公開(tarball)、致命的な不具合があれば修正して、数日サイクルでRCをリリースしていき、一週間大きな問題が見つからなければ0.2をリリースです。9/30あたりになればいいんだけどな。

新機能

ちょいちょい言ってますがざっとおさらい。

UI関連の内部APIの大幅変更

前回のエントリで説明したとおりです。人によっては、拾ってきて入れてるプラグインが対応して無くて起動できなくなると言ったこともあるでしょう。

マルチペイン

マルチペインに正式対応しました。二つ以上タブがあるペインのタブを右クリックすると、「新規ペインを作成」というコマンドが出てきます。これで新しいペインが一番左にできて、そのタブがそこに移動します。
今までの怪しい隙間にD&Dで増えるというのはないです。
ペインの構造が大幅に変わったので、0.1系のペイン情報は失われています。

設定

設定タブを廃止しました。ステータスバーの右にあるネギレンチアイコンをクリックすると、設定ウィンドウがポップアップします。設定はいままでどおり、触ったら即反映されます。決定ボタンなどはないので、設定が終わったらWMの機能を使って設定ウィンドウを閉じてください。

プロフィールプラグイン

プロフィールプラグインを書き直しています。レイアウトが大幅に変わったことと、ふぁぼ・ふぁぼられ数が見れるようになったことが変更点です。

フォーカス操作系のコマンド

左右のタブに移動する等、キーボード操作をしやすくするmikutterコマンドを大量に追加しました。ちょっとショートカットキーの割り当て画面考えないとそろそろきつくなってきましたね。

この世の全てをそこに置いてきた

いろんなプラグインにどさくさに紛れて隠し機能を追加しました。あと、いい忘れてる機能もありそうです。

バグ報告

クラッシュしたらレポートを送ってやってください。だけどバックトレースをコピペしてRedmineで適切に報告してくれたら、より早く対応できます。
バグ報告はRedmineでお願いします。Twitter上で報告されてもチケット化が追いつかないし、そもそもバグの報告から修正完了までの流れを扱うのに不向きです。また、流れが早いため他の人との情報の共有がうまく行きません。一応リプライで言われても聞きますが、基本的にTL上にいる時は休憩中なので、その場で聞いてるだけですぐに忘れる、ということがしばしばあります。人間だもの。
もちろん、質問はTwitterで結構です。でもアカウントを持ってる人には最終的なチケットの作成はお願いすると思います。

mikutterのRedmineアカウントを持っていない人で、報告するのに登録してやってもいいという方は、登録フォームから登録してください。ただしアクティベートは手動で行うので、登録したらリプとかで知らせてください。

チケット作成の流れはこちらの文書を参照してください。Redmineで残作業を確認するにはこちらから。コンソールのように、実装してあるのにまだチケットが残っているものは、現在作業中ということです。


今週は結構できるとおもうんだけどなーほんとに今月中にリリースとかできるんかな