あなたがビジュアルデザインのスキルに欠けるプログラマーである場合、グラフィックデザイナーとペアを組んだり、すべてのプログラミングを行ってから特定の作業を行うのに最適なものは何ですか?
私は会社の仕事の前にインディー開発者として長い間働いていましたが、予算とスケジュールが厳しく、出荷する必要がある場合は後者をお勧めします。
問題は、前もってデザイナーと仕事をするのが理想的であることですが、特に優れたデザイナーである場合、コラボレーションのオーバーヘッドは莫大になる可能性があります。優れた設計者は、すべての詳細を取りこぼします。ただし、多くの場合、設計はすべての詳細を最後のすべての機能に伝えません。すべてのモックアップの行間を読む必要が生じる可能性があり、実際の設計者が微妙でありながら非常に重要なワークフローの決定に関しては誰なのかが不明確になり始めます。
事前にデザイナーと協力する
トリッキーなことは、この美しい最終製品のようなモックアップをPhotoshopで細心の注意を払って作成するデザイナーを取得する可能性があることです。
これらの場合の問題は、ドロップシャドウ、ボタンのベベル/丸み付け、またはフォントのアンチエイリアスをPhotoshopの外観に一致させるために、すべての時間を費やしてしまうことです。
理想的には、ソフトウェアデザインとデザイナーのグラフィックデザインの両方が一緒に進化するため、デザイナーが「ナプキンに走り書きする」ようなゆるいデザインを非常にゆるく、大ざっぱな状態に保つように、デザイナーから始めてみるといいでしょう。非常に協力的である必要があり、最初からこれまで以上に協力的である必要があります。あなたもデザイナーも、デザインを進化させ、最初の「スケッチ」からかなり逸脱することをいとわない必要があり、「ルーズスケッチ」を非常に重視する必要があります。
PhotoshopやIllustratorのレンダリング機能と一致させないように、事前にいくつかの制約を設定することも良いでしょう。たとえば、使用しているGUIツールキットが何であれ、その実用的なレンダリング機能、外観、 GUIキットの機能(および推奨される使用法/レイアウト)に一致するように設計者をトレーニングします。
設計を一致させるためにGUIキットと戦っている場合、システム制約の設計者を前もって訓練するか、GUIキットを捨てる必要があります。 。理想的には、設計者は実際にGUIキット内で設計をスケッチしますが、ツールによっては実用的である場合と実用的でない場合があります。
後期デザイナーとの作業
これは、請負業者とのやり取りを明確にする必要があり、作成したアーキテクチャによって創造性が制限されているために起こると思います。
これは必ずしも悪いことではありません。優れたデザイナーは、厳しい制約から素晴らしいものを作ることができます。スーパー任天堂のスプライトデザイナー、エイドリアンを作ったリドリースコットなどのように、厳しい制約のもとでうまく機能することもあります。デザインに刻印。
3番目のオプション:デザインスキルを開発する
私は恐ろしいUIデザイナーですが、あまり裕福なプログラマーではなく、UIデザイナーを買う余裕がないこともあります。
また、私の経験では、10年以上かけて何人かのデザイナーを経験した後でも、専用のものを使用した場合のコスト(時間とお金の面)について良い印象を与えませんでしたが、マイレージはそれぞれ異なります。ここの一部の人々はデザイナーとの素晴らしい経験があったようですので、それはちょうどその会社の設定であったかもしれません(すべてのプログラマーはそこのデザイナーと一緒に働くことを嫌っていて、大部分はうるさい詳細に余分な時間を費やすと見ました)。
だから、私はいつも自分のデザインスキルを少しだけ開発しようとしました。私の小さなアプリの1つの例:
設計に関しては良い反応が得られましたが、それはユーザーが私をflatめているだけかもしれませんし、このアプリケーションは少し技術的だからです(オーディオと画像とビデオを使ったビジュアルプログラミング)。うまくいけば、私はそこでちょうど自分自身を恥ずかしく思わなかった(私はそれが合理的だと思うが、それは単に「プログラマーアート」かもしれない)。
それがあまりにも恐ろしく見えないなら、私は鍵が私の限られた設計スキルで働くことだけであるとわかります。私はそれがとても恐ろしいので、選択のハイライトなどのために2つまたは3つ以下のメインカラーを持ついくつかのダークグレーのような最小限のパレットを使用します。派手なダイアログですが、可能な場合はスクロールしないでください。基本的に、私は自分が何をしているのかわからないという事実を隠すために、できる限りのことをしています。
通常、本当に目障りな開発者のデザイン(私の目だけでなく、ほとんどの人にとって)を見たとき、プログラマーはおそらくデザインの面で私より悪くはなく、おそらくはるかに優れていますが、野心的すぎます。彼らはいたるところに派手なグラデーションをつけて、非常にカラフルなデザインを作ろうとしていますが、それを実現するには多くのスキルが必要です。一握りの色を慎重に選択して控えめなデザインを作成すると、物が飛び出すようになりやすく、デザインスキルはほとんど必要ありません。
それはすべて私が見るように組織です。私のデザインは実際には見栄えがよくないかもしれませんが、機能と結びついているため、すべてをレスポンシブ、高速、低メモリ、スタッターフリーに保つなど、プログラマーとして簡単に集中できることに焦点を当てています。それは肯定的な反応を得るようですが、私は知らない。
もう1つは、キャンバスやビューポートなどのメインフォーカスエリアがあるアプリケーションで作業する場合、ここで信じられないほどミニマルなデザインに驚くほど寛大になるということです。以下では、メニューとダイアログを最後まで保持しましたが、ユーザーは「デザイン」があまりないにもかかわらず、少なくともそれを嫌うようには見えませんでした(「スタート」スタイルのメニューとトップレベルメニューとドッキングできる基本的なポップアップダイアログ):
ここでは、ビューポートを基本的なメニューやアイテムで装飾するだけで、自分が何をしているのかわからないという事実を隠しましたが、中央のアートワークは、「デザインの介入」なしではちょっとおもしろく見えます。そのため、これらの場合にデザインを本当に抑制し、ユーザーの作業の美しさを際立たせることができます。
...少なくともインディのオーディエンスで十分にうまくいくソフトウェアを設計することはそれほど難しくありません。ソロのときは大企業と競争しないのが普通なので、人々は私のデザインに多くの余裕を与えてくれているのかもしれません。それでも、デザイナーとあなたの意図をより良く伝えるためだけに、少しだけデザインスキルを開発する価値があると思います。上記の画像を使って自分でジャッカスを作ったかもしれませんが、そうでなくてもそれほど悪くないのであれば、これらの基本的なデザインを作るのに正式なトレーニングや時間はまったくかかりません。必要なのは抑制です。