Tortoise Shell

Webサービスの会社で働くデザイナーが、デザインやライフハックについてゆるく書き連ねるブログです。

UIデザイナーがコードを書くこと

わたしはエンジニアではないけれど、コードを書いて、何かをつくるのが好きだ。

一時期は、仕事でもフロントのコーディングまで関わっていたが、言われがちなのは「越境している」「デザイナーなのにコードも書くなんて偉い」ということだ。

褒めてもらえるのは嬉しいけれど、そんなことを言われると、少しモヤモヤしてしまう。

わたしにとっては、コードについて学ぶことも、UIデザインの一部だと考えているからだ。

UIデザインというと、Web業界ではすっかり「Webやスマホアプリの画面の見た目をつくること」という印象になってしまった。

しかし、わたしのUIデザインの定義は「人とシステムのより良い関係性をつくること」である。

そう考えたときに、どうすればそれを成しえるだろうか。わたしの仮説では、次の3つに精通することが大切だ。

  1. 人について知る
  2. システムについて知る
  3. 人とシステムをうまくつなげる方法を知る

当たり前だけど、人とシステムは違う。システムはコンピューターの理屈で成り立っていて、とても論理的なのだけれど、人は多くの場合そうではない。

だから、システムの挙動をそのまま人に伝えても、人はシステムをうまく使いこなすことができない。

システムの挙動を人に分かりやすいように、使っていて楽しいように変換してあげる。

これがUIデザイナーの仕事であり、UIデザインの醍醐味ではないだろうか。

UIデザイナーとして関わった機能が、世の中にリリースされ、ユーザーに喜んでもらえるのは最高に嬉しい体験だ。

ところで、昨今のUIデザインの勉強法といえば、「Daily UI」や「UI模写」などが挙げられる。

Daily UIは、コンセプトアート的なビジュアルを作ることで、人が「美しい」「楽しい」と感じるような表現が訓練できる。

UI模写は、既に世の中に実際に出ているサービスのUIを模写することで、ビジュアルの持つ暗黙知を理解することができる。

しかしながら、わたしの意見としては、これらの勉強方法だけでは片手落ちだ。

というのも、人とシステムをうまくつなげるためには、さらにシステムについても知っておかなければならない。

Daily UIやUI模写は、とても役に立つ勉強法であるが、実際のUIデザインの現場では事情はもっとやっかいだ。

そのシステムを利用する人(ユーザー)について熟知し、システムそのものについて熟知し、その上で「人とシステムをうまくつなげる」ためのデザインをしなければならない。

昨今では、ユーザーインタビューやカスタマージャーニーといったUXデザインプロセスが広まり、1の「人について知る」方法は知られてきた。

しかし、2の「システムについて知る」になると、それはエンジニアの領域でUIデザイナーには関係ないと思われがちだ。

よくよく考えてみれば、そもそもシステムについて知らずに、どうやってシステムと人をうまく結びつけられるのかと疑問に思わないだろうか。

とはいえ、どこまでシステムについて知っていれば良いのか。結局は程度の話になってくるので、明確に線を引くことは難しい。

ひとつ確かなことは、

  1. 人について知る
  2. システムについて知る
  3. 人とシステムをうまくつなげる方法を知る

これらを完璧に熟知しているUIデザイナーなど、この世には存在しないということだ。そもそも、完璧に到達することなど無理なのかもしれない。

先ほど、システムについて知るべきだと言ったが、わたしも何ひとつ偉そうなことは言えない。

WebサービスのUIデザインを仕事にしているが、例えばそのWebサービスを作っている技術について、ほんの触り程度の知識しか持ちあわせていないからだ。

しかし、こうした無知の知を自覚できたおかげで、わたしがSketchやFigmaで作ってきたものが「UIデザインのための青写真」であると理解できた。

本当の意味でUIデザインをしているのはエンジニアだが、UIデザイナーが作るビジュアルがあることで、こういう方向を目指せばよいという指針ができる。

人は、文字よりも絵の方が、ものごとを分かりやすく把握できるからだ。

よく「実装されたものがデザインと違う」という言い方があるが、それは「ビジュアルを作ったら自分の仕事は終わり」というデザイナーの勘違いだ。

SketchやFigmaで作ったものなど、実際には「こうできたらいいな」という青写真でしかない。

ひょっとすると、エンジニアはただ面倒くさかったのかもしれないし、実装してみて初めて気づいた技術的な制約があったのかもしれない。

後者の場合であれば、デザイナーは、そこからどうしていくかを一緒に考えなければならない。

前述の「1~3」について完璧に熟知することはできないけれど、チームの英知を結集することで、優れたアウトプットにつなげることはできる。

UIデザイナーがコードを書くこと。それは、表面的なトレンドやあるべき論ではなく、わたしにとってはシステムを知ることに繋がる。

だからわたしは、これからもコードの勉強を続けていきたいと思う。