メールフローのビジュアライズScript、日本語MLに対応

毎日毎日、海外のMLから大量のメールがやってくる。単に受け取っているだけでなく、「攻め」に転じたのは5年ほど前のことだったろうか。

AppleScriptでメールボックス内のメールを自動仕分けするScript、1つの話題(スレッド)に投稿が集中しても、メールの流れをMind Map上に図示する「メールフロー・ビジュアライザ」、投稿数の多い投稿者を色分け表示する「カラーリング・ビジュアライザ」……などの強力なAppleScriptを開発し、日常的に使用している。

当初は片手で数えられるぐらいのMLしか購読していなかったのだが、こうした武器を使えるようになり、より大量のMLを購読でき、有用な情報を集めることが可能になってきた。

……ところが、この門外不出の強力兵器「メールフロー・ビジュアライザ」にはあっと驚く弱点があった。海外の英語のMLには有効だが、日本国内の日本語MLで使うと……


map1


こんな風になってしまう。日本国内のMLには有効に機能しないのだ。

メールフロー・ビジュアライザには、「Subject変更検出機能」が搭載されており、1つのスレッド内でSubjectが変更されたことを検知して枠で囲むようになっている。有効に機能すれば、1つのスレッド内を論理的にパーティショニングでき、話題の分割を効果的に行える。

だが、日本国内のMLだと1通1通Subjectが変更されたと勘違いして、枠線だらけになってしまうのだった。高度な処理が裏目に出てしまい、ひじょうに残念だ。

しばらくそのままの状態で海外MLにのみ使っていたのだが、やはり日本語MLに対して使いたい。いや、どうしても使えたほうが便利な状況になってきたので、いろいろ調査を行ってみた。

どうして、日本語のMLだけSubjectが変わったことになってしまうのか? どこが変わるのか?

……よくよく見てみたら、

  [test_ml 00001]○○の○○を××することについて

メールのSubjectにメッセージのシリアル番号が入っているケースが多く、これがカウントアップされると、Subjectが「変わった」とプログラムに見なされてしまうのだった。すぐに気付くべきだった……。

いろいろ調査してみると、カウンタの入り方にはいくつかパターンがあって、

  [test_ml] [00001]○○の○○を××することについて

という風に、ML名称部分とカウンタ部分に別れて入ってきたりすることもある。

これに対応できるよう、帰りがけに喫茶店で集中してプログラムを組んでみた。

先の同じメールフロー(↑)を新型プログラムでビジュアライズすると、

map2


……と、期待どおりにプロットできた 奥方様にはあまりプログラムの話はしないのだが、今回ばかりは

りの電車の中で熱く語ってしまったほどだ(残念ながら、その感動は伝わらなかったが……)。

これなら、一般にも出せそうだ。

Copyright By Piyomaru Software. All Rights Reserved