Posts tagged: HCI

Invisible Interface

I am a fairly avid reader of Jeff Atwood’s Blog and the post on Is Email = Efail post was particularly interesting. This led me on to Tantek Çelik post and several other articles relating to this.

The HCI (Human Computer Interface) has always intrigued me. This was partly due to the fact that I never enjoyed working with it – adjusting all those widgets by a few pixels so things could fit and it might look that little bit cleaner. Thinking about where a particular field should go and how it would all fit together was a little too bothersome for my liking. Precisely the reason why I enjoyed web development. Someone else could work out all the aesthetics and all I had to do was plumb in the functionality behind that.

Of course, it is never quite that straightforward – there was often plenty of to and fro before the interface was nailed down. However, the worrying of where something should go could be left largely to someone else.

It turns out however, that (like with most everything else in life) – I am very much opinionated about the user interface and design. The only difference is that actually doing the work does not excite me – but the concepts do.

In Tantek’s original post, he points out:

“The fewer fields in an interface, the lower the cognitive load.”

This is something that is vital to Interface design but something that is easily missed.

It was pleasant when I went back to one of our first high profile projects – megabus and checked the user interface on there. The number of fields on there truly was minimal. In fact, there was originally only one field on there and this had a reasonable default value. All the other fields are drop downs. There are now three fields on the uk version and two on the us version of the site. All with sensible defaults.

The other advantage of the megabus system is that when you hit search, the results are usually returned under a second. This is with a very complex algorithm to calculate the availability/pricing and around two searches happening every second. At peak, we have handled up to around 5 searches a second with the results being returned in under two seconds.

After this page, there are no more fields for entry apart from when you make payment. The benefits from the simple user interface and fast search response is, at least in my view, one of the key reasons for the success of the site bringing in people from all walks of life. This includes students as well as old age pensioners who learnt how to use computers and the internet just to be able to book megabus.com tickets.

It did get me thinking thought about the perfect user interface… Is it possible to reduce the interface down to nothing…?

Installation of Thunderbird/Firefox has a good example of user interfaces that can be removed. In particular, I am referring to the import from interface…

Import Data During Thunderbird Install

Import Data During Thunderbird Install

While this is a useful step, why does Thunderbird not do this in the background, find out what other applications are installed, do the import anyway (if possible) from any and all applications, merge them together as sensibly as possible and give the user the option of whether they want to use it, or parts of it.

I realise this opens a whole can of worms…

Q. Does this not mean that Thunderbird thinks that it is smarter than the user (as per my reference to Windows being “smarter” than the user in Evil Linux)?

A. No.

  1. Thunderbird should inform the user of what it is doing – don’t miscommunicate.
  2. Have a cancel button, so that the user can cancel if the process is taking too long and they won’t be using that information
  3. If the process fails dramatically for some reason such that the install crashes, this should be detected on the next try and the installation should be “more careful” when trying again or skip that step entirely

Another example is the Microsoft Office Installation process, The name and the company of the user is already in the System somewhere (User Account Details). Why not just use this information instead of asking for it again.

Same goes for Eclipse! Why does the author information not pick up the users name from the account information?

To summarise, the point that I am trying to make is that applications should not ask the user questions if it can figure it out itself. Most modern applications can pick up most if not all the information it needs from the system itself. This even includes theming information (as per my post on Design). While the majority of the theming in most operating systems is fairly pervasive in terms of application look and feel, applications have enough control over their look and feel to be different.

While this customisation can be useful, it can also be a hindrance to productivity and an allure for procrastination!

If I have specified somewhere on my system that my name is Shri Shrikumar, every single application on here should then be able to pick that up instead of asking me over and over again per application.

I look forward to a day when I never have to type the same information more than once… 😀

WordPress Themes