はじめに
仕事でOutlookを使っていて、長く続いたメールのやり取りを読み返すたびに、ふと思うことがありました。
「メールの内容というより、そもそも表示形式が読みにくいのでは?」
そこで、Outlookのメールを古い順に並べ、チャットのようなUIで読めるOffice Add-in「Mail Chat」を個人開発しました。
最初はTeamsのような会話システムを目指していましたが、開発を進める中で機能を絞り、現在はシンプルなMVPになっています。
この記事では、Mail Chatを作ろうと思ったきっかけから、実装で苦労したこと、現在の検証状況までを書きます。
1. なぜMail Chatを作ろうと思ったのか
きっかけは、日々の業務メールを読むことに、思っていた以上に頭を使っていると感じたことでした。
例えば、メールに返信しようとしたとき、
- このやり取り、最後に送ったのは自分だったか、相手だったか?
- この案件はどこまで話が進んでいたか?
- 誰に何を依頼して、期限はいつだったか?
といったことを確認するために、過去のメールを何度も読み返していました。
同じ相手でも複数の案件についてやり取りしていたり、同じ会社でも案件によって担当者が違ったりします。
そのたびに頭の中で文脈を切り替える必要があり、複数案件が並行すると、会話の流れを把握するだけでも負担を感じていました。
特に違いを感じるのが、長期休暇明けです。
Teamsでは、会話が時系列に並んでいるので、過去の発言から順番に追えば流れを把握できます。
一方、メールでは異なる案件や担当者からの連絡が受信トレイに混ざって届きます。
OutlookにもConversation表示はありますが、経緯を最初から追おうとすると、過去のメールを開いたり、読み返したりする必要があります。
そこで考えたのが、
「Teamsのようなチャット形式でメールを読めたら、もっと自然に理解できるのではないか?」
というアイデアでした。
2. 原文を削らず、読み方を変える
最初に立てた仮説は、メールの読みにくさの原因は文章そのものだけでなく、表示構造にもあるのではないかというものでした。
メールをAIで要約すれば、短時間で内容を把握できるかもしれません。
ただ、重要な業務メールでは、
「要約で重要な情報が抜け落ちていないだろうか?」
と気になり、結局原文を確認したくなることがあります。
そこでMail Chatでは、AIによる要約ではなく、原文の情報をできるだけ維持したまま、表示形式だけを変えることにしました。
例えば、
- メールを古い順から新しい順に並べる
- 送信者ごとに左右の吹き出しで表示する
- 本文の改行や箇条書きを維持する
- 宛名、挨拶、署名も基本的にそのまま残す
という設計です。
目指しているのは、AIに業務の判断を任せることではありません。
人間自身が内容を理解し、判断しやすくするUIを作ること。
これがMail Chatの中心にある考え方です。
3. 大きな構想から小さなMVPへ
開発当初は、もっとTeamsに近いUIを考えていました。
例えば、メールの件名をチャット名にしたり、件名変更やCC追加をイベントとして表示したり、添付ファイルをメッセージに紐づけたりする構想です。
しかし、これらをすべて実装する前に、確認すべきことがあると気づきました。
そもそも、メールをチャット形式にすることで本当に読みやすくなるのか?
この仮説が正しくなければ、機能を増やしても意味がありません。
そこで、まずは価値検証に必要な機能だけに絞りました。
現在のMVPは、Outlookの右側にあるTask Paneで動作し、メールのやり取りをチャット形式で時系列表示します。
また、業務メールを扱うため、読み取り専用とし、メール本文を独自サーバーに保存したり、AIに送信したりしない設計にしています。
4. 一番難しかったのはチャットUIではなかった
実際に開発してみると、意外なところが難題になりました。
それは、「どのメールを同じ会話として扱うのか」という問題です。
最初はOutlookのConversation情報を利用すれば、簡単に実現できると考えていました。
しかし、実際の業務メールにはさまざまなケースがあります。
- 会話の途中で件名が変更される
- 過去のメールに返信して会話が分岐する
- CCに新しい人が追加される
- 3人以上でメールをやり取りする
- メールが転送される
こうしたケースでは、単純に件名やConversation IDだけに依存すると、期待した会話構造にならないことがあります。
そこで現在は、Microsoft Graphを利用してメールを取得し、返信関係を示すメールヘッダーなども参照して、会話を再構成する方式にしています。
実際のOutlookアカウントを使い、20通続く会話や、件名変更・返信分岐・CC追加・転送などを検証しました。
結果として、想定していた主要なケースで、メールを時系列にまとめて表示できるところまで実装できました。
チャットの吹き出しを作ることより、正しいメールを集めて会話としてつなげることの方が難しかった。
これが開発を通じた大きな発見でした。
5. 実際に作ってみた。でも需要があるかは分からない
技術的に動くMVPは完成しました。
ただし、作れたことと、他の人が使いたいと思うことは別だと考えています。
自分自身はチャット形式の方が会話を追いやすいと感じていますが、それだけでは、このアイデアに需要があるとは判断できません。
そこで現在は、同じ7通の架空の業務メールを、
「通常のメール表示」と「Mail Chat表示」
で比較できるWebデモを公開しています。
このWebデモは実際のOutlook画面そのものではなく、比較用に作成したものです。
インストールやMicrosoftアカウントへのログインは不要で、ブラウザから試すことができます。
Mail Chat Webデモ
https://happy-water-078f5ac10.1.azurestaticapps.net/demo/index.html
本当に他の人にも読みやすいのかを知りたいので、Outlookを仕事で使っている方に、ぜひ比較していただきたいです。
「Mail Chatの方が読みやすい」という感想だけでなく、
- 普通のOutlookで十分だと思う
- あまり違いを感じない
- こういう機能があれば使いたい
- 実際のOutlookでも試してみたい
といった意見も歓迎しています。
Webデモ内には感想を送れるフォームも用意しています。
おわりに
最初は、「メールをTeamsのような会話システムにする」という大きな構想から始まりました。
しかし、実装を進めながら本当に検証したい価値を絞った結果、
「原文を削らず、読み方を変える。」
という小さなMVPになりました。
まだこのアイデアが他の人にも役立つのかは分かりません。
まずは実際の反応を集めながら、今後も開発を続けるべきかを判断していこうと思います。
最後まで読んでいただき、ありがとうございました。
