User Interface Before Code

Jeff Atwood had a great post earlier this month entitled UI-First Software Development.

In the blog he mentions:

Of course, UI is hard, far harder than coding for developers. It's tempting to skip the tough part and do what comes naturally -- start banging away in a code window with no real thought given to how the user will interact with the features you're building.

Actually, I am the exact opposite of this. I need an understanding of the UI before going off and writing any code for an application. To me theory, while important, is different than reality. The UI prototype serves as a guide not just for the navigation of the application. For me it serves as an aid in understanding what classes, methods, etc. are going to be needed for the application.

Jeff's post is apropos since I am just starting to sketch out how my application Z is going to look and feel.

That leads me to a minor dilemma. What to tool to use to create my UI prototypes. Many people use pencil and paper, and I see much merit in that. However, I am, for better or worse, and electronic type of guy. So I am trying to see if I can use something besides pencil and paper to do my prototyping.

I have Visual Studio 2008 that I could use, but I am trying to stay somewhat away from the temptation to do any coding.

I also have Microsoft Expression Studio which I may indeed just end up using. I could use Microsoft Expression Blend which is specifically geared towards application UI development. The only downside is that it might be way overkill for what I am trying to do initially.

So, if I don't use Microsoft Expression, what do I use then? PowerPoint? Paint.NET? Other?

I found a couple of posts that list some UI Prototyping tools.

Here is one.

Here is the other.

Given that I already have Microsoft Expression Studio, and even Microsoft Office 2007 if I wanted to go the PowerPoint route, I am not sure I want to spend a bunch of money on such a tool. However, if anyone has any recommendations, I am surely open to purchasing something -- I mean, come on....being a wannabe micro-ISV who would want people to buy my product, I need to support my fellow software developers if it warrants. Of course, a really good free tool isn't so bad either ;-)

Btw, here are some free trials I am thinking about checking out:

  1. Mockup Screens
  2. Serena Prototype Composer (this is actually free)
  3. Designer Vista

If anyone has any thoughts, recommendations, or ideas about this, I am all ears.

Until next time.....