Monday, December 3, 2007

QOC Documentation Notes

Dwarf Fortress already has an user interface, albeit one that is based purely on keyboard input, so the challenge in my design is to improve upon it. However I did not wish to alter the interface in major ways that will make it unfamiliar to existing players of the game. The focus of the interface design is therefore to

1) Add mouse support to the interface.
2) Add information, or ways to obtain information, to the interface.

While designing the interface, 2 key questions occurred to me. The QOC diagram is here.

1. How will the interface lead the user through the process?

A very popular method nowadays for the process of set-up, be it installing a new program or creating a new document/project, is the use of wizards. Wizards are intended to guide the user's hand through the setting-up process, through a series of sequential steps. The advantage of this is that it is easy to use and understand.

However, I decided to adopt the traditional approach of laying out all the options in one window. This is because the tasks of the program do not have a sequence -- they can generally be performed in any order, and in many cases can be omitted completely. So, rather than fit a sequence to the tasks and force the user to complete them in order, I will design an interface that allows the user to control which task to complete and when to complete each of them. Laying out all the options in one screen also allows the user to review his choices in one screen.

2. How will the interface display additional information/help text?

There are many areas within the interface that will benefit from additional descriptions. For example, the items and skills of the game can be explained briefly. Also, actions and buttons within the interface might need explanation of their effects. I have come up with 3 possible ways to display this information to the user.

The first way is through the use of tooltips. These will appear when the user hovers the mouse pointer over an object within the interface. This method of obtaining help and information will be very familiar to users of Microsoft Windows and most other operating systems with a GUI. Tooltips also serve to reduce the amount of text on the actual interface, therefore making it less cluttered and intimidating.

An alternative way is by making information appear in a status bar at the bottom of the window. This is also a popular method used by many programs. However, due to the status bar being at the bottom of the window, users will not naturally pay attention to it. Furthermore, the status bar is usually designed to be unobtrusive, and therefore has small font that is not very readable. This method is, therefore, not as preferable as the use of tooltips.

The final, and most unpreferred way, is to make descriptions in the interface more verbose. This includes making button text and other descriptive text within the interface more verbose. While this means that the user has all the information he needs displayed on the window, this also makes the interface very cluttered and intimidating.

I have therefore decided to use tooltips to display additional help and information for the elements in the interface, and will keep the information fixed in the interface to the critical ones.

No comments: