Monday, December 17, 2007

Peer Evaluation

I am evaluating Daniel Josefsson's interface for booking laundry machines.

User Evaluation

The student residence where I stay in uses exactly such a system as described by Daniel, where residents can book 2 washing machines, 1 tumble dryer and 1 drip dryer in 3-hour slots, therefore I asked a neighbour of mine to evaluate the interface. He is a 20-year-old Englishman who has been in Uppsala on exchange for 4 months.

His comments are as follows:
  • On the calendar screen, it should perhaps show your existing bookings in a different colour.
  • The interface is clearly laid out and aesthetically pleasing.
He had no problems using the interface to perform the tasks as laid out in Daniel's scenarios.

Heuristic Evaluation

I have also evaluated the interface using the heuristic evaluation method. The ten principles below are rated on a scale of 1 to 5, with 1 being Very Bad and 5 being Very Good.

Visibility of system status - 3
There is no explicit display that lets the user know what stage of the task he is at. However since this is a simple interface for a simple task, with only 4 different screens, it will not affect the user much. This can be improved by adding a title bar to each screen, that gives an indication of what the screen is about.

Match between system and the real world - 4
Only the English interface is available for evaluation, and it is clear and easily understood, with no complicated words used. Information is also presented logically.

User control and freedom - 4
"Back" buttons are provided where necessary, which is good. There is no "undo" function, however a booking that is added or removed in error can be manually removed/added by the user.

Consistency and standards - 5
The interface is consistent in its use of colors, words and other cues.

Error prevention - 4
The interface itself is not prone to errors. There is no confirmation screen to confirm the user's booking addition/removal, however, as mentioned above, it is rather easy for the user to manually "undo" any mistakes that he has made.

Recognition rather than recall - 4
This aspect can be improved by highlighting the user's own bookings in a different colour, in the screen where time slots are displayed for selection. It will be helpful to the user who deliberately spaces out his laundry bookings, for example once every 3 days. It is also helpful to users who want to book 2 consecutive time slots.

Flexibility and efficiency of use - 5
The simplicity of the task means that little can be done to make it more efficient.

Aesthetic and minimalist design - 5
The design is simple and easy to use, and pleasing to the eye.

Help users recognize, diagnose, and recover from errors - 3
No documentation is provided regarding error handling.

Help and documentation - 5
There is a prominent help button on the top-right corner of every screen, which is good. Concise instructions are also provided beside most buttons. No mention of separate help or documentation is made but it does not seem necessary for such a simple task and such a simple-to-use interface.

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.

Saturday, December 1, 2007

Interface Design Notes

Preface

This page documents the event flow for the designed interfaces for the game Dwarf Fortress. The interfaces are meant to be used when the user starts a new game, in either Fortress mode or Adventurer mode. The interfaces currently have no aesthetic elements, having been designed purely for the purpose of demonstrating usability and element placement.

Adventurer game creation

Upon selecting to create an adventurer game in the main screen, the user is presented with the view in Window 1. The current implementation of Dwarf Fortress is that a set of random attributes is generated at the start for the player, and a player who does not wish to spend time on character creation can immediately start the game by pressing the "Start the Adventure" button. Otherwise, the user is free to change any attribute of his character by pressing the "Change" button beside the approopriate attribute. All "Change" buttons will open a new dialog box detailing the available options, with the exception of the gender "Change" button which will simply toggle between male and female. However it must be noted that, should the user change his race, a new random name will be given to him and the skill competencies will be reset to none.

The name change dialog box is shown in Window 2. The user can change their first name via the text box at the top. The last name is given in the game language, and is made up of multiple optional components. A row of buttons allows the user to select which component of the name to change. The white button is the currently selected button, while dark buttons are not available (some components only have an effect if other components are present). Upon selecting a name component button, the user is presented with english words and their game equivalent. The user then chooses from the list by clicking on the desired word. The user can also narrow down the word list by typing in the search textbox. The word list is then updated dynamically. The "Clear component" button allows the user to clear the component. The "Randomize name" button gives the user a random name.

The race selection dialog box is shown in Window 3. In this dialog box the user can select which race and civilization he belongs to. The race determines his available skills while the civilization determines his starting location, which is shown on the map at the right of the dialog box. The "Human: Play Now!" option is a special option that gives the user a pre-allocated civilization and set of skills, and is the default option.

The skills selection dialog box is shown in Window 4. Here the user is presented with a list of the available skills for his character and his competency for each skill. The amount of skill points available for spending is shown in the upper right corner. The cost to increase the competency of each skill by one level is also shown. All the information for a skill is presented on the same row, including the "+" and "-" buttons with which the user can change his skill competency. The rows are marked in alternating colours for additional clarity. There will be tooltips available when the user hovers his mouse over a skill name, that explains briefly what each skill does.

Fortress game creation

Setting up a fortress game involves first selecting the location of the fortress. The screen for doing so is shown in Window 5. The 3 maps shown in the window are the world map, the region map (a zoom of the world map) and the local map (a zoom of the region map). The dotted lines between the maps attempt to demonstrate that each map is the zoomed-in view of the previous map. The local map has 3 display modes, one that shows the terrain type, one that shows the relative elevation of the land, and one that shows the presence of cliffs. These display modes can be changed using the drop-down list located beneath the local map. The legend at the bottom of the window changes according to the display mode of the local map.

In this window, the user can perform a variety of tasks related to location selection. First of all, using the buttons located below the region and local maps, the user can adjust his starting location and its size. Information regarding the selected play area is shown in the lower left of the window, with a drop-down list allowing the user to view the information for each biome that falls within the playing area. Below the information box, the user can select which civilization his pioneers come from, a decision that currently has minor impact on the game, and therefore is relegated to an unimportant part of the screen. The user can also choose to reclaim an old fortress, that he had abandoned in a previous game, rather than start a new fortress. Any reclaimable fortress can be selected, instead, in the drop-down list at the bottom of the window, and the maps and information boxes will updates themselves accordingly.

Once the user has decided on his starting location, and clicked on the "Next" button in window 5, he is presented with Window 6, where he can choose either to start his game immediately, with a preset template of dwarves and equipment, or to plan his journey more carefully, allowing him to customise his starting dwarves and equipment (which will bring him to window 7). The "Cancel" button allows him to go back to window 5 and choose his starting location again.

Window 7 presents the equipment and personnel selection screen. Here the user can customise the dwarves and equipment that he starts with. The user has 200 points to spend and that is reflected in the upper right corner of the window. At the top of the window the user can change his fortress name and the name of his group of pioneers, either of which will bring up a dialog window (Window 8) that is similar to the one used in Adventurer Creation.

The main part of the equipment and personnel selection screen consists of a tabbed section with 2 tabs, one for personnel and one for equipment. In the personnel tab, the user can change the first name or the profession of the dwarves, as well as assign them skills using an interface similar to the one used in Adventurer Creation. An addition to the skill interface is a counter at the upper right corner, because each dwarf can start with a maximum of 10 skill levels. The user can select the dwarf whose skills he wishes to modify using the column of radio buttons at the left of the tab. He can also view information about the selected dwarf, which will open a dialog box that displays that information.

In the equipment tab, the user can choose the type and quantity of equipment that he wishes to bring along. The left half of this tab consists of food and tools while the right half consists of livestock. The amount of each item brought and the cost per item is displayed, in an interface similar to that used for skill selection. The user can modify the quantity of existing items by clicking on the "+" and "-" buttons beside every item listing, and can add new items to the list by clicking on the "Add new item" button. The user will also be able to get information regarding each item by hovering the mouse pointer over it, at which point a tooltip will appear.

The Add New Item screen, presented as Window 7c, is very similar to the name change screens, featuring the same dynamic search capabilities. Search results are presented in 2 columns, and the user selects the item to add by clicking on it directly.

Wednesday, November 28, 2007

Assignment 3

Scenario

The scenario for the use of my interfaces is really simple. The user has just downloaded and installed the game, and created a new game world. He now wants to start a new game in the created game world.

Design prototype

The prototype can be found at

http://www.gliffy.com/publish/1328320/ for the adventure game creation interface.
http://www.gliffy.com/publish/1330185/ for the fortress game creation interface.

The accompanying design notes can be found here.

QOC Documentation

The documentation diagram can be found at

http://www.gliffy.com/publish/1331054/

The accompanying documentation notes can be found here.

Thursday, November 22, 2007

HTA Analysis

Because the diagram is large, please view it here:

http://www.gliffy.com/publish/1323750/

Cells in blue are optional steps that do not need to be performed for the task to proceed.

Cells in red represent complex tasks which will require a separate HTA.

Cells in green represent steps that are executed multiple times within a task.

Cells in yellow represent conditional steps that may or may not be possible depending on choices in previous steps. A rounded orangle rectangle beside the cell explains what the conditions are.

"Or" cells represent steps that exclude each other -- only one or the other step is performed for the task/subtask to be complete.

Saturday, November 10, 2007

Assignment 2 (continued)

User Analysis

I have chosen to use user personas in my analysis because I think it will be easier to design a good interface with specific "people" in mind. However the end product is similar to the use of user profiles, because the personas will range over the different user profiles there are.

Persona 1 - Primary persona

Martin Chambers, IT Executive

Martin is a 27-year-old IT executive who lives in the suburbs of a big city. He has been playing computer games since the age of 12 and loves the old games that, in his opinion, are a lot more fun than the standard ones with pretty ribbons these days. He is a big fan of simulation games, having played all the "Sim" games such as SimEarth, SimCity and SimTower. Being married with 1 child, he does not have much time for games and therefore has little patience for overly complicated games for which manual reading is compulsory. He is looking for a game that has depth but is easy to pick up and play.

Persona 2

Samuel Dixon, High School Student

Samuel is 17 years old and a student at a local high school. He is an avid gamer who has over 200 games on his shelf. He enjoys his Counterstrike and Warcraft, and is also attracted by role-playing games where he can be a hero. His computer experience is limited to gaming and internet-surfing, and he cannot stand old games because they "look ugly". He has the short attention span typical of kids his age nowadays, and does not play games with a steep initial learning curve.

Persona 3

Jenny Lee, Undergraduate

Jenny is a 21-year-old undergraduate studying mathematics. She started playing games under the influence of her boyfriend. She does not like Counterstrike and Warcraft, preferring instead casual games such as puzzle games, massively multiplayer role-playing games (MMORPGs), and sandbox games where the player can just build/design/develop without having to worry too much about details and statistics. She is not very good with computers, but she has her boyfriend to ask when she needs help.

Comments

I have not included any negative personas because I feel that they consist of people who do not enjoy games of the same genre as Dwarf Fortress and therefore will not pick it up in the first place.

After this activity, I realise that creating user personas is not an easy task for people with limited life experience such as me. Therefore the personas I have created are very stereotypical and I hope it does not offend anyone!

Tuesday, November 6, 2007

OLE Analysis

Organisation, business, cooperation and coordination

1. What concrete measures will you take in order to involve the real users in the design and construction of the IT SYSTEM?

There is a forum dedicated to this game. I will seek advice and opinions by posting my design on the forum.

2. What will you do in order to facilitate the cooperation between the users and the developers – in order to make it successful?

Once again, the game forum provides a very good avenue for the developers and users to communicate with each other regarding the game.

3. What will you do to make sure that the IT SYSTEM really improves the work situation, actions or behaviour of the users?

I will actively seek feedback from the users via the game forum.

4. If the IT SYSTEM will be used in an organisation, what will you do to make sure that it supports the users’ being in control of their work situation, i.e. their independence, responsibility and competence?

This is irrelevant because the game will not be used in an organisation.

5. What will you do to make sure that the IT SYSTEM will improve the cooperation between the user and other people involved in mutually depending work tasks?

This is irrelevant for a single-player game because each person's game is independent of the others'.

6. If the IT SYSTEM will be used in an organisation, what will you do to make sure that it will fit and support the formal hierarchy and structure of the organisation?

This is irrelevant because the game will not be used in an organisation.

7. What will you do to make sure that the IT SYSTEM will reduce the mental and physical workload of the user?

A large part of the mental and physical workload of the game stems from the use of non-intuitive ASCII graphics and the keyboard interface. I do not intend to change the key settings because that will cause confusion for existing players of the game, but the use of more intuitive graphics and the use of a mouse-driven graphical interface (in parallel to the keyboard interface) will make it easier for everybody to play.

8. What processes and work practices (organisational and technical) will you create for dealing with problems in the use of the IT SYSTEM?

The game forum is frequented by developers and players alike and will serve as an excellent platform for communication between developers and users, as well as an avenue for users to seek help from each other.

Training, learning and skills development

9. What will you do to make sure that the users will have a positive attitude to the IT SYSTEM?

This is beyond the scope of my task. Users who decide to play this game will already have the positive attitude required, my task is to create a user interface that allows them to play and enjoy the game easily.

10. What will you do to make sure that the users will get the knowledge and skills required for efficient use of the IT SYSTEM?

There will be tutorials and manuals available online, as well as the game forum where questions can be asked and help can be sought. The community has also started a wiki where information regarding the game can be found.

11. What will you do to make sure that the users will get the knowledge and skills required for dealing with situations and problems that may arise in the use of the IT SYSTEM regarding for instance, coordination or conflicts between users, relations to other people or groups involved, etc?

This does not seem relevant to the use of a game.

12. What will you do to make sure that the users get appropriate and adequate introductory training?

Users will be encouraged to either read a quick-start guide or the tutorial before they begin playing the game. There is no organisation of the users, and therefore no formal structures and procedures, so there is no way to ensure that users are adequately trained except to make training resources obviously and readily available.

13. What will you do to make sure that the users will have sufficient time to practice using the IT SYSTEM, on their own or together with other users, when the system has been installed?

This is not relevant for the system in question.

14. What will you do to make sure that the users can adjust and modify the IT SYSTEM when they need to?

The users will not be able to adjust and modify the game within the scope of the user interface.

15. What will you do to make sure that the IT SYSTEM provides the users with opportunities for continuous training and for testing and experimenting with the system on their own?

This is not relevant for the system in question. There are no issues of training and productivity for a game.

16. If the IT SYSTEM will be used in an organisation, what will you do to make sure that the organisation allows and encourages informal knowledge support, i.e. that they can ask one another for help and help one another with solving problems?

The knowledge support for such a small game by an independent developer is inherently based on informal knowledge support, via the game forums and fan websites/wikis.

17. What will you do to make sure that the online help and user documentation provide appropriate and adequate support?

By subjecting the documentation to review by users of different profiles and backgrounds, and making sure that all of them are satisfied with the quality of the documentation.

18. What will you do to make sure that there is appropriate technical support easily available to the users – either experts, other users or colleagues?

This is not really relevant to the system in question. As long as the user has internet access there are game forums and wikis that provide help for the game in general. Within the user interface I will include links to these websites.

Ethics, internal relations and relations to society at large

19. Will there be any ethical problems or conflicts in the organisation where the IT SYSTEM will be used?

There might be a problem if players cannot stop playing..

20. Will the IT SYSTEM cause any ethical problems or conflicts?

I do not foresee any such problems.

21. What groups, individuals, organisations, etc, will in any way be affected by or have a stake in the development, use or mere existence of the IT SYSTEM? (Including society at large and the environment.)

There are no effects from the development and use of the game.

22. What values, interests, duties, standpoints and attitudes are involved in the use of the IT SYSTEM?

The game is still in its early embryonic stages and is about entertainment and relaxation. It is the high-tech, adult equivalent of a set of toy building blocks. There are no major issues involved in the use of the game except for the danger of addiction.

23. What effects will the IT SYSTEM have on each of these values, etc? Will the IT SYSTEM fit certain values and conflict with others? What values and how?

Such issues are largely irrelevant when considering the use of a computer game.

24. What will you do to make sure that the use of the IT SYSTEM will be optimal with regards to ethical aspects? For instance, adapt the design of the product, user training, organisational changes, inform stakeholders, etc? How exactly are you going to succeed with this?

Ethically, it is bad if users spend too much time playing the game and not enough time on their duties and responsibilities. One idea I saw in another game is to display the current real-world time in the main window -- it serves as a reminder to the user that time is passing while he is playing the game.

Assignment 2

Introduction

Dwarf Fortress is a free game developed by Bay 12 Games, an independent game developer. It creates persistent gameworlds where players can choose to be an adventurer or choose to manage a group of dwarves who are building a new fortress. It is currently still under development, and the developers have chosen to neglect the user interface and concentrate on adding new gameplay features as well as refining existing ones. Therefore, the game is played solely by the keyboard, with different keys representing different commands. The game's use of ASCII graphics and archaic keyboard interface makes the game daunting for new players to pick up, however Dwarf Fortress has gathered a small fanbase due to its innovative gameplay. It is refreshing to find a game with such interesting gameplay in an time dominated by cookie-cutter games that merely seek to distinguish themselves in terms of graphical detail.

Proposal

I propose to design a new interface or Dwarf Fortress, that is visually appealing and easy to learn and use. The new interface will allow existing users to play the game with greater ease, and allow new users to start enjoying the game more quickly. However, due to the complexity of the game, I will limit myself to designing the interfaces for only a few parts of the game, namely the game creation screens for the adventure and fortress modes.

Screenshots of Dwarf Fortress:






Friday, October 19, 2007

Assignment 1

Hi and welcome to my homepage for the course "Design and construction of user interfaces".

1) Who am I


My name is Andy Hong. I am an exchange student from Singapore, from the National University of Singapore. I am in my 3rd year, studying for a bachelor's degree in Computer Science. I am 23 years old. I am of Chinese ethnicity and I speak fluent English and Mandarin. I am currently learning Swedish but have not learnt enough to use it effectively.

2) What I do


I am an undergraduate student pursuing a bachelor's degree in Computer Science. I was motivated to study Computer Science because of my interest in computer games, although I have not made any games of my own. But I play a lot of games, old and new, of many genres such as strategy, simulation, and role-playing. I do not just play the popular, mainstream games such as Warcraft 3 and Counterstrike, but also old games and less-known ones such as Mount & Blade and Hearts of Iron 2.

I spend some time away from the computer as well. I play field hockey and touch rugby for my hall (which is a combination of a nation and a student hostel). I like to read novels by Dean Koontz and Terry Pratchett. I also watch Japanese cartoons (anime), but stay away from the more well-known ones such as Bleach and Naruto. My favourite ones so far are Zombie Loan and School Rumble.

3) HCI and me


I feel that HCI is a very important subject for all computer science students who aspire to program in the future, whether it is games or software or even web pages. An important part of a user's assessment of a computer program, or webpage, is how easy it is to understand and use it. I have played games that had a very good idea but were let down by a poor user interface. There have also been games that had simple ideas but were so fun because they were very easy to pick up and start playing. On the other hand, there are also games that have wonderful graphics and an easy-to-use interface, but forget the primary ingredient -- fun. In general terms, it is possible for programs to be easy to interact with, but do not have good functionality. Therefore, while HCI should not be neglected, functionality also contributes to the user experience.

I will definitely, knowingly and unknowingly, be affected by HCI in the future. Already, HCI plays an important part in my daily life, since I spend a lot of my time in front of my computer, whether for work or play. To a large extent, how much I enjoy my work and play on the computer is determined by whether software programmers take HCI aspects into account in their work.. I will also come into contact with HCI when I work in future, probably as a programmer. At that time I will have to remember to take HCI aspects into account in my own work.