User interface prototyping and especially Throwaway prototyping is an essential step in developing a user-friendly and useful interface.
Usually, user interface prototyping starts with a low fidelity, paper-based prototype or even a raw sketch drawn during a brainstorming session. Once the main idea is generally accepted, a high fidelity version must be produced.
I used to do this using Visio or even Photoshop but realized that it’s really time-consuming to create a good-looking consistent interface, so I started looking for other ways of producing mockups.
The first thing I tried was using Visual Studio and actually creating forms. Turned out that mocking up using Visual Studio is just as time-consuming as using Visio or Photoshop, plus, I am not really a drag-and-drop enthusiast, always preferring hands-on descriptive coding so I thought about trying XUL or XAML, both XML-based languages that can be used to describe user interfaces.
Using Visual Studio, or any other IDE for that mater you are tempted to use the mockup later. That’s a bad idea, as prototypes are meant to be thrown away.
XUL and XAML aren’t really so much different. I’m not saying that you can just copy some XAML and expect it to run in as XUL but still, the languages are quite similar. I prefer XUL because it doesn’t bring any overhead except for a Gecko-based browser (like Firefox or SeaMonkey, which you should already have), while rapid prototyping with XAML requires Visual Studio .Net (or the Express edition).
I generally use SciTE(an excellent text editor) to write the XUL and load it into Firefox but there is an easier way – you can use the Live XUL Editor to see your changes in real time.
Writing XUL is pretty straight forward, especially using a good reference such as XULPlanet.
What do you use for your user interface prototypes?