Tim Bray Says Web User Interfaces Are Great. I Beg To Differ.

The Humane Interface

In his blog post, Continuations and GUIs, Tim Bray asserts that,

This notion, that the Web GUI is insufficiently interactive and we need something richer, is widely held among developers and almost never among actual users of computers, and it’s entirely wrong.

Here, Tim is talking about what you might call “standard” Web GUIs: things like HTML Forms, as opposed to the often dreadful GUIs created by using Flash. What is Tim’s reasoning for this? Well, it’s all about Web GUIs being easy for people to learn,

Once you know how to use a browser, you are well on the way to being able to use most Web apps.

This is true. But I believe Tim is still wrong in his key assertion that Web GUIs are more than good enough and in some ways much better than rich user interfaces. Why? Well, I’ll tell ya! You see, it’s true that Web GUIs are easy to learn. No argument there. However, my argument is that “easy to learn” is only half of what you need to create a great user interface. The other half of the equation is what I call, “easy to use“; and this is where web GUIs often fall down… and fall down big-time.

Tim implies that users are pretty much always happy with Web GUIs. Well, he must know a different group of users to me. I’ve often heard regular people express frustration at Web GUIs - for example, all the times they’ve filled in a web form, only to find themselves having to fill it in all over again because they made a mistake, and the computer system didn’t remember their previous entries when having to correct a single field.

This kind of problem falls into the class of GUIs being “hard to use”. That is, the user knows perfectly well they’re supposed to fill in the form by typing into the text fields (it’s easy to learn). However, the GUI makes the user do unnecessary, time-consuming, and frustratingly repetitive work, to get the job done (it’s hard to use). There are quite a few other aspects of Web user-interfaces that make them harder to use than a well-designed rich GUI.

My assertion, then, is that a user inteface needs to be both easy to learn and easy to use; and, further, that Web GUIs tend to be harder to use than well-designed rich user interfaces for fundamental reasons to do with technology.

The truth is, however, that most graphical user interfaces - both “web” and “rich” - are pretty badly designed. As I’ve said before, it never ceases to amaze me how little even the most talented developers think or understand about the ways people interact with computers (and other devices such as mobile phones for that matter). The difference between web and rich interface technologies, though, is that web GUIs are pretty deeply flawed at a fundamental level; while rich GUIs technologies at least have the potential for enabling great interfaces.

For anyone that’s intersted in learning what user interface design is all about, I recommend a book called the The Humane Interface, by the late Jeff Raskin. Be aware that this book isn’t a step-by-step-guide to constructing a good GUI. Rather, it’s designed to make the reader think about the fundamental principles behind what makes a good user interface. It’s a great book - and, if you’re a good developer, it will change the way you think about user interfaces and open your eyes to a whole bunch of things you’ve probably never even thought about before.

So… the bottom line is:

GreatGUI = EasyToLearn + EasyToUse;

and while

WebGUI = EasyToLearn;

unfortunately,

WebGUI != EasyToUse;

Which means,

WebGUI != GreatGUI;

Here endeth the lesson!

Now, if only Java Applets started up in a web-browser as quickly as Flash does, we’d have a wonderful solution to the problem of creating fabulous graphical user interfaces inside a web browser…

Comments

  1. Zach wrote:

    Great article. I started to comment about it, but about the time I hit my 4th paragraph I decided it’d make a better blog entry, so I wrote it up and you can find my response here.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*