Every parent has had an experience like the following. When my daughter was two and a half I bought her a toy for Christmas. I don't even remember the toy - but it was a brainy toy designed to stimulate her growing little mind. Since our child was brilliant (see jasminekruger.com for proof) we knew she would take to it right away. It was expensive, but we only wanted the best for our daughter. The Toy was big. I'm not sure how big. I only know the box was big enough for her to fit inside. Christmas morning Finally arrived....
My wife and I proudly presented our cute little progeny with the gift wrapped in beautiful paper. She tore into the paper and unwrapped the box and stared in wonder. You could see her little mind saying things to her like "What is it?" and "Wow..." and "I want candy". I helped her get the box open and get the toy out. I held it out to her.... "See, it's pretty neat isn't it?" She looked at the toy with interest, not wanting to disappoint her Daddy, but her thoughts had already been captivated by... you guessed it... the box. The box was such a perfect size. She crawled inside and laughed - and we laughed with her.
Every developer has had an experience like the following. Your client asks you to create an application. You work hard to make sure it is up to spec and follows a workable standard. You use CSS, allow your peers to offer feedback, and make sure it's 508 compliant. You create a solid database schema and a great set of features. Finally the big day arrives and you are ready to show it to your client. And what does your client care about the most? Not the features or the database... not the fact that it outperforms other similar applications.... not even the fact that you used flash remoting or Ajax. Nope! What they are attracted to (or worse.. repulsed by) is the box.
Nothing makes a developers heart sink more than going to a launch meeting only to spend the entire time wrangling over the size of a font or the text for the footer, or whether we should use buttons or links. Usually, it's all stuff that has been appropriately considered before hand by the lead stakeholders during development. But bring everyone together and suddenly you have a room full of toddlers all fighting over the box (the cosmetics of the application). It's enough to make Daddy cry.... Well not to worry, because the muse has a few tips for maintaining your composure.
In a group of stakeholders there are always squeaky wheels. But being a squeaky wheel doesn't make you a decision maker. Much of what goes on at a stakeholder meeting has more to do with company politics than with your specific application. Your job as an outsource provider (or even sometimes in-house provider) is to make sure and follow the spec, remain neutral and satisfy the decision makers in the room. This requires that you be even-keeled and patient. Don't get bent out of shape when someone is piqued that your application doesn't support lynx or can't do the watusi. Chances are this has more to do with internal office dynamics than it has to do with you.
Don't pooh-pooh the visual aspect of an application Suite just because you think it's secondary. We once had a client for whom we built a dynamic site with all kinds of CMS tools, a calendar, a members section et al. Nothing really tripped his trigger till one day we added a news ticker to the front page. It flipped through the latest company news with a click through to the detail. We had found it on the developers exchange and implemented it in less than an hour. Suddenly we were geniuses. Sure, it was 1 hour in a 800 hour project, but nothing we did before or afterward elicited such a genuinely excited response. You would have thought he was Pepe LePew and we were a black cat that had just walked under a white paint brush. Don't be afraid to do something visually eye catching - even if you know it's a gimmick. It may go a long way toward satisfying your customer.
No I don't mean 4GL video cards. I'm talking about folks who primarily respond to visual stimuli. A few years ago I read a whitepaper that reported that 40% of Internet users are more likely to click on a text ad, 40% are more likely to click on an image ad and the remaining 20% waffle back and forth between images and text. This is an interesting note, and not often thought about when developing. Some people are going to process your application visually. They are going to see how it "feels" to them. The functionality and innovation are of little concern to them - at least initially. Such folks are intuitive when it comes to the web. They "sense" their way around. To them the first impression of your application is important. Since a good percentage of folks make up these "visual processors" you will need to think about them when you are developing. Pay more attention to the user interface. Write as if Jean Dixon (or Diana Ross for you younger folks) is your primary user. I'm not saying it has to play music and flash lights, but it should be intuitive.
Now maybe you are like me and you have no idea what "intuitive" really means. To me, "intuitive" means that there is a bulleted list of informative links and I pick one and click on it. When I visit a site I'm more likely to go to the "support" section before anything else. On some sites I visit often I've probably never even seen the home page. Unfortunately I've had to design a few UIs in my day. Fortunately there's a little thing called "friendly feedback" that can work in your favor. Ask your spouse or significant other for their take on your application. If you are team programming make sure and include a visual processor on your team - or at least solicit feedback from them at intervals.
I know I know... you put a lot of time and effort into the application and now they are picking on your baby. Remember that comments on the box (the cosmetic look of the application) are the first to come out because they are apparent before the user has to actually use the application. If the application performs a useful function and does it efficiently and is easy to use, the users will appreciate it in spite of what they see as its shortcomings. Don't take criticism of your color scheme personally and don't succumb to the feeling that they hate the application just because they don't like the mustard green you chose for the background. Let the application "shake out" and go through it's paces with folks actually using it. Eventually they will see its value.