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.

UI design software

Does anyone know of any software for UI design, use by non-programmers (ie, my clients)?

Some clients know what they want, but they just can't easily describe it. Paint + drawing apps are usually used, but I'm looking for something more geared towards creating a UI. I can't really ask them to get a RAD IDE just for this.
say my name
Wednesday, August 22, 2007
Pencil & paper.

Pictures with notes. Quick, easy and cheap. I think this is the best way.

Sorry if the lack of technology disappoints.
my name is
Wednesday, August 22, 2007
If they can't describe it, how are they going to design it?
Wednesday, August 22, 2007
They can use Visio. Not sure if the software UI part is available on all editions though.
JSD Send private email
Wednesday, August 22, 2007
You can give them the Express version of Visual Studio from Microsoft:

They have everything they need to design their UI for free.
Emanuel Haisiuc Send private email
Wednesday, August 22, 2007
Note that even CGI Movies are STILL done with individually hand-drawn 'story boards'.  So pen and paper should not be laughed at.

If you REALLY want to publish them or make soft-copies, I find a nice $150 digital camera can take a storeable picture of the results.

You have to be careful here.  You want a representation of their wishes which is un-ambiguous, WITHOUT having them actually do 90% of YOUR job.  If they find they HAVE done what they think of as 90% of your job, they're sorely tempted to try to do the last 10%, and pay you nothing.
Wednesday, August 22, 2007
+1 for pencil and paper.

Or, get a bunch of stickies, write the meaning of the control on it, and arrange them on a wall or piece of paper.
Wednesday, August 22, 2007
+1 for pencil & paper.

If you really need to mock up screens & you have MSOffice, use Excel.  Tools->Macro->Visual Basic Editor.  Mock up the screen(s), then File->Print.

But pencil & paper first to get them thinking about what they *really* want.
a former big-fiver Send private email
Wednesday, August 22, 2007
Although it can be a "good" idea, don’t give them an IDE!! Your customer is likely to think that developing software is easy and wonder why it's taking *you* so long! It can be hard to understand as a non-programmer why a seemingly simple form would take more than a week to create if they spent 10 minutes dropping controls onto it.
Also, if they are not used to a tool such as Visio the learning curve could just be frustrating.
I vote paper, or if they want it in an easy to reuse electronic format get them to use tables in a document or a spreadsheet.
Just keep it simple – then you do a mock up design in response and iterate the design that way...
PK Software Send private email
Wednesday, August 22, 2007
You can also place controls on the sheets in Excel. Just bring up the Controls Toolbar and select a Control. Then click on the sheet and move and edit...

Nice thing about this method is that the customer is very aware the application is NOT finished when the UI prototype is...
Marc Jacobi Send private email
Thursday, August 23, 2007
+999 for Pencil and Paper ....

some people have given me powerpoint and msword documents crafted to look like UIs (they think they have designed most of the application, that the programming part will just be added easily :)
Totally Agreeing
Thursday, August 23, 2007
They say they know what they want.

I bet they don't really.

Maybe treat the session of 'the client designs the UI' as a requirements-gathering exercise.  Look at their design, and then look past it, at what the activities and data actually are.  Then design it based on that.
Andrew McG Send private email
Thursday, August 23, 2007
I think it's well known in UI design that the client is almost always wrong about what they really want/need. Asking for their input and getting them to create UIs is still a good exercise because it lets you see how they think, but ultimately it has to be 100% under your control. If you start giving them IDE-like tools then they will demand more control over the UI and you'll be in a bad situation.

Mike Weller
Thursday, August 23, 2007
+1 for PK Software

Giving your customers an IDE is somewhat like giving a monkey a chessboard (no offense intended):

They play around with it, discover lots of possibilities, start to "program" but don't have the slightest clue about the very basic principles of software engineering.

The worst thing that can (will) happen is that your client's contact person (or someone influential to him / her) becomes a "hobby programmer":
He might start writing all kinds of RAD-driven utilities / tools / whatever, thinking he is a real clever programmer and programming is sooo easy. He even might start reading some "... for dummies" type books, discovering even more possibilities, thinking he becomes more and more of a "real" programmer.
And the more of this happens, the less insightful he becomes. He might start arguing like "Why don't you do things this way, I tried it myself in my lunch break and it worked perfectly" or "Why are you so inflexible to my suggestions, I will prove you within 5 minutes that they will work".

This might sound like a fictitious horror scenario to some, but a similar thing happened to me some time ago:
A customer of mine had a small application written by a "clever friend", which was a sole piece of crap. When his friend stopped working on it, my customer started patching and extending this crappy thing.
This is when I came in. After inspecting the code I suggested a (partial) rewrite as there were bugs and structural nightmares all over, making it nearly unmaintainable.
But my customer did not see any necessity for this, he went "But look, it's so easy, you just need to (...). I mean, it's not that I'm totally clueless, after all I have patched and extended this application, proving that I am able to do programming stuff !".
I tried to explain why, for example, lots of global variables make his code so buggy, but he just said "Why ? I think it is very pragmatic and clever to have it all in one place. I don't see the benefit of doing it differently.".
The problems got worse, and at some point I refused to work at this application. It was not the crappy app that drove me nuts in the end, it was the habit of this "pseudo programmer".
Thursday, August 23, 2007
I do UI design so my clients don't.

Generally pen paper and whiteboards, face to face and talking is a good start. I design something & do a walk through with them long before coding.

The idea is to give them what they need & not what they can design ;-)

I have had a few exceptions - one client put together what they wanted in PowerPoint, complete with animations of stuff moving around - however we did throw most of that design away once we got to the bottom of what they were trying to achieve.

Smartdraw like Visio can also be used to help layout some stuff or HTML design tools, but mostly marking up screen prints with a red pen seems remarkably usable.
Grant Black Send private email
Monday, August 27, 2007

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

Other recent topics Other recent topics
Powered by FogBugz