MLの引っ越し(登録メールアドレスの変更)作業を行っていたときに、意外なメーリングリスト(Mailing List。以下、ML)の投稿数が多いことに気付いた。US AppleのUSB関連の開発MLで、おそらく瞬間的に投稿数が増えたためだろうが、移行作業中にたまたま2つのメールアドレスが両方とも登録された時間帯があって、重複したメールの発生量が多かったのがUSB MLであることを発見。とても意外性があって面白いと感じた。
ここで、各MLの投稿量の状態ないしは時系列的な変化といったものを視覚化することで、何か有意義な情報を見つけやすくなるのではないかと考えた。
そもそも、膨大な量のMLのやりとりを整理するために自分がとってきたアプローチは3つある。
1つは、ディレクトリに分けること。MLごとにディレクトリを分けて、さらに頻出単語でサブディレクトリを作成する。これは単純なんだけれども、割と効果的な方法であり……未知のジャンルのMLに参加しても、どの単語が重要で出現頻度が高いといった分析がすぐにできる。このアプローチを後押しするために、「1つのメールフォルダに複数のキーワードを付け、識別できる」AppleScriptを作成し、運用している。
2つ目は、スレッド内のメールのやりとりを視覚化すること。ディレクトリに分割したメール群の中の、さらに特定の話題に関するメールのやりとりをマインドマップによって視覚化することで、より短時間かつ直感的に把握しようという試みだ。これについても、自動処理するためのAppleScriptを作成し、日々運用している。
3つ目は、登録するメーリングリストを増やし、それらをより俯瞰した視点から観察・分析するというものである。AppleScriptとは一見なんの関係もないMLに技術的なヒントが隠されていることもあるし、さらにMac OS Xとさえ関係のないMLにまで触手を伸ばしつつある。少ない情報源をくまなく精査するというアプローチをとる一方で、より広いMLに手を出すという話であり、100個ちょっとではまだ少ないのではないかと考えている。
話を最初に戻すと、各MLの流量の変化や流量の大きさを視覚化するという話は、この3つ目のアプローチを強化するものだ。
だいたい、Webサーバーへのアクセス解析については、グラフ化したり検索エンジンの検索キーワードといったものを分析する。これは、ごく当たり前のことだ。…………だが、なぜそれをMLに対して行ってこなかったんだろう?
メールソフトの多くは、メールを書くとか読むといった至極単純な機能さえ実装してあるだけで、自分がメールで受け取る情報を分析する機能については、何ら機能が提供されてこなかった。メーカーとしては、そんな当たり前の機能であっても、OS自体の機能の変化やセキュリティ問題への対策などで手一杯であって、「前向きな機能」の実装に対して完全に腰が引けてしまっているように見える。
そんなわけで、メーラーに対して分析や情報の視覚化のための機能を付け足すのは、ごくまっとうなアプローであるように思える。
……で、その第一歩としてMLへの投稿量でランキングを出す「ML Ranking」なるプログラムを作ってみた。
これだけでも……どのMLでどれだけの流量があったかが分り……そこを集中的に分析すればよいという参考になるだろう。このプログラムは、Mac OS XのMail.appの「ルール」をスキャンして、ML関連のルールを取り出し、そのMLのメールの振り分け先のフォルダの情報を抽出し、指定時間以降から現在までの受信メール数をカウントする。こんな凝った処理をObjective-Cで書こうとしてどれだけの時間が必要になるのかは分らないが、AppleScriptだったら、書くのに30分もかからない処理である。さらに、AppleScript StudioでGUIをつけても1時間か2時間といった話だ。
処理速度についてはそれなりなので、瞬時に結果が出てくるような話ではないのだが、朝起きて最初に実行するぐらいの使用頻度なので、許容範囲内だと考えている。