Which Came First: UI Design Or Application Design

  I mostly work with code and application or data design. I’ve been doing this long enough that I can often see what would fit based on the needs and feature requirements.  At times when I’m not sure or want to check my assumptions, I whip out some unit tests and see how it goes. Test Driven Design helps drive application and data design things nicely.

  So what if you are starting completely from scratch?  I tend to collect the requirements and identify the features. Then translate that into models, data, patterns, tests, and code. I had a recent discussion with someone who is more of a UI designer, and made the viewpoint that it’s upside down. That’s his viewpoint, and that’s fine.

  So where do you start? Do you look at what user experience you want to provide or do you dig into the guts and think about the interface later?

  Application design or architecture is important, but ignoring user experience is a mistake. You could build the perfect code base, but have it all go to waste if no one is willing to use it. Apple knows this, and excels at building attractive hardware. That’s a large part of their recent success.

  As a reminder to myself and recommendation to others, don’t ignore the UI. Think about your target audience and what they would want. Think about how they would want to use your application. I find a lot of UI flaws when I have to repeatedly use a particular feature in an application. If I run through something often enough and it starts to annoy me, then there is probably something about the UI that could be improved.  Or I’m being extra picky; there’s always plenty of those users.  Which reminds me: You can’t please everybody so just aim for the majority.

I don’t know that it helps with user experience design, but testing your UI is also important. Here’s a few libraries for unit testing ui:

  • watr for Internet Explorer (how I was introduced to Ruby)
  • watin is a .Net library inspired by watr
  • NunitForms for testing WinForms
  • silverlightut for testing silverlight
  • white for multiple ui technologies

 

Other essentials

-j

 
May 22, 2009 07:00 by josh
E-mail | Permalink
blog comments powered by Disqus


about josh

another programmer blogging about his misadventures in writing code.

Contact

contact us for website & software consulting

Decide

decide on pragmatic solutions

Develop

develop your product together

Succeed

achieve your goals with our services