OOUIとこれからのデザイナーの歩むべき道
ここ2, 3年でOOUIという言葉が日本のUIデザイン界隈でかなり普及しましたね。それにかこつけたタイトルをつけてしまいましたが、Web/UIデザイナーを志望する人も増えている中、「OOUIの理論はわかったけど、では結局何を学べばいいんだろう」ということを考えている人も多いと思ったので、ひとつそのテーマでブログを書いてみることにしました。
先に結論をはっきりさせておくと、ジュニア層のUIデザイナーはソフトウェアエンジニアリングを学び寄り添うべきであるということをこの記事では主張します。
その背景や論拠とするところなど、自分の考えていることを書いていけたらと思うので、お付き合いください。
前提
ソシオメディアさんでOOUIが紹介されたのはもう3年半も前ですが、以降OOUIという単語・思想は様々な記事で紹介されるようになり日本のUIデザイン業界でその認知度を高めてきました。
先日『オブジェクト指向UIデザイン──使いやすいソフトウェアの原理』(ソシオメディア株式会社・上野学・藤井幸多 著、技術評論社、2020年)が発売され、その存在感は増すばかりです。
OOUIとはなんぞやというのは内容・分量ともに日本語の原典とも言える上記の記事 or 書籍を読んでいただけたらと思いますが、「UIデザインにおいてアプリケーションのデータモデルを意識して画面遷移を組む」という点がポイントだと思っています。
そしてこれは新しい理論ではなく、普遍のGUIデザインの方法であると自分は理解しています。上記のソシオメディアさんの記事でも冒頭で以下のように述べられています。
「オブジェクトベースのUIモデリング」というデザイン手法は、GUI アプリケーションをデザインする際の基本的なテクニックであり、今さらそこに名前をつけるのもおかしいほど、ソフトウェアのデザイナーであれば十分に習得していなければならないものだと考えています。
では、なぜ今このタイミングでOOUI理論が大きな反響を得ているのでしょうか。その理由を自分は以下のように考察しました。
推測を多分に含みますが、UIデザイナーという職種・UIデザイン業界の歴史とともにざっくり追ってみます。
UIデザイン業界黎明期
具体的にはWindows95以前の時期に当たるでしょうか。
UIデザインを専業とする人がほぼ存在しなかった時、UIデザインを行っていたのはエンジニアであったことは想像に難くありません。なので、この時代に思想を持ってUIデザインをしていた人々はOOUIの実践に関してハードルは非常に低かったと思われます。
もちろん、この時代に世に送り出されたソフトウェアの多くはUIデザイン自体がきちんと開発フローに組み込まれず、そのような思想は反映されなかったものが多いとは思いますが。
UIデザイン業界発展期
インターネットビジネスの発展とともにUIデザインを専業とする人々が増え、業界が生まれました。その数は現在に至るまで増え続け、今後も一定の伸びを見せるのは間違い無いでしょう。
Windows95によってこの発展期が始まり、さらにもう一つの契機であるiPhone以降にモバイルUIも爆発的な発展を遂げました。
2010年代でデザイナー:エンジニア比率が以下のように伸びたという図はあまりにも有名です。
さて、ここで増えたUIデザイナーというのはどこからやってきたのでしょうか。もちろんエンジニアから転身したという方もいるとは思いますが、給与水準などを考えてもそれが割合として多かったとは考えられませんし、残念ながらソフトウェアネイティブな人材がピクミンのように地面から生えてくるわけでもありません。
ここでUIデザイナーとなったのはグラフィックデザインの世界にいた・グラフィックデザインに興味があった人々だと思われます。デザインといえばビジュアルのことであるというのはいまだに根強い思想ですので、UIデザイナーを採用する際にそのような素養のある人々が対象になり、この業界にやってきたと見るべきでしょう。
しかし、グラフィックデザインあるいはその近接領域にいた人々にOOUIという思想は難易度の高いものだったでしょう。通常エンジニアしか知り得ないアプリケーションの内部構造に従ってデザインをするOOUIなどというのは、まるで全く知らない言語に触れるようなものです。
また、デザインのためにPhotoshopのような複雑なツールを使いこなさねばならない以上、ソフトウェアに寄り添う時間を彼らが確保するのも難しいことです。Sketchの登場以降、Symbol機能がデザイナーとソフトウェアの距離を一定縮めたのかなとは思いますが。
自分もまさにこのような形でUIデザインに携わるようになった人間です。元々は絵を描くのが好きで、DTPデザインをはじめ、その延長線上の心算でWeb、UIデザインの世界にやってきました。
しかしUIデザインで一定の経験を積んだ今思うのは、自分のようなデザインへの入り口はOOUIの思想や、もっと拡張するとWebの思想とはかなり遠いところに存在するために苦しい思いをしたな、ということです。
こちらのnoteで言及されていることにも、非常に共感しました。
私は UI デザインのことが好きなのに、UI デザインの方は、デザイナーの私ではなく、エンジニアが好きだったのだ。
そう理解したとき、大きな喪失感が私を襲った。
このように、業界の拡大とともにUIデザインとソフトウェアの世界は遠ざかったと言えるのではないでしょうか。
現在のムーブメント
さて、最初の問いへのアンサーになりますがなぜ今OOUI理論が大きな反響を得ているかというと、発展期においてソフトウェアから遠ざかってしまったUIデザイン業界をあるべき姿に戻そうとする揺り戻しの動きなのだと思います。
定性と定量の狭間に位置し、良くも悪くも曖昧さを許容してきたUIデザイン業界ですが、今そこに明確に線を引こうという動きを感じています。
自分はこの動きをとてもポジティブに捉えています。例えば、マークアップができずmarginとpaddingの違いがわからないデザイナーがWebのデザインをするのは厳しいものがあると思います。
それと同様に、UIデザインをするときにアプリケーションのデータモデルのような根っこの部分と仲良くすることが、より良いデザインをするための近道であるのは間違い無いと思います。
もちろん自分がエンジニアリングにおいては雑魚なので偉そうなことをいえた口では無いのですが、よりエンジニアリングに寄り添うことがより本質に近づくことだというのは強く感じています。
今後のUIデザインワークフロー
ここまで過去と現在の話をしました。未来の話をしましょう。最近『火の鳥』を読んだのでめちゃめちゃな順番にしたくなりますがグッとこらえて時系列で行きます。
友人のエンジニア曰く、
UIデザインは主にその差分管理と言う文脈からやっぱりいずれはjsonのような形で管理されないといけないと思っていて、そうするとUIデザインツールはビジュアルプログラミングになるか、UIコーディングになるかどっちかに倒れると思っている。そのどっちかだったらUIコーディング(これは主にReactのことと思ってもらって大体良い)に倒れる可能性が高く、そうなるとまあ普通にエンジニアリングの素養がないデザイナーが触れるような領域ではなくなるよねと思っている
という論があり、差分管理がUIデザインの本質なわけではないので若干過激なものの、なるほどと思わされました。
バージョンという意味の差分でなくとも、現状の課題の一つとして、実装されたComponentとFigma(のようなデザインツール)のComponentの間には、人が管理する以上差分が絶対に生まれてしまって、それに苦しむのも非常にナンセンスだなと僕も思っています。
そもそもスクラップ&ビルドを前提としてモックを作成するツールとUIデザインのマスターを管理するツールが同一だというのが諸悪の根源だと思うので、将来的にStorybookとFigmaのいいとこ取りをしたようなすごいデザインマスター管理ツールができたりしないかな〜などと思いますが、これは今触れるには深すぎる話題なのでやめましょう。
この論を正しいとすれば、現在のUIデザイナーという職種はやはりエンジニアリング側に寄っていくということになります。
usagimaruさんのnoteで提案されていたように役割がエンジニア寄りとそうでないものに分割されていく、とも言えるかもしれません。
すなわち、フロントエンドUIデザイナー と バックエンドUIデザイナー という役割に二分してみるのはどうだろうか、という妄想です。
フロントエンドUIデザイナーは、世間で一般によく認識されているいわゆる「UIデザイナー」の呼び方を変えたものです。グラフィックデザインの能力に長けており、特に表層〜骨格に関わる分野のスペシャリストということになります。
バックエンドUIデザイナーは私が勝手に新設してみました。UIの特に構造的な部分を設計する役割になります。ソフトウェアの仕組みをある程度知っていて、それを表層に届けるまでの間においての構造的な情報デザインを担うスペシャリストという役割です。エンジニア/デベロッパー上がりのUIデザイナーはこちらがはまる可能性が高いかもしれません。
個人的には、フロントエンドUIデザイナーが職種として成立するかはわからないのですが、バックエンドUIデザイナーという存在にメインストリームは寄って行く気がします。
結論
さて、ここまで一貫して「ジュニアUIデザイナーはエンジニアリングを学び寄り添え」と主張してきました。これが僕の狭義の結論です。
それは具体に落とすとまずは「Webのマークアップを学べ」という話になりますし、ステップアップして「DB設計をしてみる」「簡単なアプリケーションの実装をしてみる」などと言った話になるのだと思います。(なんか色々な話を持ち出しましたが、僕が言いたいのはこのシンプルな主張です。)
しかし人には得意不得意、好き嫌いがあります。エンジニアリングが苦手だったり自らの仕事としたく無かったり、という人もいると思います。
それでは、そのような人々はUIデザインを生業とすべきでは無いのでしょうか。それは半分正解で半分正解でないと思っています。
どういうことかと言うと、エンジニアリングを学ぶことによって伸びるUIデザイナーの戦闘力というのは、アプリケーションを作るときに活かされるものです。要求・要件のもとにプロダクトを作るときのみに活かされるものなのです。
しかし、デザインという営みはそもそもなんだったでしょうか。初心に帰ってみると「課題の提起と解決」であったことを思い出しますよね。
ですからデザインという営みの本質は、要求・要件の後にあるのではなく、むしろ要求・要件を組み立てるところにあるはずです。エンジニアリングを指向しないデザイナーはここにフォーカスすればいいのです。むしろマクロな課題にフォーカスする分、デザイナーのあるべき姿とも言えるでしょう。
しかし、今この役目は誰が担っているでしょうか?それはデータ分析やビジネス戦略、UXに強みを持つPMやPO、小さな会社であればCEOが担っているでしょう。課題解決は雰囲気でできるものではありません。今挙げたようなようなスキルセットが何かしら必要になってくるはずです。
そのようなスキルセットを身につけ、課題解決にコミットする人材になった時あなたの肩書きは「デザイナー」という括りに収まらないものになっているでしょう。その上で、シニアデザイナーとしてさらに上流でミッションにコミットするのものいいですし、マルチなスキルでPMその他職種で活躍するのもいいと思います。確実に言えるのは、そのような選択の自由が生まれているということです。
これが「半分正解」と書いた理由であり、自分の広義の結論です。あくまでこの記事でフォーカスしたのはUIデザインの「制作」という側面であり、ジュニア層が主に担当することになる業務についてです。
しかし、このようにして制作レイヤーで「一人前」になることは、より早く上流工程に登るための近道になるはずです。あなたが組織の中でデザインの真価にコミットする時、こんなキャリア論のブログは野暮なものになっているでしょう。
終わりに
自分がCCOを務める株式会社Flatt Securityではデザイナーを募集しています。その条件において、「Webのコーディングができること or その意欲があること」を非常に重視しているのですが、その理由を書こうと思ったら思ったより長々とした文章になってしまいました。
ちなみに、こんな文章を書くと誤解されそうですが、自分自身はデザインの現場において定量的でないこだわりを持つ人はとても好きです。カーニングやpx単位での調節はもちろん、「ものづくり」ということに情熱を注げるようなデザイナーと働きたいなと常々思っています。
最後に、自分もジュニア層であるゆえに浅い思考から導き出してしまった結論や歴史的な部分に関する考察など、誤っていると感じられる部分もあると思います。その様な部分に関してはご意見・ご指摘いただけたら非常にありがたいです。
また、 Kotaro Kokubo さんには深夜に通話を繋いでまで文章に丁寧なレビューをいただきました。ありがとうございました。なお、レビューをいただいただけであり、この文章がkotarokさんの主張を代弁するものではありません :-)
ここまで読んでいただきありがとうございました。
文章の内容に共感いただけましたら是非シェアしていただけると嬉しいです!
ポジションに関して
宣伝として、ポジションに関する説明も書かせてください…
募集中のデザイナーポジションはサイバーセキュリティという特殊な業種で2人目のデザイナーとしてプロダクト開発・マーケティング・ブランディングなどデザインが関わる全ての領域において上流に携わって思う存分仕事をすることができます!
週3以上出社可能であれば業務委託やインターンの形でも問題ありません。
興味がある方はお問い合わせフォームもしくは自分のツイッターまで!お待ちしております。
改めて、ここまで読んでいただきありがとうございました。