Vitaly's WebLog
Writing on software development and all related

Is it time for software developers to master in graphic design?

November 6, 2007

UI is important because it affects the feelings, the emotions, and the mood of your users.

Joel Spolsky

Graphic design of user interface becomes more important in todays applications than ever. It is obvious that software vendors experience increasing expectations on how their applications look. Good graphic design is traditionally thought as a need for public web sites, games and this kind of software, for which it is important to make good impression to a user from the first sight, to keep him/her using this software. And what is interesting, it also becomes important for applications that are used day to day, where graphic design played not so important role traditionally. Users chose such applications for their functionality not for design. But, as we all know, competition is increasing dramatically in software industry, and that seems leading to higher standards that include good graphic design. So, it is one of the branches of software evolution.

Windows 3.11 User Interface

Windows 3.11

Windows Vista User Interface

Windows Vista

Although all above written concerns not only graphic design of software applications, but also user experience, I will focus on graphic design mainly in this post.

For some reasons, there are people that see good design and that do not see it. It is another topic why that happens and why it is important to have good graphic design even for people that do not see it. Unfortunately, the number of such people among software developers is quite high. The more a one is technically oriented the less likely he has good taste in graphics. You may notice that there are graphic designers for such kind of tasks. That is right. But, unfortunately, is not possible (or not effective) always. Firstly, there are tasks may be done without graphic designer if software developers has some understanding of how to do it nice, and that is pretty easy to obtain such skill even for a non-design guy. Second, is that for some projects it is not effective to have graphic designer working on project because "junction point" with developers may be not too smooth.

Software giants that create new technologies also push developers to master graphic design basics. How many of hardcore C++ programmers of twenty century knew what a color gradient is? Now it is one of the basic parts of UI design in WPF. We also see that the gap between development tools and graphic design tools is reducing; this is clearly seen in Expressions Blend or in Flash.

So, it all leads me to a belief that it is a time for a good software developer to think about obtaining some graphic design skills. It may become a must in a mainstream programming, if it is not yet. I'm seriously thinking that I should start asking questions on this topic on interviews, when we are screening potential employees for our company.

Some advices for software developers at last:

  1. Do not forget about graphic design of your app. Graphic design is a necessary part, as well as validation logic, for example, or error handling. It may be simple design. Just select several colors that suit each other end use them all over the app. The easiest is to use analogous colors – different tones of the same color. Or you may learn technique of selecting color combination on color wheel. Or just use ready color palettes that you easily may find in google. Do not forget about icons. It is very hard to draw own icon, but, fortunately, there is lot of free ones on web, so spend some time searching and selecting good icons.
  2. Read a good book on user interface and graphic design. It worth investing you time in reading some of such books.
  3. Do not forget about user experience. Read Microsoft UX guidelines if you did not do this yet.
  4. Do not forget about installer and splash screen. This is face of you app and must look attractive.

    


Related posts

Comments

November 6. 2007 13:48

Trackback from DotNetKicks.com

Is it time for software developers to master in graphic design?

DotNetKicks.com

November 6. 2007 18:43

This post inspired some thought that's too long to post here, so I posted it on my blog.

The quick and easy solution that you think of immediately is that all Software Developers need to learn some graphic design skills. After all, who creates the application? Software Developers. Simple right? Or is it? Not always... Are Software Developers the best ones to learn Graphic Design and UI Design?

http://pietschsoft.com/Blog/Post.aspx?PostID=1421

Not All Software Developers Need To Be Graphic Designers

November 8. 2007 12:57

In short: no. Use time wisely on coding the application well. It certainly wouldn't hurt to learn more about graphic design, UI design, and usability issues in general but software developers should be worry about good code.

Good design is hard. Just like in software where some people get it and others just don't (no matter how much you teach them) graphic design is the same thing. Every once in awhile you find someone (Romain Guy for example) who gets both but that is definitely a rare case.

Jason Kratz

November 8. 2007 17:07

A good quality software developer with good graphic design skills is almost as rare as a good designer who has the ability to write good code.

Being <em>aware</em> of design is generally enough for developers in my view. Knowing when something sucks allows a dev to highlight the issue and go about fixing it (possibly through attempting to rework it themselves, or getting a designer in).

Being a graphic designer is a full time job in itself, and (imho) isn't really part of the 'core' job of a developer.

Having said that, I personally plan on learning more about graphic design, but more because I'm interested in it, not because I consider it to be part of my job.

Cheers!

OJ

Add comment