最近の仕事では、デザインからエンジニアリングまで包括的に担当させていただくものが多くなってきました。
僕は、tha社が掲げている、
各人それぞれがデザインやエンジニアリングの境界なく統合的なものづくりを行っていくことを理想としています。
というポリシーが好きで、Lucky Brothers & co.もそのスタイルに少しずつ近づけている現状を嬉しく思っているところであります。
さて、デザインとエンジニアリングを両方やっていると、ある共通項があることに気が付きました。クオリティを高めるにあたって意識すべき共通のルールです。それは、例外をできるだけ作るな ということです。
エンジニアリング(プログラミング)の設計において、できるだけ最小単位のモジュールに落とし込み、そのモジュールを組み合わせるだけで成立する設計というのが、一般的に美しい設計です。
ところが実際には、自然界の事象はそうそう上手くパターンに当てはめられないケースが多く、どうしても例外的にif文を1行追加する なんてことがちょこちょこ発生してきます。こうした例外的な処理をいかにうまくごまかし、モジュールの中に当てはめられるか、というのはプログラマのセンスが問われるところかと思います。
そして、これはデザインにも同じことがいえます(特にWebデザイン)。マージンのpx値や配色、レイアウトのルールは予め決めておき、なんならデザインガイドラインなんてものを作って、最後までそのルールに則ってデザインを作り上げることができれば、それはもう美しいデザインになっていることでしょう。ところが、デザインも同じように、「ここだけはどうしてもうまくハマらないから例外的にマージン広めで‥!」なんてことが出てきちゃうんです。ここでも、いかに例外を例外っぽく見せず、あくまで統一したルールの中に収まってるように見せられるか、というのがデザイナーの腕の見せどころなのでしょう。
優秀なデザイナーの本を読んでいると、毎日規律正しく判を押したような生活をされている方が多いように感じます。これは、ビシっとルールに当てはめられたものを作るという職業の性質上、普段の生活リズムでも例外を許さないようにしているという心の表れなのかなと思いました。