Monday, April 11


Apple documentation

Apple UI Guidelines Not sure if I've linked to this before. If not here it is.

Tuesday, February 8


User centered game design chapter from Microsoft Game Studios

Homework for the reader and the blogger -- start reading!

Introduction: "The intent of this chapter is to review principles and challenges in game design and evaluation and to discuss user-centered techniques that address those challenges. First, we present why games are important, followed by the definitions and differences between games and productivity software. In the next section, we discuss the principles and challenges that are unique to the design of games. That discussion provides a framework for what we believe are the core variables that should be measured to aid in game design and evaluation. The chapter concludes with some examples of how those variables can be operationalized in which we present the methods used by the Microsoft Game Studios User-testing Group."

The full chapter from "Handbook for Human-Computer Interaction in Interactive Systems".

And here's a conversation with one of the Microsoft Game Studio usability team: GDC Europe roundup


XML User Interfaces

The layout of a user interface can be specified using XML (one of many ways). There is beginning to be some standardization but from this counter sample using 18 different implementations, things are far from unified. The XUL Coding Challenge sample

The practical nature of my inquiry is looking at user interface editors. The tool I use could use some improvements. So I'm hunting down alternates...

Anark has recently announced a new SDK for game user interface design. Potentially very interesting.

If you want to take a look at the EverQuest2 editor/xml, try".

Monday, November 8



I don't mean to make fun of Harrison. He can get a current slot by paying the appropriate subscription fee to the game. Here's to our launch! And here's to me finding more time to blog again. From: Harrison Spain
Sent: Tuesday, July 27, 2004 1:47 PM
To: Mitchell, Robert
Subject: A Friendly Plea


I was given your name and e-mail address by an aquaintance of mine who informed me that though he wouldn't be able to gain me access to the Everquest 2 beta test currently underway, you held that divine power.

So to keep this succinct, I'm writing to you as a fellow game nut and Everquest enthusiast to plea for a spot in the current testing phase and would be forever grateful if that is at all possible. Thank you for taking the time to read this and if you need any questions answered or information from me, please let me know.

- Harrison Spain
Guess what? He has been removed from the beta list not added.

Tuesday, June 22


Good UI?

Sometimes, a review will have a section for user interface. But not often. Definitely not as often as "sound" or "graphics." Perhaps the User Interface is thrown into a section on "Presentation" or "Controls". You notice a bad one. A good one feels natural and non-intrusive. So in the first of what I hope is a recurring theme of the blog, I ask "What is a good UI?"

I'll start by trying to call out the many elements.

Look: The user interface art is the heart.

Windows, buttons, and menus: This is the bit I tend to focus on as a programmer. The widgets must behave as you expect with a clean and consistent look. Anytime the user needs to fight with the UI, they have stopped playing the game.

Controls: How you play the game is definitely part of the "human computer interface." This includes mouse/joystick keypad. Movement. Keymappings. The game controls are what make the user interface invisible or challenging.

Camera: I'm not one to really consider this part of the user interface, but if you include "controls" you must include the camera. As these two elements are linked almost enough for me to combine them. But the camera is important enough to break out though. A bad camera can ruin a game. Examples?

Game elements: The UI is meant to allow the user to interact with the game. Many of the feedback mechansism can be considered UI. Names over characters. Health bars. Glow. Targetting. Different things for different genres.

Sound: Everyone tries to make their interface look good, but audio feedback is just as important. This element can make a virtual system feel as responsive as a physical device.

Text: Can you read it? Does it match the game? Did they just use Arial...

Options: The ability to customize the user interface to work for different players is important. Consoles may only let you change a few properties. Some PC games may let you build your own user interface (scripting includes.) A balance is important here. In most cases, fewer is better. Definitely hide that advanced button if you can.

In summary, I think that a good UI is invisible to the user with a high degree of polish. The problem is that defining that is as simple as saying "make the game fun." But that's what I'm here to explore.

Tuesday, June 8



Yahoo! Groups : sandchi. The meetings are every third Wednesday of the month.

Monday, June 7


BOOKS: User Interface Design for Programmers

I read User Interface Design for Programmers by Joel Spolsky. Much of what he writes comes across as common sense. But it is useful to be reminded of it. The interesting contrast in this book to others is that Joel actually believes programmers can handle the usability design aspect so often given to them.

* A user interface is well designed when the program behaves exactly how the user thought it would.
* Avoid frustrating the user
* If your program model is nontrivial, it's probably not the same as the user model. the goal of UI design is to get them in sync.
* users will assume the simplest model possible
* every time you provide an option, you are asking the user to make a decision. make the choice for the user whenever possible. that's called design.
* simplify the option screen to only the most relevant
* let the user change the visual look
* physical models for the user are helpful. broken models are not.
* don't be creative: be consistent and emulate other programs
users expect this behavior from your program
* design for extremems
- people don't read
- people can't use a mouse
- people have bad memories

* 5 easy mouse locations: current location, 4 corners of screen.
* make the start button all the way at the bottom!
- snap to edges
* editable text should be fixed spaced fonts.
* pretend the user is a gorilla using the mouse -- does the UI still work?
* activity based planning - figure out the activity. then design for it.
* invent "imaginary users" to help with UI design
* 5-6 people are plenty to find most usability issues
* observing people use your product changes how they use it
- record things about it then.
* time warp concepts
- days are seconds (users will spend a few seconds in a task that takes days to design/code.)
- months are minutes ( simplify because you had months to understand the UI but
the user will have minutes to start learning about it)
- seconds are hours (any delays will feel like hours)

* heuristics can become annoying. eased by the ability to undo it.

6 steps to UI design:
1) invent some users
2) figure out important activities
3) figure out the user model
4) sketch out the first draft of the design
5) iterate over the design
6) watch real humans use the software

This page is powered by Blogger. Isn't yours?