IP Messenger for Mac OS X の今後
IP Messenger for Mac OS X の開発を再開しています。
いったん大きな区切りをつけて、放置せずにメンテナンスを続けていく、というのが今年の目標です。
1.0。
最初の v0.1 公開から 10 年以上経ってもいまだに v0.11.4 なわけですが、いよいよ v1.0 にしようかと。
v1.0 の機能範囲は、Windows 版 2.x に近いものになります。
以下に対応する予定です(変動の可能性あり)。
- 暗号化通信
- 受信バルーン通知(Growl)
- ホットキー
- 既知のバグ修正
Windows 版 3.x の機能を先取りするものとしては、RSA2048bit/AES256bit 暗号化と多言語化通信(v0.10.0 で対応済)があります。逆に Windows 版 2.x にある機能で非対応となるのは、NIC指定、RC2 40bit暗号化(これは将来的にも対応できそうもないです)、ユーザの表示優先度やグループ化あたりです。
Growl に対応することと開発環境の関係で、v1.0 は Mac OS X 10.6 Snow Leopard 以降が動作環境になります。
状況としては、暗号化通信は対応がほとんど終わっており Windows 版とそれなりに動作確認できていますが、エラー時の処理などが残っています。Growl は対応を始めたところです。ホットキーは未着手、バグ修正はいくつか進めています。
時期は目標を決めても守れたためしがないので、遠くないうちにベータ版の公開を目標にしています、とだけ。
OS X 10.4 を対象外とすることで Objective-C 2.0 が使えるようになり、随分大がかりにソースや構造の整理をしたので、ベータテストは時間をかけるつもりです。
2.0。
そして、並行して v2.0 の開発を始めてしまいました(おいおい…)。
今のところ動作環境は OS X 10.7 Lion 以上で、Windows 版 3.x 相当に持って行こうと考えています。
ざっと考えて、v1.0 との違いは…
- 電子署名対応
- 画像貼り付けメッセージ対応
- 画面キャプチャ対応
- 通知センタ対応
- ユーザインタフェースの設計しなおし
- メッセージログの抜本的な改善
- アイコン・画像リソースの刷新、Retina対応
- 64bit動作
- SandBox対応
- MacAppStore配布
既存ソースの改造ではなく、ゼロからリライトします。
もちろん既存コードや既存ロジックの流用はありますし、リライトするとしてもすべてを再設計するわけではありませんが、OS X のバージョンアップと同時に開発言語である Objective-C (厳密にはライブラリやフレームワークを含む話ですが)の機能も大きく進化していて、既存コードからマイグレーションするのはかえって面倒すぎることが理由です。
開発者でないと意味がわからないと思いますが、 ARC や GDC、CoreData、KVC/KVO などをほとんど使っていないコードからそれらを利用したモノに変更していくというのは、規模にもよりますが思うようにいかず、書き直したほうが早いしスッキリ書けます。また、ユーザインタフェースまわりについても既存のものを踏襲するとどうしても最新の機能や部品を使う足かせになってしまいます。
というわけで書き直します。
捨ててもいいやということで勉強がてら始めてみると、CoreData 面白いです。Objective-C のコードもこんなにコンパイラ任せでいいのかというぐらいコード量が少なくていいし、メモリ管理もほとんど考えなくていいし….すごい進化です。
10.7 Lion 以降動作のつもりで始めていますが、最終的には 10.8 や 10.9 以上、なんてことになるかもしれません。特に通知センターが 10.8 からなのが悩ましいところ。
というわけで今年こそ、IP Messenger for Mac OS X は v1.0 になる予定です。
開発の再開、とても嬉しく思いです!
現在、ver.0.11.4にて、添付ファイルの転送エラーに悩んでいます。。。
Windows 版の様に、ユーザーに優先度をつけたり、非表示にできると助かります。
ユーザーリストが多すぎて見つけるのに苦労しています。
取り消す(⌘Z)が動かなくて困っています。
メニューの編集を見てもグレイアウト。
動くようになると助かります。