Individuals involved in interface design recognize a dichotomy between programmers and graphic designers. As members of a design team, the two disciplines often have seemingly opposite priorities--the programmer wants to get the darned thing to compile, and doesn't give a hoot about how it looks yet. The programmer is willing to stay extra hours until the code is working well. The graphic artist will stay up late trying to achieve a harmonious layout of graphic elements, but it doesn't matter which features are and aren't compiling--none of it will be any good if the user can't interact with it on the screen (or tablet, or kiosk, or wherever).[8] What the two team members often forget is that they are united in the common cause of delivering an efficient, speed-optimized, easy to learn-and-use software package to a group of users. Those end users probably don't care whether or not the program works because the code is so well written or because the graphical elements are so well though out--as long as it works well.
The artist and the programmer are the yin and yang of interface creation. They constantly spin against one another, but the result is a happy balance between form and function. Artists of GUI (if there are any, yet) need the work of genius programmers to support and give meaning to their art. Genius programmers need communicative graphic artists who can interpret technically brilliant ideas and translate them into recognizable icons and other GUI elements so that a non-technical user base can appreciate (and purchase) them. Programmers and interface artists have a symbiotic relationship: they need one another.