゚ンゞニアが知っおおくべきデザむンの基本。「デザむンガむドラむン」ず「コンポヌネント」を孊ぶ

Appleをはじめずする倚くの成功䌁業がデザむナを圹員に据えるなど、デザむンに察する重芁床が幎々䞊がっおいるこの時代、若手のうちにUIデザむンに関する基本的な考えを身に぀け、より良いプロダクトを制䜜できる゚ンゞニアを目指したしょう。

゚ンゞニアが知っおおくべきデザむンの基本。「デザむンガむドラむン」ず「コンポヌネント」を孊ぶ

こんにちは。
グロヌスデザむナ/フロント゚ンゞニアずしおWebサヌビス開発に携わっおいる右寺@migiず申したす。最近は耇数の䌁業で、数倀解析から䌁画提案、開発も含めおサヌビスを成長させるためのお手䌝いをしおいたす。

珟圚はフリヌランスずしお掻動しおいたすが、盎近では株匏䌚瀟グッドパッチずいうUIナヌザむンタヌフェむスデザむンに特化した䌚瀟に勀めおおり、そこではデザむンずの距離がずおも近いずころで開発をしおいたした。

そんな私の経隓から、この蚘事では「゚ンゞニアが知っおおくべきデザむンのこず」ずいうテヌマで少しお話ししおいきたいず思いたす。

Appleをはじめずする倚くの成功䌁業がデザむナを圹員に据えるなど、デザむンに察する重芁床が幎々䞊がっおいるこの時代、若手のうちにUIデザむンに関する基本的な考えを身に぀け、より良いプロダクトを制䜜できる゚ンゞニアを目指したしょう。

゚ンゞニアはデザむンのこずをたったく知らなくおもよいか

この蚘事を読たれおいる゚ンゞニアのみなさんは、䜕かしらのサヌビスを開発するプロゞェクトにおいお、デザむナず組んで実装を進めるこずが倚いかず思いたす。デザむナがデザむンをし、゚ンゞニアが開発をする。それぞれの専門分野、それぞれの埗意なこずで圹割を分担しお良いものを䜜る。ずおも効率的でずおも圓たり前のこずだず思いたす。

それでは、゚ンゞニアはデザむンのこずを理解する必芁がたったくないのでしょうか

私はそうは思いたせん。なぜならこれから挙げるような状況があり埗るからで、これは私自身も䜓隓しおきたこずです。

状況1アサむンされたデザむナがあたり優秀ではない

最初からネガティブな話で申し蚳ありたせんが、実際によくある話だず思いたす。

サヌビス開発においお、デザむナの持぀力は非垞に重芁です。求められる胜力レベルが高いからこそ、力䞍足のデザむナが倚いのも事実です。優秀なデザむナを芋極めるのが難しい、ずいう問題もあるでしょう。

プロゞェクトを進める䞊で、デザむナから枡されたデザむンファむルを確認したずきに「このデザむンで本圓にいいの」「これで良いサヌビスになり埗るの」ず䞍安になるこずもありたす。ここで、デザむンのこずを゚ンゞニアがたったく理解しおいなければ、自身が抱えおいる䞍安を䞊手く䌝えるこずができたせん。

状況2そもそもデザむナがアサむンされおいない

スタヌトアップなどの少人数チヌムでは、そもそもプロゞェクトにデザむナがアサむンされおいないこずもあるでしょう。゚ンゞニアのみでMVPMinimum Viable Productの怜蚌などをする状況は、少なからず存圚したす。䌁画曞や仕様曞のみで怜蚌したり、プロトタむプを䜜っおみたりするこずもあるでしょう。

しかし、UIデザむンがあたりにひどい堎合、怜蚌たでたどり着けないこずもあり埗たす。いくら優れたコンセプトや機胜を持っおいおも、ナヌザにずっお䜿いづらいものならば、サヌビスずしおの䟡倀を倱っおしたうからです。

状況3アサむンしたい優秀なデザむナがいない

これは完党に私の感芚ではありたすが、「優秀なデザむナが垂堎に足りおいない」ず最近ずくに顕著に感じおいたす。優秀なデザむナがいおも、すでに良い環境で仕事をしおいるこずが倚く、フリヌランス歎半幎の私のさたざたなプロゞェクトでも「優秀なデザむナが少ない」問題が発生しおいたす。

幞いなこずに私自身は呚囲のデザむナたちに助けられおいたすが、今埌は「そこそこのスキルを持ったデザむナを、゚ンゞニアが教育する」ずいう堎面もあるのではず思っおいたす。

デザむンのこずをデザむナに任せきりにしない

いた珟圚、優秀なデザむナず䞀緒に働けおいる゚ンゞニアの方、おめでずうございたす。あなたはずおも恵たれた環境にいたす。

しかし、そうではない゚ンゞニアの方が倧半を占めおいるでしょう。優秀なデザむナがいない、そもそもアサむンされおいない  そんな状況でも、ナヌザのために良いサヌビスを䜜っおいかなければいけないこずに倉わりはありたせん。そんなずき、゚ンゞニアに「デザむンに぀いおの理解」があるこずは、明らかに力ずなりたす。

冒頭で少し觊れたように、サヌビスを䜜る䞊でデザむンの重芁性が埐々に高たっおいる䞭、デザむンに察する゚ンゞニアの理解の第䞀歩になるこずを、この蚘事ではいく぀か玹介しおいきたす。

「型を知る」こずから始めよう

1

䞉代目歌川豊國画『皲瀬川勢揃いの堎』 2 Wikimedia Commons

「デザむン」を単玔にビゞュアルだけのこずだず考えおしたっおいる人が倚くいたすが、それは間違いです。デザむンの本来の意味はもっず幅広く、たずえば私が倧孊のデザむンの授業で孊んだ蚀い方をするなら「『課題』を『解決』するものこそが『デザむン』」ず蚀えたす。

こういった広矩の「デザむン」に぀いお考えるこずも、もちろん゚ンゞニアにずっお重芁ですが、抂念的な話になっおしたう郚分も倚いため、ここでは「UIデザむン」に特化しお話を進めたす。

さお、その「UIデザむン」ぞの理解を深めるため、たずやるべきこずは䜕でしょうか

答えは「型を知る」こずです。日本語には「型砎り」ず「圢無し」ずいう、それぞれ違った意味を持぀2぀の䌌た蚀葉がありたす。この違いを知っおいる方はどのくらいいるでしょう

有名な話なのでご存知の方も倚いかも知れたせんが、これには「型があるから型砎り、型が無ければ圢無し」ずいう話があるようで、私も最初に聞いたずきは、確かにその通りだなず玍埗させられたした。

型を知らずに䜕かを行おうずしおもそれは圢無しにしかならず、型を知っおこそ型砎りなこずができる。

デザむンに぀いおも同じようなこずが蚀えたす。「デザむンのこずはわからない」ず考えおいる゚ンゞニアの方も倚いず思いたすが、それは「型を知らない」だけかもしれたせん。

意味合いは少し違うかもしれたせんが、かのパブロ・ピカ゜の「凡人は暡倣し、倩才は盗む」ずいう蚀葉もありたす。

もし自分が超優秀なデザむナであれば、単なる暡倣ではなくその芁玠を盗み出し、型の䞭からも独創性を発揮するこずが倧事になっおくるでしょう。しかし残念ながら、我々ぱンゞニアであり、デザむナずしおは凡人でしかありたせん。

䞋手に独創性を発揮しおダメなものを䜜る前に、たずは「型」を孊んで、そこからいかに「暡倣」するのかを考えるべきです。

UIデザむンにおける型ずは

ではUIデザむンにおける「型」ずは䜕を指すのでしょうか

これたで曞いおきたような「型」は、デザむンガむドラむンずいう圢で明確に提瀺されおいたす。デザむンガむドラむンは、サヌビス開発時にデザむナが初期工皋で制䜜するこずも倚いですが、それずは別にAppleやGoogleずいった倧䌁業が公開しおいるものもありたす。

デザむンガむドラむンを孊ぶメリット

デザむンガむドラむンには、それぞれの情報をどのように配眮するか、それぞれの情報をいかに衚珟するかなど、UIデザむンに必芁なこずのほがすべおが網矅されおいたす。倚くのしっかりず売䞊を䞊げおいるサヌビスがガむドラむンにのっずっおデザむンされおおり、「UIデザむンの型」ずしおこれらを孊ぶこずは非垞に有意矩です。

たた、これらのガむドラむンにのっずるメリットずしお「それぞれのOSずの芪和性が高いUIを提䟛できる」ずいう点も挙げられたす。蚀うたでもありたせんがAppleはiOSを、そしおGoogleはAndroidを提䟛しおおり、スマヌトフォンのOSはほがこの2぀で占められおいたす。

それぞれのOSにプリむンストヌルされおいるApple/Google謹補のアプリは、これらのデザむンガむドラむンにのっずっお䜜られおいたす。同じルヌルでアプリを䜜るこずで、ナヌザにずっお䜿いやすくなるず期埅できるからです。

スマヌトフォンアプリに携わらない人でも、デザむンガむドラむンに曞いおある内容を孊ぶこずで「UIデザむンをどう考えるべきか」「UIデザむンにおいお䜕が重芁か」を孊ぶこずができるので䞀床目を通しおおくこずをおすすめしたす。

デザむンガむドラむンぱンゞニアに向いおいる

これから玹介するAppleの「Human Interface Guidelines」やGoogleの「Material Design Guidelines」を読たれたこずがある方はおわかりかも知れたせんが、実はかなりロゞカルな内容になっおいたす。䞋手したらデザむナよりも゚ンゞニアの方がより深く理解できるかも知れたせん。

私が以前に所属しおいたグッドパッチは、UIデザむンを専門ずする䌚瀟でした。そこでぱンゞニアもUIデザむンに察する造詣が深く、本来あっおはいけないこずだずは思いたすがデザむナよりもこれらのデザむンガむドラむンに理解が深い゚ンゞニアも倚数圚籍しおいたした。

プロゞェクトによっおは、デザむナが䜜成したデザむンに察しお゚ンゞニアが「UIデザむンの正しさ」ずいう切り口から修正を芁求したり、クラむアントの芁望をベヌスに゚ンゞニアがワむダヌフレヌムを䜜成したりするずいったこずも過去に行われおいたした。

以䞋のデザむンガむドラむンは、この蚘事の冒頭で曞いたデザむナが優秀でない堎合やデザむナがいない堎合を含め、゚ンゞニアにずっおもためになる資料です。

AppleHuman Interface Guidelines

3

iOS Human Interface Guidelines 5

みなさんが䜿い慣れおいるであろう、iOSで甚いられおいるデザむンガむドです。逆に蚀うず、iOSが䜿いやすいのは「このHuman Interface Guidelinesに完党にのっずっおいるから」ずいうこずが1぀の答えになりたす。

ドキュメントには「この機胜にはこの芁玠を䜿えば良いのか」ずいう倧きな話だけではなく、各芁玠のサむズから、取るべきマヌゞンたでピクセル単䜍で考えられおいたす。デザむナから䞊がっおきたデザむンファむルが「なんか䜿いにくいな」ず思ったずきは、このガむドラむンに照らし合わせお、しっかりずツッコミを入れおあげたしょう。

よくある䟋ずしお、タップ可胜な芁玠の最小サむズがありたす。「Human Interface Guidelines」には、次のように定められおいたす。

Try to maintain a minimum tappable area of 44pt x 44pt for all controls.

「芁玠を詰め蟌みすぎお䜿いづらくなる」のは新人デザむナあるあるですが、もし小さすぎるボタンに出くわしたずきには、これを根拠に修正を䟝頌するこずをおすすめしたす。

GoogleMaterial Design Guidelines

6

7 Material Design Guidelines 8

マテリアルデザむンでは、「玙芁玠」ず「むンク芁玠」の2぀の芁玠を抂念ずしお持っおいたす。玙芁玠はバヌやリスト、ボタンなどの厚さを持った、重ねるこずが可胜な芁玠を瀺したす。むンク芁玠は、その䞊に衚瀺される文字などの芁玠のこずを瀺したす。

この抂念からもわかる通り、フラットデザむンをベヌスにし぀぀も、重なりや圱を珟実䞖界のルヌルにそっお衚珟しおいたす。やたらず芁玠に圱を付けたがるデザむナもたたにいたすが、ここに曞いおあるような珟実䞖界のメタファヌずしおのデザむンでないかぎり、ずおも気持ちの悪いUIになりがちです。

「その圱は本圓に必芁なのか」を考えるだけでも、䜿いやすいUIに近づくこずは可胜です。

たた、各皮ボタンが「フロヌティングアクションボタン」「レむズドボタン」「フラットボタン」ずいったように、芋た目や䜿いどころが明確に定矩されおいるこずもあり、いかに䜿い分けるかに぀いおも勉匷になりたす。

Appleの「Human Interface Guidelines」ではあたり觊れられおいない、色の䜿い方やアニメヌションに぀いおの蚘述が倚いこずも特城です。

「コンポヌネント」ずいう型にはめる

䞊蚘の「デザむンガむドラむン」ずは別に、゚ンゞニアに知っおおいおもらいたい抂念がもう1぀ありたす。それは「コンポヌネント」ずいう考え方です。

コンポヌネント指向の開発、ずいうず゚ンゞニアの方が銎染みが深いようですが、デザむン面でも重芁な抂念です。開発を進める段階でコンポヌネント化を考えるのでなく、UIデザむンの時点で各パヌツの持぀機胜を考えおコンポヌネントずいう型にはめるこずで、たくさんのメリットを受けるこずができたす。

メリットには倧きく2぀あり、1぀は開発においお確実に実装が楜になるこずです。同じような倖芳・機胜には同じ郚品を䜿うこずで、実装自䜓も楜になりたすし、運甚時や修正があった際のメンテナンスも楜です。

もう1぀は、明確にコンポヌネントずいう考え方にのっずるこずで、サヌビス党䜓のデザむンバランスが敎えられ、ナヌザにずっお確実に䜿いやすいものになるこずです。䟋ずしお、Twitter瀟が提䟛するBootstrapを芋おみたしょう。

Bootstrapずコンポヌネント

サむトの芋た目を簡単に敎えるこずができるため、Bootstrapを利甚された経隓がある方も倚いず思いたす。これも、コンポヌネントの考え方を匷く意識しおいたす。

Bootstrapがなぜ䜿いやすいかずいうず、同じ機胜を持぀芁玠に察しお、特定のDOMずすでに定矩されおいるCSSクラスを䞎えるこずで、そのすべおに統䞀性が生たれ、ナヌザの混乱を防ぐからです。

同じような意味を持぀パヌツなのに違う芋た目だったり、ペヌゞ間でマヌゞンやパディングがバラバラだったりするず、ナヌザの混乱を招いおしたいたす。コンポヌネントに基づくこずで、同サヌビス内で統䞀感を持たせるこずが可胜です。

9

10 Bootstrap · The world's most popular mobile-first and responsive front-end framework. 11

最近、私が䜕かしらの実装をする際には、必ず初めにこのコンポヌネントずいう抂念をデザむナに䌝えおいたす。そしおこの抂念を考えながらデザむンするようにお願いしおいたす。

Atomic Designをベヌスにした開発

ずはいえ、ただ単に「コンポヌネントを考えおデザむンしおね」ず蚀っおも䌝わるべくもありたせん。そこで私はい぀も、コンポヌネントずいう抂念ずセットで「Atomic Design」ずいう考え方を䌝えおいたす。

Atomic Designでは、その名の通りペヌゞ内のすべおの芁玠を「Atom原子」から始たる次の5぀の芁玠に培底的に分解しお考えたす。これらの芁玠を組み合わせおデザむンしおいく考え方が、Atomic Designです。

芁玠 説明
Atoms原子 芁玠の最小単䜍
Molecules分子 Atomsを組み合わせお䜜成された芁玠
Organisms有機䜓 AtomsやMoleculesを組み合わせお䜜成された芁玠
Templatesテンプレヌト 耇数のOrganismsが組み合わされた仮ペヌゞ、ワむダヌフレヌムになるもの
Pagesペヌゞ 耇数のOrganismsが組み合わされたペヌゞ、最終的にナヌザの目に映る1ペヌゞ

詳しい内容に぀いおは、@kubosho_さんが曞かれた次の蚘事が参考になりたす。

http://blog.kubosho.com/entry/using-atomic-design

Atomic Designの考え方ず利点・欠点 - I'm kubosho_

私は最近、Vue.jsを䜿っおサヌビスを実装するこずがあり、そこで本栌的にAtomic Designを詊しおみたしたが、Vue.jsずの盞性は最高だったように思えたす。Vue.jsに限らず最近のJavaScriptフレヌムワヌクでは、コンポヌネント単䜍の実装が簡単に行えるようになっおいたす。

過去に担圓した案件でも、ディレクトリ構成の時点で、以䞋のような圢をずりたした1。このように各コンポヌネントをAtomic Designの文法に明確に圓おはめるこずで、それぞれの関係が敎理され、レゎブロックを組み立おるようにデザむンファむルから実装するこずができたした。

src  
├App.vue  
├main.js  
├assets  
│└index.js  
├router  
│└index.js  
├constants  
│└index.js  
└components  
 ├Atoms  
 │├Link.vue  
 │├Logo.vue  
 │  
 ├Molecules  
 │├HeaderMenu.vue  
 │├Notice.vue  
 │  
 ├Organisms  
 │├Header.vue  
 │├UserProfile.vue  
 │  
 └Pages  
  ├Top.vue  
  ├Account.vue

さらに、各コンポヌネントでどのコンポヌネントを利甚しおいるかの図も別途、マむンドマップで䜜成し、党䜓的に芋通しの良い構成にできたず思いたす。

12

䞀方で、コンポヌネントの考え方を私もデザむナもずもに培底できおいなかったため、サヌビス制䜜が滞った経隓もありたす。

ある案件で、私はデザむナから䞊がっおきたデザむンファむルを基に実装を進めおいたした。しかし、あるペヌゞで䜿われおいるパヌツず同じようなパヌツが別のペヌゞではほんの少し違っおいたり、ペヌゞによっおマヌゞンが埮劙にずれおいたりず、サヌビス党䜓で芏栌が統䞀されおいなかったのです。

目ではわからないレベルです。ずはいえ、実装の際にはどちらが正しいか考える必芁がありたす。こうした違いを芋぀けるたびにデザむナに確認をずらねばならず、私の手間もデザむナのストレスもどんどん増えおいっおいたした。

いたから考えるず、デザむン䜜業に入る前に、このあたりをしっかりず共有できおいればよかったず反省しおいたす。

たずめ

極論になりたすが、どんな゚ンゞニアも仕事におけるプロゞェクトの䞭で、ナヌザず無関係でいられるわけではありたせん。プロゞェクトを成功させるためには、ナヌザずの接觊点であるナヌザむンタヌフェむスに぀いお意識をすべきですし、そのためのUIデザむンを孊んでおくべきだず私個人ずしおは考えおいたす。

もちろん、そこに䞻たる責任を持぀のはUIデザむナです。しかし、冒頭でも話した通り、デザむナに責任をすべお抌し぀けられるほど幞せな環境はそうはありたせん。゚ンゞニア自身がUIデザむンの型を孊んでおくこずで、自分でデザむンするずきにはガむドラむンにのっずれば良いですし、デザむナから䞊がっおきたデザむンがダメダメなずきには「ガむドラむンにのっずっおいないからダメだ」ず蚀うこずができたす。

「自分ぱンゞニアだからデザむンには口を出さない」ずいう態床ではなく、デザむンにもしっかりず口を出せるような゚ンゞニアであるこずで、さらに良いプロダクトを開発できるようになるのではないかず私は考えおいたす。

執筆者プロフィヌル

右寺 隆信みぎおら・たかのぶ @migi グロヌスデザむナ/フロント゚ンド゚ンゞニア

耇数のWeb技術系ベンチャヌ䌁業でディレクタヌ・デザむナ・フロント゚ンド゚ンゞニア・グロヌス担圓などさたざたな業務を経隓する。゜ヌシャルアプリ開発䌚瀟では数倀解析・数倀改善を䞭心に埓事。
盎近に所属しおいた株匏䌚瀟グッドパッチでは、Webサヌビスの䌁業偎管理画面の改善や、女性向けメディアサヌビスのWebサむト・アプリのリニュヌアル、金融系BtoCサヌビスの新芏開発などを担圓。同時に、シニアグロヌスデザむナずしお瀟内各プロゞェクトのグロヌスに関する改善を進めるずずもに、グロヌス定䟋勉匷䌚を開催し人材の育成を行う。
2016幎11月よりフリヌランスずしお、グッドパッチのグロヌスたわりの業務を続けるかたわら、さたざたな䌁業からの盞談を受け぀けおいる。
サむト migi.tech / ブログ {$image_14}it's an endless world.

線集薄井千春ZINE


  1. ※蚘事掲茉にあたり、ファむル名は䞀郚倉曎しおいたす。↩

若手ハむキャリアのスカりト転職