Friday, November 26, 2004

Slashdot | User-centric GUI Design Explained to All

Ok, Slashdot is a very good site and recently had an article about the debate of User interface design.

Now this is something I have a few thoughts on, and while some of it will no doubt be expressed slightly incorrectly due to the amount of alcohol currently in my system (just refer to my last post for proof of said).. Ok enough with the caveats here it is.

Game designers like ID Software or Blizzard have all learnt a valuable lesson, called immersion (and these companies are by far not the only ones), whereby the user (or in this example the gamer), totally forgets the outside world and loses himself in the game.

From Kushner, David. Masters of Doom. New York: Random House, 2003.
Because [Carmack] was a craftsman engineer, 3-D was the obvious step for him. Three-dimensional graphics were the holy grail for many programmers as well...The idea was to make the player feel as if he were inside the game. Though Carmack was not aware of it, he was joining a pursuit that had begun thousands of years before. The dream of a realistic immersive, interactive experience had consumed humankind for millennia. Some believed it to be a primal desire. Dating from 15,000 BCE, cave paintings in Lascaux, in the south of France, were considered to be among the first "immersive environments," with images that would give the inhabitant the feeling of entering another world. (80)

Now there was a lesson to be learnt from ID, as if memory serves (can't seem to find a weblink about it) Doom actually was on more pc's than Microsoft Windows, now this was a lesson (and this is my own threory not supported by any other information) that Microsoft wasn't going to fail. Now aside from changing it's marketing strategies, what else has the infamous Microsoft done?

Well to me part of it is applying the usuability of Doom (and all good games) to every microsoft application. That usability is not about making it fun to use, it is quite simply (and if I remember correctly this a quote from John Cormack, if not I'll claim ownership): "Make it so the user no longer things 'how do I shoot that monster' instead the user will just shoot it".

Put another way, if you as the user has to think for too long about "Ok, I want to change this text to Bold" before being able to get it, the user interface needs to be reworked. Now obviously there will be some training required (particularly as most business applications are significantly more complex than the average game in terms of what the user wants to do at any point in time [or are they?]), but to me the user interface of any application should follow some fairly straight forward rules (and I'm probably paraphrasing a microsoft guideline here):

  • intuitive interface: namely that if I am using the application for the first time (dependent on knowing the skill ie: if I'm a doctor using a medical application), I can easily come to grasp with how to make my way around and do simple things.
  • don't restrict the expert user: Basically this means that as a user, when I use an application for a while I would like to be able to find quicker ways to do what I do frequently and maybe do some more advanced stuff (ie: in excel rather than just creating a bar graph, maybe I'd like to use data from 3 different worksheets put through a mean algorithm)

Now both of those points are difficult to implement, but I think the second is more so unless you have a cohesive plan... For example:
ID Games: You start with a basic setup of your character (set keys and so forth), can start shooting straight away... Eventually you find you prefer to have certain commands tied to certain keys (you use the menu to adjust), then you find you'd like other modifications (keys or otherwise), and so you can use the console (activated by '`') to gain access to a lot more features (usually undocumented).

Microsoft: There is the primary window with the toolbar allowing you to do what you need/wish to do... Eventually when you hit slight issues (formatting in Word for example) you want greater control, and so you discover the extensive menu options (with keyboard shortcuts as well!), so you find you can do complex stuff with a couple of key-clicks! (Yay for you!), and ultimate of ultimate, if there's really something specific you find yourself needing to do, you can create an add-in, using a programming language (VBScript) to customise how you use the microsoft application...

Ok, I think you get the idea there, both successful companies where they support the progression of the user from Beginner through to (and in some cases beyond) Expert.

Beginner to Expert
A lot of very worthy applications out there only support one type of user on that spectrum, either limiting the application that only simple tasks can be done (or that more complex tasks take too much interaction for an advanced user), or that you have to spend 5 days reading the help file just to find out how to save a file. Both types of users are important!

Immersive/Intuitive Interface
If the user (particularly after using the application for a while) has to frequently search for how to do something (either by looking up the help file, or by searching through menu options), there is something wrong, I'm sure that out there are some heuristic research telling us what the limit is, but you get the point, I shouldn't have to think "How do I bold this text?" I should justBold this text.


No comments: