https://zenn.dev/bowtin/articles/9353e50e7ce743

チャットボットはOOUIの原則に反している!?

最近、いろいろなサービスでチャットボットを見かけるようになりました。当社でも数週間前に、社内問い合わせ用チャットボットが導入されました。使っていてふと思ったのですが、実はチャットボットの特性は非常に不思議です。

近年、GUIといえばOOUI設計が王道とされがちですが、よく見てみるとチャットボットはOOUIの原則に則っていないように見える場面があります。 そもそもチャットボット=GUIでは無いだろうというツッコミはその通りなのですが、せっかくなので今日は、何故チャットボットがオブジェクト指向ではないにも関わらず、UIの世界でチャットボットが許容されているのかを、UIの歴史とともに考察していきたいと思います。

OOUIのおさらいと、チャットボットへの問題提起

まずOOUIではオブジェクトが操作の起点になります。 OOUIに関する有名な書籍を出版されている上野氏のブログ記事には以下のようなフレーズが書かれています。

釘を打つ時、我々はまずハンマーを持ち、それから振り下ろします。
振り下ろしてからハンマーを持つ人はいないのです。

つまり「操作の対象物」が先に来るべきであり、「対象物に対してどんな操作をするのか」が後に来るということです。 これはたしかに、物理世界におけるモノの操作方法と同一であり、OOUIがGUIの王道とされるのはたしかに納得が行きます。

しかしチャットボットにおいては、「○○したい」「XXはどこ」等、動詞が主体の問いかけが頻繁に行われます。

実物で見るOOUI vs. タスクベース

ではここで実物を見て比較をしてみましょう。

amazon.co.jpの注文履歴

以下はAmazonの注文履歴ページです。これは典型的なOOUIが採用されています。

このときのユーザの操作は以下のようになるはずです。

しっかりと、対象注文オブジェクトをキャンセルするという順序になっています。お見事なOOUIです。