過去・現在・未来?

1993 年の初夏、私はレポートの現実逃避(^_^;から mh-e や GNUS で MIME 機 能(特に encoded-word )を利用する試みをはじめました。この後、encoded-word を扱うための program は“tiny-mime”という program として公開しました。当時は公開し てそれで終りというつもりだったんですが、まさかそれから5年も続ける羽目 になろうとは。

“tiny-mime”は思いの他反響が大きく、大量の mail に耐えかねて tm mailing list を作りました。mailing list の member の協力もあり、 “tiny-mime”は何度か version up され、mh-e や GNUS でこれを利用するた めの設定サンプルも公開しました。これらは後に“tm”という package にま とめて配布するようになりました。

“tm”では当初 body に対しては metamail を利用した viewer を用いていま したが、後に、Emacs Lisp で書いた“tm-view”という viewer を実装しまし た(修士研究の現実逃避(^_^;)。

tm mailing list の member から周辺 module が提供されたこともあり、tm は急速に成長して生きました。 やがては tm は高機能な MIME 機能を提供する MUA attachment として世界中で広く使われるようになりました。しかし、 一方で、tm の提供する機能の古さも目立つようになって来ました。これは tm が元々 Emacs 18 の時代に設計され、Emacs 18 を support し続けていたからです。 このため、Emacs 19 で導入された機能の内 Emacs 18 で emulate できないものは根幹部で利用することができなかったのです。 しかし、徐々に Emacs 19 以降や XEmacs への移行が進み、 Emacs 18 を support するための機能制限の デメリットが目立つようになって来ました。 また、長年の機能拡張のために見通しの悪くなった部分や、 当初の無知や技術力不足により emacs の慣習に反する部分や効率の悪い部分も見受けられましたが、 過去のしがらみでなかなかいじる訳にはいきませんでした。 こうした問題を解決したいと思うようになっていましたが、1996 年春ついに tm のリストラを決意し、その作業を開始しました。

tm は『大盛り package』という形で、tm に関わるさまざまな module や、 MIME 処理に関わらないものまで入っていましたが、これを APEL, FLIM, SEMI と EMH などの MUA interface module に再編しました。 bitmap-mule mu-cite などは別配布としました。その後、 Semi-gnus project などもはじまりました。

これまで、FLIM では mime-entity 抽象や mm-backend, mel-backend が導入 され、さまざまな環境での効率的な使用に配慮した抽象化を行った API の整 備が進んでいます。

SEMI では mailcap による外部 method の設定機能を追加しました。 Emacs lisp が苦手な人でも気軽に外部 method を設定でき、 SEMI 以外の MUA と設定を共有することも可能になりました。 また、tm では外部 method に特別な shell script を用いていたため非 UNIX 環境で工夫が必要でしたが、 新方式では mailcap file を書くだけで良くなり Windows 95 などの非 UNIX 環境では特にその恩恵が大きいといえるでしょう。 mailcap の導入に伴い、複数の method が競合しやすくなり、また、優先度を 決めるのが難しくなったために、method 選択 menu を導入しました。毎回 menu で選択するのは面倒臭いので選択結果を記録して、 2度目からは前回に最も似た method を選ぶ機能(用例に基づく適応インターフェース)を導入しました。 C-u v のように C-u 付きで再生すると 過去の用例を無視して全候補から選択することも可能であり、この場合には選 択結果を登録し以後の method 選択においてこの結果を配慮します (用例に関する例示インターフェース)。また multipart/alternative の選択表示も実装されました。mime-entity 抽象を利 用した API の整備も進んでいます。

今後は FLIM API のさらなる整備や、SEMI MIME-Edit の再設計が計画されて います。


Last modified: Wed Jul 10 17:23:18 JST 2002