Tuesday, June 22
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
LINKS: SIG CHI San Diego
Monday, June 7
BOOKS: User Interface Design for Programmers
Highlights:
* 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
Sunday, June 6
Competitive Usability
|
LINKS: Cranky User
The first site is a little sparse for update (last article was Jan 2003) but is deep with content. In particular, User testing basics. I'm definitely going to spend more time soon chasing down the reference links included.
I'm currently craving links to spread out the usability web; and Cranky User has a fine collection of Links. I consider it a challenge to cross-reference all the links on link pages.
The second Cranky User posted a fine introduction to game usability in 2002. The IBM site Ease of Use has lot of useful information including some recommended books.
One of his resource links led me to another Peter, Peterme.com. PeterMe will take me some time to digest. But almost immediately I noticed he also links to Game+Girl=Advance. And for sites you ought to be reading...I think that one is one everyone's list.
I think that's enough info to keep me busy for the entire week. Start reading!
Background
Before SOE and Verant, I worked at QUALCOMM. And before that I attended Harvey Mudd College where I graduated with an engineering degree and a concentration in psychology. My psychology thesis was in novice vs expert users and command line vs graphical interfaces. My engineering project involved detecting the number of stars in a cluster using Bayesian probability.
I won't be talking directly about the games I've worked on, nor the competitors, because I can't, and wouldn't even if I could. However, I have learned many user interface development lessons from these projects that I hope to share. More importantly, I want to share my growing passion for game usability. Enjoy.
Saturday, June 5
Introduction and Purpose
This blog is the start. I will consider it successful if it makes me think harder about the choices I make in the game interfaces I am responsible for creating. I will consider it a success if I meet some other like minded professionals. I will consider it a success if I help someone find the resources to improve her interface.
I will start by building lists of books, papers, web pages, and other resources that share our goals of better video game interfaces. If you find yourself reading this and know of resources I am missing, send them my way.