You know, I have 30 drafts of unpublished blog entry. That’s because I don’t have enough time to edit. So, now I will try to make it simple without any reference or anything foolproof-friendly. Well, it’s their fault of being lazy, not to google, nor not following technological blogs. As for you, my good readers, may this open you to your own path of good mental of creating great tools.

Someday, may be I will tell the logic. May be… :DWe are challenged to create smart systems. We creates techniques like statistics (Bayesian, Hidden Markov Chain, etc.), Machine Learning (back propagation, etc.), extended logic (fuzzy logic, ternary logic, etc.) to predict what the user want. We try to provide adaptive preferences to provide smart environment. We want to eliminate user’s involvement. We want to create pervasive computing.

We may have an automated and adaptive system, but a good user interface perfects the system.

Take a look of Apple. Instead of using descriptive log dumped on the terminal, we have a computer icon playing dead. It doesn’t need any explanation and surely to send an error report that most likely will be discarded by the developer is a waste of time. Just put that icon to say: restart your computer. Elegant.

Facebook is the most notorious web place that resource hunger. The use of AJAX making this site look personal. Take a look at photo album. It loads longer than other because it try to cache the rest of the photo. But, hey, people wouldn’t complaining as long as that rotating circles tells them that the site is loading.

Windows effectively use “Refresh Desktop” menu item to convince many people that it is really useful to make system responsive. There is no use of refreshing your desktop. Toolkits by default repainting your desktop in microseconds. It is your system that suffer from bad library. But, hey, people buy this concept. They wouldn’t mind waiting if the refresh button there.

You see, many systems hide their flaw with good user interface. A good user interface also can protect the system fron abusive user behavior. This abusive behavior is expected because of the unknown status that the user face. Her anxiety and frustration would likely drive her to do unfavored actions.

All in all,

In expecting the unexpected, aside from good system architecture design, we also must consider of using good user interface to handle it.