The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Tool to start designing an app?

I'm currently looking at an application that needs to be rewritten, and I was wondering how you like going about at the first stage, ie. thinking about the functionalities, how the different windows interact, etc.?

I tried GUIR's Denim sketcher (, and it looks like one possibility. Do you prefer a RAD tool like VB/Delphi? Other tools? Thx.
Friday, September 17, 2004
I think most people would say that in the first stage they use paper and pencils.
That's also the case for me. I find graphical tools too tedious. On the other hand, hand-drawn documentation is not really appreciated by management.
Friday, September 17, 2004
I mean, most people _here_.
Friday, September 17, 2004
If we are talking about an ideal scenario, I would want to start with paper prototypes.  Use post-it notes to represent different screens, that way you can move them around on a big board easily during a meeting.  But I don't want to get the cart before the horse.  I would see an ideal process like this:

1. Meet with customer and get an overview of the job and typical workflow of the task your program is supposed to enhance.  Make sure you get this "tour" from someone who actually does that work everyday.

2. Gather requirements from the customer.  What do they want the app to do?

3. Start drawing your ideas with pencil/pen and paper.

4. Meet with client and show them your paper drawings.  The purpose being to get feedback before you waste time making elaborate mockups.

5. Make some a "movie-set" prototype that looks basically like the real app (so you can get UI design feedback) and solidify that you have understood the requirements.

6. After client signs off on this prototype, write a spec with a little more detail about the functionality.  Get signoff.

and so on and so forth.
Clay Whipkey Send private email
Friday, September 17, 2004
By "movie-set" prototype, I mean an electronic compilation of screenshot graphics that demonstrate a typical user workflow.
Clay Whipkey Send private email
Friday, September 17, 2004
I like knocking out a quick prototype using InterfaceBuilder and/or AppleScript Studio...

What's that? You're not developing for the Mac? How unfortunate for you :-)

Seriously, though - use some easy-to-use RAD tool for whatever platform you're on. I have used Visual Basic for app interface prototyping in the past, and found that it's very useful to be able to use real controls to see how stuff is going to look and feel, rather than an approximation of some kind.

Of course, you might need to watch out for the "looks done, let's ship it!" problem if you prototype with a development environment...

Mark Bessey Send private email
Friday, September 17, 2004
The paper and pencil first stage always works for me, but then you need to move on to something a bit more presentable.

As an alternative, Visio has some templates you can use for mock-ups of screens, etc.

I mentioned this a while back. The main reason I like it is that Visio is very easy to use and the results always look good, but not too good.

You don't want your mock-ups to look too real, or people might start thinking the UI is pretty much done, and given that they never see nor appreciate the underlying work, they might think you've nearly finished !!!
Saturday, September 18, 2004
Thx everyone for the input.

Actually, after taking a look at Denim, I was wondering if someone knew of a more sophisticated app that would let you draw windows on a pen tablet (a tablet PC is probably overkill), and redraw a cleaner version automagically. I can't draw at all, and have a terrible handwriting :-)

Otherwise, SmartDraw is an option (never got used to Visio), but I find it more natural and productive to draw by hand.
Saturday, September 18, 2004
You may want to read up on UML and relevant tools.
Sunday, September 19, 2004
I prefer index cards, as they can be easily arranged.  They're also useful for mocking up mini-windows and seeing how they look together.

Once I have some basic features on index cards, I move on to application development.  I do very little digital prototyping.
Brent P. Newhall Send private email
Tuesday, September 21, 2004

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz