Check out Eric M. Burke’s post GUI Programming is Hard. In a related post, Rick Schaut talks about UI design. Both posts hit the nail right on the head and are considered a must-read. Yes, I’m talking to you, dear reader involved with SW development or SW sales.
Why is creating a great UI hard?
- Because it requires artistic/aesthetic skills most software developers don’t have
If you’re lucky enough, you will have a great UI designer or at least someone who has a great feel for how the UI should look (from an aesthics point of view) and feel (from an interaction point of view) – Preferrably someone who is also working very close with customers - Because the tools used are not up to the task
As Rick Schaut says in his post, as soon as you start to go beyond the “put-a-few-edit-fields-checkboxes-and-buttons-on-a-form” UI, you are basically on your own. Most trivial example: I have yet to encounter a multi-column list box control which ships as part of a standard UI framework which can be easily extended without – all of a sudden – forcing the UI developer re-invent basic things like managing focus etc. And don’t get me started on more complex interaction in forms/dialogs. Most likely, UI developers already have a very hard time coming up with an elegant, approachable UI for the applications problem domain. Being forced to re-create basic UI mechanismns doesn’t help a lot.
And while I’m rambling along, I have yet to see how using XML to describe the UI will help tackling the problem.
GUI Programming is Hard
Yeah, but so is anything worth doing. Humans are so finicky — they want everything done for them, but still have all the control. What’s up with that? We’re all waiting for that symantec network to lead us into internet…
More on GUI programming
More interesting blog entries here and here on why user interface programming is difficult. I like the comment about the tools not being up to the job when you need to create more than a few check boxes and edit…