IPMessengerプラグイン作ってます!
翻訳プラグインの超マイナーバージョンアップのお知らせを久々にエントリしたこのブログ。気がつけば,10万件アクセスを突破した。着実にEclipseプラグイン開発が広がりを見せている証拠だと思う。非常に嬉しい限りだ。
さて,最近の自分といえば,Eclipseプラグインから離れていた・・・わけではなく,新プラグインの開発を虎視眈々ともくろんでいた。そしてついさっき,基本的な機能が動き出したので,ここで紹介しようと思う。
今僕は,IPMessengerのEclipseプラグイン版を開発している。その画面イメージは以下のような感じだ。
左側にメンバーの一覧とメッセージの入力エリア,右側に送受信履歴とメッセージの表示エリアを配置している。[送信]ボタンを配置すると場所をとってしまうので,入力エリアで「Ctrl+Space」キーを押すことで送信できるようにしている。送信したメッセージが開封されたときは,送受信履歴一覧の未読の「○」が消えるようにしている。
送信処理のリトライ送信やメッセージの暗号化,ログファイルの出力など,本来のIPMessengerが持つ基本機能をまだ実装していないので,一般公開はもうちょっとかかりそう。まぁ,IPMessenger開発研究室からC++やJavaの参考にできるコードを入手できるので,そう時間はかからないはず。
それよりも,Eclipseプラグインだからこその機能をいろいろと盛り込んでみたい。今思っているのは,
(1) 「プロジェクト/ファイル/位置」をメッセージに付加して,相手側のエディタで表示させる機能。
(2) あるコードを変更したことを,他ユーザに通知する機能
って感じだ。共同作業の助けとなる機能が中心になるだろう。もちろん,相手が普通のIPMessengerでも,読んで意味のわかる記述にする必要がある。
とにかく,元のIPMessengerがダイアログベースなものなため,ユーザインタフェースについては,まだまだかなり改善しないといけない。エディタとの連携というか,エディタ上にいろいろ噴出し的な表示をするようにしても面白いかも。
もし「こうして欲しい」みたいな意見などがあれば,是非コメントを寄せて欲しい。もちろん,基本機能を最優先に搭載して,さっさと一般公開するようにするつもりだが,さくっと組み込めるものであれば一緒に組み込むことも可能だと思うので,どしどし意見をくれると嬉しい。
| 固定リンク
この記事へのコメントは終了しました。
コメント
すごい。
いい考えだと思います。
楽しみです。
投稿: あおうさ | 2005.09.05 09:54 午前
FreeStyleWikiの作者であり、数々のeclipse plug-inも開発されてるたけぞうさんがやってるproject amaterasでswt版IPMessengerを公開されてますです。
http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=IPMessenger
ご参考までに。
投稿: tpircs | 2005.09.05 11:49 午前
tpircsさん,情報ありがとうございますー。
もちろん既に存在は知ってます。これはスタンドアローン版ですね。プラグインならではの思惑があるので,これを再利用してはいません。暗号化などもないようですので。。。
負けないように開発進めますねー。ありがとうございました!
投稿: よういちろう | 2005.09.05 12:37 午後
あおうささん,コメントありがとうございますー。
早く公開できるように,開発進めますね。
投稿: よういちろう | 2005.09.05 12:38 午後
すごい。なんだかとてもわくわくします。
IPMessenger インフラを利用した面白いことがどんどんできそうな感じ。
なにかプラグインできたら面白そう……。extension point 用意してくださいませー。
投稿: matobaa | 2005.09.05 12:55 午後
ですよねー!もちろん,IPMessengerコア単独でプラグイン化して,extension pointを設けようと思ってます。
もーちょいお待ちくださいませー。
投稿: よういちろう | 2005.09.05 01:14 午後
あおうさです。
私もJavaできるのでわかることなら協力しますし、協力したいです。
ネットでオープンソースコミュニティーとか参加したことないので要領がわかりませんが、
CVSなどで共有して開発できるかな?
投稿: あおうさ | 2005.09.05 11:00 午後
あおうささん,お心遣い誠にありがとうございます!
ある程度出来上がったらコードを公開するつもりですので,そのときに考えさせてください。
投稿: よういちろう | 2005.09.06 12:16 午後
はじめまして。私もEclipseでの開発を行っています。
プラグインの開発も多少ですが・・・
1ついい案が見つかりました!
IPMessengerはダイアログベースという話が前に出てきていますが、
Eclipseでも「ビルド時のエラー」等で、ダイアログが出ますよね?
(分かりますか?・・・)
あのダイアログ使えれば、ダイアログベースですので、使いやすいかな?
ってところです。もしお役にたてればですが・・・
ではでは
投稿: 通りすがりの名無し | 2005.09.09 09:11 午前
通りすがりさん,アイディアありがとうございます!
そうですねー,Eclipseのダイアログ機構はいくつかあるので,ダイアログベースの方針でいくのであれば,いい感じで実装できると思います。
ただ,Eclipseという開発ツールは,プログラミングを行うためのソフトウェアであり,プログラマに対して,プログラミング作業を止めてしまうようなUIは避けなければならないと思ってます。なので,いきなりダイアログが出ちゃうのはちょっとまずいですねー。
もちろん,ノンポップアップ受信という手もありますが,僕のイメージとしては,プログラミングしながら,その手を止めることなく,複数人で意見交換ができる,っていう,一見矛盾しているUIを目指しています。他人の議論を見ながらプログラミングって感じですね。
なので,ビューがいいかなぁ,という考えです。
投稿: よういちろう | 2005.09.09 11:41 午前
> 入力エリアで「Ctrl+Space」キーを押すことで送信できるようにしている。
Eclipse のヘルプの、
Platform Plug-in Developer Guide
-> Reference
-> Other reference information
-> Tips for making user interface accessible
> Avoid Alt+{key}, Ctrl+Alt+{key} and Ctrl+Space+{key} combinations.
(中略)
> Ctrl+Space+{key} combinations can conflict with Ctrl-Space, used for mode switching in Asian languages.
により、Ctrl-Space は避けた方がいいと思われる。
投稿: 通りすがりの酔っ払い | 2005.09.15 02:00 午前
酔っ払いさん(w,コメントありがとうございます!
ぬぉ!確かに良く考えると,Ctrl + Spaceは,やばいかもしれないですね。Cannaの起動キーと思いっきりかぶってるし。。。
ただ,Linux版のEclipseのContents Assistのアクセラレータのデフォルトは,相変わらずCtrl + Spaceになってますね。うちのLinuxでは,Cannaが起動しちゃって,Contents Assist効かないです。orz
変更を検討します。ご指摘ありがとうございました!
投稿: よういちろう | 2005.09.15 09:59 午前