Take an iceberg. Have a good look, what do you see? My guess is just the tip. When you look at an iceberg (or a picture of an iceberg) I bet you do not think, that is a picture of just a little bit of an iceberg. In your head I bet you think that is an iceberg.
Software systems are like icebergs, at least as far as the user is concerned. When a user of your software is actually using it they think of what they are interacting with is the system, not just the user interface.
So if you build an amazing system, that is beautifully decoupled, implements software patterns, and is written more elegantly than Swan Lake, no one will care how beautiful the architecture is, if the user interface sucks.
If the user interface is rubbish, and riddled with bugs then the user will think the whole system is riddled with bugs which, at the end of the day, will seriously affect your bottom line, as the reputation of the software will nose dive.
When designing user interfaces take into account your primary audience, your users. After all if no one uses your software what really is the point? And at least as far as your users are concerned, the user interface is the system
What are your experiences of designing user interfaces? I would love to hear so why not leave a comment below.