UIの組合せ最適化

1. はじめに

 製品開発においてダイバーシティ生産やカスタマイズ生産が昨今話題になっている。従来(現在においても同様であるが)のマスに向けた大量生産・マス生産では、問題に対して、デザイナーがデザイン・設計を行い、均一な生産を経て、多くの人が同じものを使用する構造になっている。

 そのため、その人に合わないものや合わない考え方も無理やり自らを当てはめて使用することを仕方無しに行っていた。

 しかし、昨今ではAIや機械学習をはじめにソフトウェア技術の向上により、個々人の問題に対して、ソフトウェアが個別に作り、3Dプリンターなどにより、多様な生産を可能としている。これにより、個人に最適化された製品を使用することが可能になり、その人の個性や能力を活かせる可能性が広がっている。

 筆者が行った自転車フレームのカスタマイズ生産のシステム「Neural Bike」もこうした考えのもと製作に取り組んでいる。

 このように、製品開発においてはダイバーシティ生産やカスタマイズ生産が広がっているが、一方でスマートフォンのアプリケーションやWebサイトのUI(=User Interface)においては、ソフトウェア領域であるにも関わらず、こうした考え方が全く考慮されていないことが圧倒的な多数である。

 アプリやWebサイトのUIは、主にUIデザイナーと呼ばれるデザイナーなどが、ユーザーの行動や思考などをペルソナと呼ばれるサービスの典型的なユーザー像を仮定する手法などを行いながらデザインを仕上げていく。つまり、そこで作られるデザインや機能は典型的なユーザー像に向けられたものであり、そうして作られた典型的なユーザー像に向けたデザインを多くの人が自分をフィットさせながら使用することとなる。つまり、UIデザインのデザイン過程は、製品開発における従来のマス生産の生産過程や考え方と同様である。

 筆者はUIというソフトウェアの領域にあるにも関わらず、前時代的なデザインアプローチを取る過程に疑問を感じ、そうしたUIに関しても、個々人の特徴や求めるものに最適化されたデザインを提供する仕組みが重要になると考え、今回の文章を執筆している。本文では、あくまで問題提起と思いつきの解決策提示に留まる。今後、プロトタイプを作り、実験を行いながら考えをより深めていきたい。

2. UIの共通性

先述のようにアプリやWebサイトのUIは、サービスごとにUIデザイナーがUIをデザインし、その後エンジニアが実装を行っていく。そこでのデザインはサービスごとに表面的には多種多様であるが、基本的なパーツ形状や配置、導線のデザインは同様であることが多い。例えば、以下のUIは左からCrowd Works,Twitter,Instagramであるが、表面的なデザインは異なるが、基本的なパーツ形状や配置、導線のデザイン構造は変わらない。

以上は一例に過ぎないが、基本的には以下の画像のようなUIパーツが同様の配置でデザインが行われることが多数である。

ユーザーは老若男女多種多様であり、利き手など身体的差異や、野球好きのユーザー・サッカー好きのユーザーといった思考的差異などユーザーは多種多様である。もちろん、サービスを使う年齢層や性別はサービスごとに固有の層があるが、その中でも実はかなり細分化できるのではないか。こうした細分化に対して、個別最適化を行い、使わない機能は隠れ、必要な機能だけをメインに表示、左利きの人は左に重要なパーツの配置など上図のUIパーツを最適配置を行いながら、個別に最適化されたUIをデザインすることは今後の可能性として重要ではないかと考える。

3. 組合せ最適化

 UIの最適化デザインに当たっては、組合せ最適化の考え方が応用可能であると考える。組合せ最適化とは、応用数学領域などでの組合せ論の最適化問題であり、膨大な組合せパターンを検証することなく、最適な解の導出に貢献する。

 組合せ最適化の例として、実務で頻出な例の一つのナップサック問題を紹介する。ナップサック問題は、

「容量 C のナップサックが一つと、n 種類の品物(各々、価値 pi, 容積 ci)が与えられたとき、ナップサックの容量 C を超えない範囲でいくつかの品物をナップサックに詰め、ナップサックに入れた品物の価値の和を最大化するにはどの品物を選べばよいか」という整数計画問題である。

つまり、ナップサックの容量Cに入る中で、総価値の最大化を可能とする品物はどれかを導出する問題である。

今回の記事のテーマであるUIデザインに関しても、個々人の特性や思考の制約条件下で、満足度を最大化するUIパーツや導線の組合せ最適化および最適配置と捉えれば、同様の課題であると考える。

以下の数式のように、上から変数、目的関数、制約条件に関して、個々人の条件から定式化を行い、その解を導出しながらデザインを行うことで個別に最適化されたUIデザインが可能になるのではないか。

例えば、変数ではUIの各パーツの位置を、制約条件として、身体的差異や思考的差異などを設定し、目的関数では個人の満足度をあげ、最大化を行う。ここで用いる個人の満足度の指標やデータの取得方法に関しては議論の余地は大きくあるが、可能性として提示したい。

3. さいごに

本記事は当サイトが重視する客観性という視点をやや欠いた文章となってしまったが、今後重要になる考え方であることは必ずと言えるだろう。最後に再び主観であるが、デザイナーがサービスのコンセプトに合わせたロゴやパーツを作成し、基本的な導線や機能を配置したあとは、以上のように機能やデザインの配置や導線に関して、ソフトウェアに個別最適化を行わせることが本当の意味でUser Experienceなのではないだろうか。こうしたUIのデザインを行うよりも、デザイナーはコンセプトに合わせたロゴやパーツの作成や、UIのモーションの心地よさ改善などに主眼をおいていくことが今後は重要であると考える。(こちらも個別最適化になるかもしれないが)こうした仮説は、先述のようにプロトを作成し、実験をしながら検証していきたい。

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る