🦔

何故デザイナーの私がエンジニアリングをしていきたいのか

2021/12/16に公開

UIデザイナーをしている@tosiiuです。University of the Peopleという大学でコンピューターサイエンスを学んだりもしています。最近はデザイナーながらもエンジニアリングに近い分野で色々やり始めているので、何故私がエンジニアリングにチャレンジしているのか少し書いてみます。といってもエンジニアリングの分野においてはへなちょこなので生暖かい目で見ていってください。

規則的で構造的なデザイン

従来に比べ、規則的で構造的なデザインが出来るツールがここ数年で増え、更にそれらが脚光を浴びる機会も増えています。
Schema2021で紹介された↓の概念を用いるとこの流れはより分かりやすいです、

従来、UIデザインに使われていたフォトショップやイラストレーターはfreeformなツールといえます。それに対し、近年用いられているFigmaやXDはStructuredなツールといえます。そして最近注目を浴びているUXPinはCodeにより近いデザインツールでしょう。更に、デザインファイルを作り込みすぎずデザイナー自身がコード書くデザイン手法も見られ始めています。
この流れから、構造的、規則的なデザイン手法は今後もより注目されていくと考えています。(もちろん一方でfreeformなデザイン手法も存続していくと思っています)
このようなコードの概念をGUIに落とした機能(またはコードそのもの)を用いてデザインを行うにはエンジニアリングの知識や概念の習得が不可欠だと感じています。

Figmaでのデザインに感じるある種の虚無さ

Figma上でデザインできるのはUIのいち瞬間を切り取ったスクリーンショットでしかありません。Figma上で作られたプロトタイプもあくまでそれらを繋いだものでしかありません。Figmaでデザインファイルを作ること=インターフェイスを作ることのように思ってしまいますが、それはユーザーインターフェイスでは無くあくまで模型なのです。これはFigmaが悪いわけでもなんでもなく、むしろそれがFigmaの気軽さを生み出していると思います。
しかし、自分がコードが書けないために本来模型に費やすべき工数を超えて作業をしなければならないとき、私はそこにどうしても虚無さを感じてしまいます。
私は↓のnoteを読んで、このことを明確に意識するようになりました。

驚くべきことに、このプロセスにおいて UI デザイナーは UI をデザインしていない。実行結果の ”理想としての絵” を見てUI をデザインをしているのは、ソフトウェアエンジニアなのだ。
コードに触れずに完全に網羅的にUIをデザインすることは不可能なのではないかとすら思います。
UI トレースは何をトレースしているのか|ai|note

自分がコードを書けるようになれば、Figmaに必要以上の工数を掛けてイメージを伝える必要がなくなり、より効率的にデザインが出来るようになるのでは?と思っています(それでもデザインツールは必要になると思っていますが)。そして自分がコードを書くことが出来れば、より網羅的にUIを設計することができ、よりUIに対して責任を持つことが出来るのではないかと思っています。

新しい技術のデザインにおいてエンジニアリングへの理解は必須

技術への理解なしにUIをデザインすることは不可能なのではないかと私は考えています。これを聞くと一般的なUIデザイナーは技術をそこまで理解していないのでは?と思われると思います。なぜグラフィック出身の技術に詳しくないデザイナーがWebやモバイルネイティブ(iOS, Android)のUIデザインを出来ているかといえば、それらの技術が既に一般化した技術であり、意識的に技術を学習せずとも既にユーザーとして最低限理解しているからだと考えています。
これは言い換えると、まだ一般化していない新しい技術のUIをこれまでのデザイナーがこれまで通りにデザインをすることが出来ない(しても良いデザインにはならない) と言えます。

このツイートにもある通り、コンピューターが何を出来て何を出来ないかがある程度分かっていないと要件定義が出来ません。完全にUI上の要件が決まりきってから、UIデザイナーが清書だけするような場面を除くと、多かれ少なかれUIデザイナーも仕様に関する意思決定を行うので、これはUIにも同じことが言えると思っています。
新しい技術領域の例としてWeb3を挙げると、クリプト関連の大まかな概念や仕組みや使われ方を理解せずにdAppsのようなプロダクトをデザインすることは不可能だと思っています(というよりもこの節はクリプトを見てて感じた内容です)(私も理解浅いので例示が下手)

体験設計はデザイナーだけのものではない

最低限度のユーザビリティが確保されたUIでは、最も体験に影響を及ぼすのは多くの場合速度だと思っています。どれだけ良いUI設計をしようと、コンテンツを用意しようと速度が遅ければ体験は最悪です。@fladdictさんも速度の重要性についてnoteで述べています。
サービスにおいて速さこそが神である|深津 貴之 (fladdict)|note
ユーザー体験において超重要な速度ですが、エンジニアリングを理解していないデザイナーはUXを冠していようと、ここに手出しすることは出来ません。
ここでは速度を例にとりましたが、このようなケースが多くあるように感じます。そして、その中には、エンジニアリングの領域でとても体験に影響するが、エンジニアもデザイナもそれに気づいていない箇所があったりすると感じます。
より体験設計を理解し、より体験設計に責任を持てるようになるためには、やはりエンジニアリングへの理解が必要だと感じています。

デザインとエンジニアリングは完全に分離できない

過去の歴史を見ると、初期のインターネットやコンピューターの設計にはデザイナーは介在していなかったでしょう。初めはUIデザインの職務をエンジニアが担っていたが、それが段々と分離していったというのが私のUIデザイナーの興りへの解釈です(間違ってたら教えてほしい)。この流れは前述の、技術を理解していなければデザインすることは出来ないことにも起因していると思います。
私はUIデザインがそもそもエンジニアの職務だったことからも、デザインとエンジニアリングは完全に分離できないと考えています。
これは最近のデザインエンジニアの流れからも見てとれるのではと思っています。技術が一般化したことにより、一時期デザインとエンジニアリングは完全に分離しかけたものの、プロダクトを作るにはデザインとエンジニアリング両方を理解している存在がやはり必要という文脈で、デザインエンジニアがここ1,2年注目されているのではないかと思っています。

おわりに

なんか色々と主観的なこと書いてしまいましたが、一言で言うとデザイナーがエンジニアリングやると超楽しそうだし良いこといっぱいそうだからやりたい!!!!!!!!!!!!!!!!!! というだけです。

最後に、UIデザイナーとエンジニアリングについての大好きな記事をおすすめしておきます。
UI トレースは何をトレースしているのか|ai|note
OOUIとこれからのデザイナーの歩むべき道. ジュニアUIデザイナーに求められる能力について改めて考えてみました。 | by KeijiroToyoda | Medium

Discussion