Sunday, February 10, 2008

Is User Interface Important?

Well we all know for a system (any system such as computer systems, softwares, etc) to function well, all the individual parts (sub-systems) of the system have to do their own little part well, so they are all important! User interface is a sub-system in any interactive system like other subsystems. But how important it really is?

To highlight it's importance I've decomposed a computer system into three main components.
The hardware, the software and the last but not the least, the user interface. One might think the user interface is a component of software (which generally is) but that's not true. The UI (User Interface) AKA Human Machine Interface means the controls, input and output units of a system. In other words everything that enables the interaction of the users with a system is a part of the UI of that system. This said, please note that the examples given in this article are based more on the software UI.


Hardware
Everyone knows that good hardware makes a big contribution to the performance of the system. A living example can be the current CPU's we are using in our computers these days. If you are reading this entry online with the inline images in full colours, etc. it's because the modern processors are capable of processing this information for you. (I still remember the time I had a 486DX computer with 4MB of RAM and a slow modem, reading articles on text-based BBS's!)

Software
Apart from the hardware no one - in their right mind - should underestimate the power of software. It's true that a good hardware is the basis for a good software but that doesn't make it more important than software. In fact from a usability point of view they are both equally important. In other words usability of the system depends on both of these factors. Without a good software the hardware would be of no use. (no offense to Mr. Gates, but imagine running Windows on Blue Gene!)

Interface
Or more specifically the UI (User Interface) is also as important as the other two factors. To be honest I think the UI is even a bit more important than the other two. (I'll get back to this shortly)

Let's take an analogy to make this clear. Say the system is like a garden (take the soil, sky, etc. as the hardwares and the trees, flowers, etc. as the software). Then imagine the UI as a window to this garden. If the window is dirty and unclear no matter how nice and green the garden is you wont be able to see it as nice and green. So you get the idea. Interface works the same way. Even if you have the most robust software on the best hardware in the world it is of no use if you can't understand the interface. Because if you don't understand the interface you wont be able to utilize all the features of the system.

Now let's get back to my opinion on the importance of the UI being a little bit more important than software and the hardware. I believe if one of these two factors lack in their performance you can cover it up with the UI so the users won't notice it. For instance let's say the users want to upload a video on a website, but the connection is slow. You can cover this problem by giving a fun-to-watch-feedback so the user won't notice the time the system is taking to upload the video.

Here's another example: your software generates errors that even you as the developer can't figure out what they mean! By having your error reporting mechanism sensible, consistent, user friendly and in general approved by a usability specialist (not trying to promote myself here!) you can avoid possible anger and frustration that the users might experience.


To summarize this, I'd like to provide you the following diagram.
It shows the system as a triangle in which each vertex represents one of the components discussed above and as you can see, the triangle would not be complete if one of the vertices were missing. So user interface is as important as the other components of the system.

1 comments:

Sunil said...

It’s a really interesting post. Thanks for this info :)