IP Messenger for Mac OS X 0.11.0
IP Messenger をバージョンアップしました。
送信ウィンドウにユーザ検索機能を追加しました。
ユーザ検索がなかった理由。
ユーザ検索は長らく要望の多かった機能なのですが、いままで実装してこなかった理由はいくつか。
- 自分自身の日常利用ではポート番号を変えて小規模のグループで使っているので切実に実装欲求がなかった
- やるならインクリメンタルサーチしかない(Mac 的には)けど内部データ構造がそれに適したものになっていなかった。
- インクリメンタルサーチは OS X 10.4 以前では面倒な実装が必要だった
- Windows のような別ウィンドウが出るタイプの検索だと実装が面倒に思えた
- 検索フィールドのクラスが OS X 10.3 以降でしか使えなかった(0.9.1 にした 1 年半前にはできるということなので理由にならない…)
といったところです。
何でやる気になったか。
技術的な面では、2つ。
- 0.10.0 でユーザリストをただの編集文字列のリストからカラム表示のテーブルに変える時に、ユーザ一覧のデータの持ち方を変えたのでインクリメンタルサーチが実装できるようになった(これまでユーザリストを 1 箇所に持ち、すべての送信ウィンドウが同じリストを表示していたものを、送信ウィンドウ側でリストをコピーして保持するようになったのでウィンドウ単位でリストを絞り込めるようになった)。
- 0.10.0 で OS X 10.5 以上のみにしたので、インクリメンタルサーチの実装が簡単になった( Key-Value Coding と NSPredicate クラスが使えるととても簡単)。
モチベーション的なところでは、Twitter でのやりとりがやる気にさせてくれました。
IPMsg 関連はキーワード検索してウォッチしているのですが、「ユーザ検索がないのがネック」というつぶやきを発見しまして少し状況をお聞きしたところ、300 人程度のリストで使っているとおっしゃっていたのでそれはキツそうだと。上記のような技術的な下地もできちゃったし、じゃあいっちょ作ってみようか、という気になり、ユーザ検索のプライオリティを一番上に持ってくることにしました。
で、実際やってみたところ上手くできてしまったので早々に公開しました。そんな感じですので、旧 OS からの足かせもなくなった今、要望を直接聞いてしまうとプライオリティが上がる可能性が高かったりしますw。
次。
今度こそ暗号化通信を….。と思っております。