技術と魚

雑感と備忘録

製品のUXはデータベースに支配されている

数年前までSalesforceのUIについて「まじデザインやべえし一体どこが良いねん」とずっと思っていたのですが(とか言うと怒られるか..)、最近は「なんという洗練されたデザインそして体験設計!」と思うようになりました()


SoRなシステムにおいて、ユーザのタッチポイントは、フロント以外にありません。なので、UXは良いフロントの設計に支配されていると思われがちではないでしょうかね。というか私も数年前までそんな感覚でした。でも最近は正反対に、「UXはデータベースに支配されている」と考えています。

なぜそのように考えるかとう言うと、これまで出会ったシステムや、私がこれまでデリバリーしたサービス・機能における成功・失敗の経験から考えると、結果的に長期に渡り使い/使われたものは、触っている間にデータ構造が脳内に構築される体験があるからです。

データ構造と言っても、ユーザの脳内に作られるのはDB内のテーブルの定義よりも少し単純で、抽象的・意味論的なものです。「良いシステムだ」という体験は、この"ユーザの脳内に出来上がるデータ構造"と、"データベースに定義された構造"との間のギャップが少ない場合に限り存在するように感じます。(私は長らく、いわゆるデータベースの三層スキーマの考え方における一層目の"概念スキーマ"という言葉について「何言ってんのこいつ」状態だったのですが、おおよそ同じものを指しているのだと恥ずかしながら最近ようやく腑に落ちました)

データベースに支配されていると書きましたが、あくまで一つの条件と思っています。例えば、ユーザ目線は必須ですし、ビジネス目線がないとお金にならないものになることもあります。でも、上記を考えるに仕様を考える人間(PdMなど)は、データベースに関する理解をしておいたほうが、良い解にたどり着きやすいかもしれません。 ※ データのことだけしか考えずにシステムを作ると、ほぼ頻度ゼロのアクションが前面に出てきたり、すぐやるべきアクションが遠くにあったり、謎の部分に課金ポイントがあったりするかもしれません。

まあぶっちゃけデータベースと脳内スキーマの距離が遠く、間に何層もwrapされまくっていても論理的には成り立つとは思うんですけれども、いちソフトウェア開発者としてはそのような状態の場合、負債がすごい勢いで溜まってかつ属人化し、工数がパンクするか、継ぎ接ぎのヤバい何かに到達し死んでしまうので、ほぼ必須の話と思ってます。