Kevin Cheng  

Effectance in Games and Applications

January 24th, 2004 by Kevin Cheng :: see related comic

Carl Klutze posed an interesting question about how complex games can teach through gradual learning and how we could utilize those devices. I started out with a comment response but it’s become so long that I’ve decided it warrants a separate post.Tom Landauer wrote a book called “The Trouble With Computers” in 1995 (MIT Press) where he discusses the concepts of competence and effectance.

People need to feel effective and gain satisfaction from that. In order to be effective, they need to feel competent.

So something that they learn quickly will give them more satisfaction and feeling of effectiveness. Also, they gain satisfaction from seeing their environment change in reaction to their actions.

As you pointed out, games have traditionally been great at this. Take complex Real Time Strategy games such as Warcraft or Rise of Nations. Your first level involves a very rudimentary set of units and a fairly straight forward mission. By the end of the game, you’re utilizing a full technology tree with a plethora of special abilities and units at your disposal without feeling overwhelmed.

Applications such as MS Word have started to use this idea but they haven’t quite got there. You open Word and the most immediate thing you can do is type. That’s a good step in making me feel effective. Then I can bold my characters and change my font when I notice the toolbar. Beyond that, however, lies a maze of functionality where the gradual learning stops. For Word, the problem is not knowing what the user needs to do. That’s the problem with having a one-size-fits-all application that contains the kitchen sink.

Conversely, look at Macromedia Flash. They come with a set of tutorials, much like how some games come with training missions. Like the training missions, Flash gets you into making something quickly (changing the world around you - feeling effective). Within the first lesson, I’m animating a bouncing ball.

One way to determine how much functionality to show may be through tests or certification. This approach would probably be widely resisted by users, however. “I bought this application and paid money for it, why should I be restricted from functionality?” Fair point. Doing so, however, would emulate the concepts of levels in videogames rather nicely. In Tetris, if you’ve reached level 99, you know the player is at a certain level of competence. Useful information for the designer.

One can also look at effectance through customization. Gamers feel empowered by the ability to change aspects of their games like their avatar’s clothing, or perhaps the path taken to solve a problem. Sites such as My Yahoo! that permit users to customize their homepage easily borrows from those principles. The focus there is the word “easily”.

I mentioned the satisfaction of changing the environment around you. This satisfaction comes from having an effect on the world. MMORPGs are using this concept in their worlds by having persistent aspects. Players can change the world through buying houses or even creating towns. The old text-based MUDs and MOOs were classic examples of these community games. How can this motivation be used? utilizes the power of a community rather effectively. Users can create wish lists, rate products or give user reviews on just about anything there. Why do users do it? Because they feel a sense of satisfaction, knowing their input is shown to the community and potentially influencing other people’s buying decisions.

An extension to the community concept goes to the developer communities. The popularity of games nowadays often rely heavily on the strength of the community. Counterstrike was a labour of love by a set of community developers, not by Valve. Similarly, we are seeing such effects in application development. The open source community is the most obvious example. Movable type has a large community of plug-in developers, some of whose work are then integrated into the product.

Whether we borrow from games or the other way around, there are clearly a lot of similarities in the techniques employed. We should look beyond simply asking, “can we put Quake inside MS Word to make word processing addictive?” and instead investigate the more subtle devices used.

One Response to “Effectance in Games and Applications”
Peter Centgraf wrote:

The concept of incrementally building on a set of knowledge is already in active use in the cognitive psychology community to build intelligent tutor systems. Carnegie Learning has already commercialized a system for teaching high school mathematics, and Carnegie Mellon University has been using a Lisp programming tutor based on this system for at least 20 years.

Other researchers at CMU (and elsewhere) are pushing cognitive tutors into other domains and building tools to make the construction of tutors easier.

The mile-high view of how this type of system works is based on the idea that knowledge can be represented as a set of facts and a set of rules that manipulate those facts. As a student performs tasks, various of the facts and rules are called into action. The tutor system tracks the steps that students take to solve problems (or perform tasks) and calculates the probability that the student has learned each fact or rule. Detailed theories of learning are used to tailor the presentation of tasks so that weak areas are reinforced and strong areas are built upon.

Unfortunately, modeling a user’s knowledge to the level of detail necessary to build this style of tutor is a very intensive process. The primary investigator for the cognitive modeling system used in Carnegie Learning’s tutors estimates that each decision rule in the math tutor required approx. 20 hours of work by a psychology grad student to develop. Even the promising recent work on tools is not likely to make these tutors accessible to most HCI practitioners.

However, we may be able to use some of these basic ideas to build more intelligent “active” support systems for software. For example, a software development environment might track the library functions called most often by a particular developer and automatically select those functions for auto-completion where appropriate. Software might suggest shortcuts for repeatedly performed actions in minimally-obtrusive tooltips — only if the user has not used that shortcut in the recent past (and presumably, is not consciously choosing to avoid it). Others here can probably find other obvious uses.

Leave a Reply

OK/Cancel is a comic strip collaboration co-written and co-illustrated by Kevin Cheng and Tom Chi. Our subject matter focuses on interfaces, good and bad and the people behind the industry of building interfaces - usability specialists, interaction designers, human-computer interaction (HCI) experts, industrial designers, etc. (Who Links Here) ?