37signalsのデザイナーであるRyan Singerさんの講演『UI Design on Rails』では、デザイナーの立場からRailsを用いた開発の心構えについて話されていました。
このなかでRyanさんが強く仰っていたのは、「歩み寄り」でした。デザイナーは開発者が当然としている知識を身につける必要がありますし、開発者はそれをサポートする必要があります。また必要最低限のことを知る/教えるだけでなく、より深いところまで理解することがプロジェクトを円滑にする秘訣でもあります。
ティップス
主たる内容は「歩み寄り」というシンプルなものだったのですが、Railsの開発でデザイナー/開発者が何をする必要があるか、具体的に考えてみました。
アプリの構造について知る
Railsなどのフレームワークでは構造を持っています。Railsプロジェクトと呼ばれるフォルダは、appフォルダやpublicフォルダ、configフォルダなどいろいろなフォルダを内包しています。これらについて最初からひとつずつ説明するのは難しいので、おそらくapp/、public/の役割について説明をはじめたほうがよさそうです。
Ryanさんはまずデザイナーにとって身近なViewからはじめて、Controller、Modelと進んでいくのがいいのではないかと仰っていました(Modelは必須ではないですが)。
テンプレートの記法を知る
テンプレートの記法(Railsで言えばERB)は、HTMLに直接関わる基本的な部分になります。いまはブログのテンプレートなどを作られるデザイナーさんが多いので、MTないしWordPressなどのテンプレートと一緒という説明でも問題ないのかもしれません。
ヘルパーを知る
テンプレート内にロジック(ログインしていたらアイコンを表示する、とか)を書くとわかりづらくなり、メンテナンスがしづらくなるので、極力このようなロジックをヘルパーに追い出したりします。
Rubyの簡単な文法を知る
ヘルパーに大方のロジックを追い出したとはいえ、簡単なロジック(ifなど)がテンプレートに入るケースもあるかと思います。こういうときのために簡単な文法を覚えておくと便利です。
ソースコードを共有する
SVNやgitなどで開発者間のコード共有は当たり前のことになっていますが、デザインのコードはまた別の管理形態を取ることも少なくありません。後でこれらをマージするのではなく、最初からソースコードを共有し、デザイナーにも全体像を掴めるようにしておきましょう。
また共有されたら、開発者同様、デザイナーもバージョン管理でコミットできるように。質疑でもありましたが、Ryanさんが困ったときはだいたい開発者のみなさんが助けてくれるそうです。
Ryan Singerさんのバックグラウンド
Ryanさんは37signalsに参加する前は、フリーランスのデザイナーとして活動されていました。入社後はBasecampをはじめ、Backpack、Campfire、Highriseなどのプロダクトのデザインを担当し、Railsの開発者であるDHHさんとともにサイト開発を行っていたようです。






