Wednesday, July 2, 2008

Beauty is only GUIdeep

Softwareguy: 'So did you decide on the purchase of our NiftySoftware v2.01?'
Customer2b: 'Yes. And no, we won't buy. We'll buy Competitor v1.1.'
Softwareguy: 'Oh... well.. ok. May I ask what influenced your decision?'
Customer2b: 'Sure, because it looks a lot better and it feels better.'
Softwareguy: 'But we are faster, more refined and our databasehandling is top-of-the-line'
Customer2b: 'Well, but it looks ugly and I do not find anything I need.'

Now what is that all about? And what should we learn from this conversation?

Well... as much as your code may roxxor, your GUI is the face that sells the Application. A lot of books have been written about GUI designe, do's and don't's and quite a few by Pschologists who explain how it reflects in various ways on the workflow of ones brain.

So how to design the perfect GUI? Easy: You don't!
There is nothing like a 'perfect' [insert whatever here]. The thing I learned over all of these years is that you should, in the best possible case, be proficient in the trade. And I do not mean GUI design or programming. I am aiming at the profession you write the programm for. Let me elaborate on that:
You can write a CRS software, an accounting software or a Qualityassurance software without special training. You just get book (well... not 'just', but you get the hang of it) and read up on the procedures and algorythms involved and hack away. There is always a logic pattern you can beat out of things and translate to code.
But (<- the catch) you do not know what the user looks for. In everyday usage of a program some things need to be visible to the trained eye. And some things need to be accessible even for the... uh... how to say... not-so-techy-people-who-barely-know-how-to-logon.
Everybody has their own workpace and -path. But somethings are universal to the trade. Get to know those. Have a feel for the work, the job and the people.

Hm... not sure if I made my point.... to put it short: The customer does not give the slightest bit of a poo if your code beats 100,000 SQL instructions into a database in 10 seconds. He also is not too impressed if your code is 100 lines less than your competitors.
He sees: 'Clean design, nice grouping of the [important things]'

Realworld example:
We designed a program to manage the workload in a carrepairshop. By looking how they work we designed the GUI to display the free workers on almost 70% of the screen. The customer loved that 'I can see who has the most time on their hands!'. After he doubleclicked a worker, assigned a task and got the option to priorize the work the thingy was sold.


For the finale:
I am not sure this helps you. We work that way and we really get a bang out of it. And... well... for all it is worth we have a 99% customersatisfaction rating for the 5th year in a row (that is how long I am with this company now). And I am proud about that :)

No comments: