u42151496992730910318fm23gp0

いわゆる職種間の対立を引き起こすつもりはなかった。今日こんな記事を見るまでは。そう、これはプログラマーとデザイナーに関する記事だ。発端はこうだ。あるネットユーザーが某コミュニティでこんな質問を投稿した:

開発者がUIの指定通りにデザインを再現することを拒否する場合、どのようにして正確な再現の重要性を理解させ、コードを修正させればよいか?

開発エンジニアが「ここで1px動かすことに何の意味があるのか、なぜわざわざ時間を費やさなければならないのか」と何度も問いかけ、修正を拒否するとき、どうすればこの開発者に修正の重要性を理解させ、認識させられるか?

なぜ国内の多くのビジュアルデザイナーは、一見非常に細かく、あるいは取るに足らないとも言える——しかしデザイナーにとってはやはりとても重要な——細部のためにエンジニアを追いかけて修正させ、問題を一つ一つ列挙しても、エンジニアから前向きな返答が得られないのか?例を挙げると、同僚の話ではFrogのエンジニアはビジュアルデザイナーの仕事に影響を与えないよう、自らデザイン再現をチェックするソフトウェアを開発し、再現チェックと修正を行っているそうだ。

製品のデザイン実装をこれほど困難にしている背景の原因は何か?デザイナーがコードを理解していないからか?一部の技術者の美的意識の問題か?それとも大企業の考え方やその他の原因か?この状況はどう解決すればいいのか?どのような時代になれば、あるいはどのような契機があれば解決できるのか?

うん、予想通り、最も支持を集めた回答はこうだった。

紙面の都合上、全文はリンクをコピーしてブラウザでご覧ください。リンクは:http://zhi.hu/8lyF

この記事全体を通して、著者はデザイナーを執拗に誹謗し、からかっており、さらには話題をすり替えている。文中にはこう書かれている:

ソフトウェア開発にとって、プログラマーの仕事は必須だ。デザイナーの仕事は任意だ。

誰もデザインをしなくても、ソフトウェアは使える。実際、フラットデザインが主流の今日、多くの開発、例えばiOSでは、システム標準のテンプレートは見た目が良くないにしても、毛胚房(未完成の建物)というわけではない。しかし誰もコードを書かなければ、何もあったものではない。

仕事の重要性が、誰が誰の言うことを聞くかを決める。それだけのことだ。

うん、静電が読み終わった後の唯一の感想は:これはヤクザなのか、それとも自己評価が高すぎるのか?ユーザー層が回答の質を決めるというなら、私は少しも疑わない。このコミュニティに対してほんの少しの反感の感情を表す以外に、静電は現実のデザイナーと開発者の関係について、自分の考えと経験を少し書きたいと思う。

まず立場を明らかにすると、静電はデザイナーであり、コードとプロダクトを少しかじっている。

発端は1ピクセル、修正するのかしないのか?

責任感のあるデザイナーにとって、1ピクセルは彼らにとって重要かどうか。重要ではないと言うなら、静電はそれは合格なデザイナーではないと考える。なぜならそれはデザイナーの本職だからだ。

重要だと言う人もいるだろうが、この世に完璧なものなどない、まあまあ、直さなくても大したことじゃない、面倒なことはやめよう!と言う人もいる。

彼らが開発者に助けを求めてこの問題を直そうとしたとき、開発者はこう言うかもしれない:これを直すのは工数が大きい、時間がたくさん必要だ。それに1ピクセルの問題に過ぎないし、大きな影響もないから、直さなくていいよ。

プロダクトマネージャーは言う:我々の最終目標は製品の迅速なイテレーションを保証し、コア機能に問題がないことを保証することだ。1ピクセルは調整しなくていい、時間の無駄だから〜

面倒なことはやめよう、面倒なことはやめよう、面倒なことはやめよう!

このとき、割り切れるデザイナーはきっとそんなこだわりを放棄するだろう。心は納得いかないが、どうすることもできず、心の中で思う:直さないなら直さないでいいか、すべての物事は不完全なものだ。

時が経つにつれて、1ピクセルの問題はどんどん増えていく。最終的に、何百、何千もの1ピクセルの問題が積み重なったとき、ある日突然、ユーザーが言う:「このソフトウェア(ウェブページ)はどうしてこんなに醜いんだ?お前たちのデザインはどうなっているんだ?能力が足りないんじゃないか?」

デザイナーの周りの全員:「これはお前のデザインの問題だ、ちゃんとデザインできないのか?お前のレベルに問題がある!態度に問題がある!」

デザイナー:「…」

これは私たち全員の身の回りで起こっていることだと思う。最終的に、めちゃくちゃなソフトウェア(ウェブページ)がそのままリリースされる。市場の反応については、ご想像の通りだ…

このときデザイナーの心の中では、きっと一万頭の草泥馬(草泥馬=中国のネットスラングで「馬鹿野郎」の意)が駆け回っているに違いない。

ダメな製品は、無数の妥協と1ピクセルのズレの中から生まれる。今日のように製品の同質化が深刻な状況では、ユーザーは自然と界面が美しく使いやすい製品を選ぶ。

誰もデザインをしなくても、ソフトウェアは使える?

そう、使える。誰もデザインをしなくても、ソフトウェアは絶対に使える。ただ使っていてとてももどかしいだけだ。例を挙げると、人類がまだ太古の時代にいたとき、みんな生肉を食べていたが、誰もおかしいと思わなかった。その後、面倒を好むあるバカ(こんな言葉を使ってすみません、みなさんごめんなさい)がみんなに言った:「あのさ、実は火で焼いた肉のほうが美味しいんだよ」、当時多くの人が彼にこう言ったと思う:「お前、でたらめを言うなよ、生肉が美味いんだ、生肉を食べれば十分だ、焼いて食べるなんて面倒くさい!」。しかし最終のには加熱した肉が生肉に勝ち、結果として後に誰も生肉を食べなくなった。静電が言いたいのは、いい加減でもできないことはないが、いい加減では今日の人々の日々高まる審美のニーズを満たせないということだ。人々はただ飯を食べるだけでなく、満腹になるまで食べ、そして美味しく食べることを望む。

デザインが存在する価値もまた然り。知Xでの某氏の発言について——プログラムは必須で、デザインは任意だ——静電は「呵呵(ふん、笑わせる)」と言うほか、さらに嘲笑スキルを発動したい:「実はプログラムも必須ではないんだよ。だって飯を食うことこそ必須であり、生きることこそ必須なのだから。それ以外の何やかんやは、全部くそくらえだ!この仁兄(あなた)、私の言う通りだと思うだろう?」

デザイナーがコードを書き始め、プログラマーがデザインを試みるとき、あなたは何をしている?

実は1ピクセルの問題は根本のに問題ではない。デザイナーがデザイン稿を完成させ、デザインが緻密で、注釈が明確である場合、開発者がデザイン稿に従えば、再現度は非常に高く、基本的に80%から90%に達する。このときのいくつかの小さな細部について、静電はデザイナーの皆さんが積極的に開発者とコミュニケーションをとり、協調して問題を解決することを提案する。大多数の開発者は私たちが問題を解決するのを非常に喜んで手伝ってくれると信じている。一方で、コミュニケーションの過程で、デザイナーも開発者との協力の過程から、開発者がどのようにデザイン稿を再現するのか、コードをどう書くのか、レイアウトをどう合理的にするのか、どの場所で問題を回避できるのか、何を開発者と一緒に考えて解決策を見つけられるのかを理解する必要がある。

静電はAPP開発に携わる過程で、コンピュータに開発者と同じ実行環境(Xcode)をインストールし、gitを使ってコードを開発者のコードと同期させている。これによりソフトウェアの生成過程を理解するのに役立ち、必要なときには、ついでにスタイル調整のちょっとしたテクニックを学ぶこともできる。デザイナーにとっては、これでより多くのことを学び、デザイン稿の実現に役立つ。開発者にとっては、彼らはきっとあなたがそうすることを大いに歓迎するだろう。なぜなら身近に同じようにコードを少し書ける人がいて、問題を解決してくれ、問題を投げつけて放置するような人ではないからだ。こうして親友(好基友)が誕生するわけだ。

この過程で、非常に良い現象が起きている。あなたたちの関係が進展するにつれて、デザイナーであるあなたは、プログラマーが色を採取したり、簡単な画像の問題に直面したとき、非常に手軽に彼を助けることができ、さらにはphotoshopをインストールして、彼に簡単な画像処理をゆっくり教えることもできる。

こうして、相互協力と円滑なコミュニケーションが生まれる。このとき、あなたは何をしている?知Xで酸っぱい弾劾文を書いているのか、それとも際限なく相手を非難しているのか?

優れたデザイナーと開発者——コミュニケーションと相互理解

実は私たちはずっとコミュニケーションを強調してきた。コミュニケーションとは何か、双方の交流こそがコミュニケーションだ。一方的な説明で、もう一方が無関心なのは、コミュニケーションとは呼ばない。私たちは先ほど、デザイナーと開発者はともに道理をわきまえ、気が合わないということはないと仮定した。しかし万一、気が合わない相手だったら?あるいは相手がどうしてもこの1pxを直したがらない場合は?原因としては次のようなものが考えられる:

  • 1.デザイン稿が十分に慎重でなく、頻繁に変更される。デザイナーの皆さん、クライアントにものを作って吐くほど修正した情景を想像してほしい。
  • 2.デザイン稿が慎重で注釈も完全だが、それでも再現度が低く、我慢できないほど低い場合。そうであれば、コミュニケーションのほかに、能力と態度の問題があなたの前に立ちはだかる。初めての協働なら、コミュニケーションを試みることができ、双方の態度が悪くなければ、相手はたいてい協力してくれるものだ。もう一つの状況、これは皆が最も注目する問題だが、相手が極端に非協力的な場合、このときはPMや上司に中間者として調整役を頼み、うまく対立を解消する必要がある。覚えておいてほしい、このような状況では、デザイナーはあまり頑固になりすぎてはいけない。そうでなければ、どちらも譲らず、結果は両者とも痛手を負うことになる。
  • 3.デザイナーが前述のように相手を理解し配慮したにもかかわらず、相手が依然として極端に非協力的で、最終的に製品に問題が生じた場合、これはもはやデザイナーが解決できる問題ではない。あなたの上司やリーダーが状況全体をより深く理解し、判断してくれると信じよう。あなたがすべきことは、本職を完璧に、抜かりなくやり遂げることだけだ。最終的な製品の品質はもはやあなたがコントロールできるものではないのだから、自然に任せよう。他の形で自分自身の達成感を探そう。
  • 4.完全なバグフィードバックと品質管理の仕組みがなく、問題をプロセスの標準化に帰するのではなく、個人の認識の違いに帰している。
  • 5.コミュニケーションが不得手。デザイナーであるあなたが「直して直して直して」と言っているのは分かっているが、開発者は「…(あなたを無視している)」かもしれない。

私たちの愛しい開発者へ

  • 1.あなたがとても忙しく、毎日無数のコードに目を奪われ、無数のバグを修正しなければならないことは分かっていますが、私はあなたの苦しみを分かち合うために少しコードを学びたいと思っています。
  • 2.あなたがセンスのない低レベルなコードマニアではないことは分かっています。あなたの内面にはきっと完璧への追求があるはずです。
  • 3.コミュニケーションは双方向であることを理解してください。多くの場合、私たちはコードに疎いデザイナーに、どうすればより良くなるかを教えてくれるあなたが必要です。
  • 4.簡潔でエレガントで実行効率の高いコードがあなたの生涯の追求であることは分かっていますが、デザイナーと協力して1ピクセルの問題を修正するのも、もしかしたら楽しいかもしれませんよ?
  • 5. 私たちの最終的な目的は同じで、満足していただける製品を作ることです。たとえあなたの方が彼よりも才能があるかもしれませんが、デザイナーの専門性を信じてください。
  • 6. デザイナーは、インターフェース開発をより便利にするための小さなツールを、あなたのコンピューターにインストールするのを喜んでお手伝いします。
  • 7. 「プログラマーがPSを使えるなら、美術担当なんて必要あるのか?」といった、心を傷つける言葉はもう言わないでください。

自分自身へ——1ピクセルのために努力するデザイナー

  • 1. 自分に厳しくすることは、絶対に間違いありません。自分のすべてのデザイン案とすべての1pxを真剣に扱ってください。
  • 2. もしクライアント側の理不尽な客にひどい目に遭わされたことがあるなら、今度はあなたがクライアント側として「受注者」をどのように扱っているかを考えてみてください。
  • 3. 1ピクセルの調整が1回で済むなら、2回は調整しないでください。何度も調整を繰り返すようなら、開発者に謝ってから、自分で調整する方法を学ぶのがよいでしょう。
  • 4. 簡単なコードを学んでみてください。実はそれほど難しくなく、むしろ楽しいものです。エンジニアに頼んで、あなたのコンピューターに開発環境をインストールしてもらいましょう。彼らは喜んで手伝ってくれるはずです。
  • 5. 私たちの最終的な目的は同じで、満足していただける製品を作ることです。たとえあなたの方が彼よりも才能があるかもしれませんが、開発者の専門性を信じてください。
  • 6. 未来は職業間の区分がますます曖昧になると信じてください。あなたはまさに、コードが書ける凄いデザイナーであり、もしかするとデザインがわかるプロダクトマネージャーです。みんなを羨ましがらせてやりましょう。
  • 7. すべての開発者は可愛くて善良な人たちだと信じてみてください。もし前の文を信じられなくても、探し続けることを諦めないでください。

最後に、私は仕事に真剣で誠実で、向上心があり、目標を持っているすべてのデザイナーと開発エンジニアを愛しています。