Contexts for HCI
From Computing and Software Wiki
Line 85: | Line 85: | ||
* Massively Multiplayer Online games typically involve persistent player-attained wealth, which players develop over time. Typically (as with games such as World of Warcraft or Guild Wars) this is accumulated with in-game play time. Some games, however, separate the time context from the user context in the pursuit of wealth. For example, in Eve Online, players can indicate how they wish their character to be developed (which new skills are to be learned), and then disconnect from the game. Meanwhile, their character will develop in real time. By removing the necessity for users to spend countless hours "grinding" to create powerful characters, more time is made available for the spontaneous interactions the game is known for (or for users to pursue a healthy lifestyle out-of-game). | * Massively Multiplayer Online games typically involve persistent player-attained wealth, which players develop over time. Typically (as with games such as World of Warcraft or Guild Wars) this is accumulated with in-game play time. Some games, however, separate the time context from the user context in the pursuit of wealth. For example, in Eve Online, players can indicate how they wish their character to be developed (which new skills are to be learned), and then disconnect from the game. Meanwhile, their character will develop in real time. By removing the necessity for users to spend countless hours "grinding" to create powerful characters, more time is made available for the spontaneous interactions the game is known for (or for users to pursue a healthy lifestyle out-of-game). | ||
+ | |||
+ | |||
+ | |||
* In PC games, there has historically been lots of potential for user modifiability. Examples include modification of the user's control scheme, graphics and sound tweaks, scripting/automation of player actions, and replacement of visual UI elements (heads-up display, textures, models) with custom ones. This is an example of a situation where the user can be made aware of the computing context of the game (how the graphics engine works, how user input is processed) but still benefit from it. "Power users" who optimize the in-game environment to their needs do not have the notion of 'realism' spoiled - rather, they feel more 'in control' over the in-game world. | * In PC games, there has historically been lots of potential for user modifiability. Examples include modification of the user's control scheme, graphics and sound tweaks, scripting/automation of player actions, and replacement of visual UI elements (heads-up display, textures, models) with custom ones. This is an example of a situation where the user can be made aware of the computing context of the game (how the graphics engine works, how user input is processed) but still benefit from it. "Power users" who optimize the in-game environment to their needs do not have the notion of 'realism' spoiled - rather, they feel more 'in control' over the in-game world. |
Revision as of 04:27, 23 November 2009
In Human Computer Interaction studies, the context describes the actual conditions under which the software system is used. Determining the context of the system means describing how the software system interacts with the user in normal day to day situations. It is important to carry out usability tests, prototyping sessions, meetings, user studies and other "user-dependent sessions" in the correct context of the system to get the most accurate results from your findings. In context-aware software systems, determining the context of use can allow the application to modify it's current behaviour to better interact with the user.
Context information will typically include anything that can be used to characterize the situation of the user, system or any other relevant entities. Context can be decomposed into disjoint categories or types to help define the context of the software system. Although these context types may differ by opinion, the most commonly recognized are the User Context, the Time Context, the Physical Context and the Computing Context. These four contexts are described below.
Contents |
Types of Context in HCI
User Context
- The user context(also known as personal context) represents information about the end-user, which interacts with the system.
- This includes information such as the user profile (age, preferences, etc.), the user’s location (e.g. absolute position, indoors, outdoors, etc.) and orientation, nearby objects, the people nearby and the social situation.
Time Context
- The time context covers relevant information related to time such as absolute time, date, day of the week and season.
Physical Context
- The physical context includes everything, which is measurable in the environment of the system with which the user interacts.
- This includes temperatures, noise levels, lighting situations, traffic conditions, etc.
Computing Context
- The computing context contains everything related to computational resources.
- This can include things such as available networks, network bandwidth, communication costs and nearby computational resources such as printers or fax machines.
Examples of HCI Contexts
Mobile Devices
- A mobile device is a pocket-sized computing device, typically having a display screen with touch input or a miniature keyboard. It is by it's own nature a social device, used by people to connect with people. The most successful mobile devices are ones that are great at delivering an excellent user experience. These excellent experiences are those that keep the user engaged, are visually appealing, well organized and provide clear ways of accomplishing the tasks at hand. In order to achieve this excellent user experience, the developers must identify the mobile device context.
- Perhaps the most important factor when considering context for a mobile device, is the user context. Mobile devices are portable and typically travel alongside the user. By identifying the users location, the mobile device can adapt to these circumstances and provide relevant and useful information. For example, when the user is searching for restaurants, the mobile device can identify the current location and provide results that are local. This helps the user with relevant information and improves the user experience. If the mobile device identifies that the user is currently in a meeting(maybe by accessing the calendar), the device can forward all non-important calls to voice mail. The iPhone 3G responds to motion using a built-in accelerometer. When you rotate the iPhone from portrait to landscape, the accelerometer detects the movement and changes the display accordingly. When users are browsing the web, reading a text document or watching a movie they can enjoy it with the best display. The accelerometer also gives the user amazing game control. These are just a few ways identifying the user context can improve the user experience and alter the interaction behaviour of the mobile device.
- Almost all mobile devices include a calendar or some type of personal task planner. The time context of the mobile device is very important when it comes to the users schedule. When the user travels through different time zones, the calendar should display all of the tasks and appointments with the proper timezone. This can be done by identifying the time context. Also based on the current day, reminders for future tasks and appointments can be set for the user.
- The physical context of the device can play an important role in the human computer interaction of the device. If the mobile device can identify noise levels, it can adjust the ring volume for the current situation. The same principle applies to lighting levels. When the device senses the user is working in a dimly lit environment, it can increase the brightness level of the mobile device. The ambient light sensor in the iPhone 3G automatically brightens the display when you’re in sunlight or a bright room and dims it in darker places.
- Lastly the computing context of the mobile device. This context type is rarely seen by the user. It is mainly involved with routine tasks but if noticed, can become an annoyance. One example of identifying the computing context is having the device become aware of available networks and bandwidth levels. In high bandwidth situations, the device should be able to update all of the users feeds, send/receive mail and do any necessary system updates. In low bandwidth situations, only the bare minimum of networking tasks should be completed. The battery life of mobile devices is very important to users. By recognizing the current mobile context, battery life can be preserved. Most mobile devices are able to recognize when the user is not using the device and can turn off the display to save power. Some of the newer devices such as the iPhone 3G and the Blackberry Bold can even detect when the device is lifted to your ear. They have a proximity sensor that will immediately turn off the display to save power. By utilizing the computing context the mobile device can have a very successful human computer interaction and an excellent user experience.
- Product designers need to firstly identify these user contexts for the mobile device. Secondly they need to develop the mobile device for these contexts. The mobile device needs to be able to recognize them and adapt the interaction style to improve the user experience. The mobile device needs to be tested in all of the identified contexts. By utilizing the contexts for the mobile device, the human computer interaction can go almost unnoticed and essentially achieving an excellent user experience.
Consumer Devices
- Consumer products have long been known to include embedded computing elements. However, this area of computing continues to grow dramatically every year. As embedded computing becomes more pervasive, so too does the need for quality user interfaces in embedded devices.
- Examples of consumer products containing embedded computers include: ABS brake systems, thermostats, satellite receivers, digital audio equipment (keyboards, controllers, audio interfaces), MP3 Players, mobile phones, automated sprinklers and kitchen appliances.
- A common design goal with these devices is 'hiding' the computing context. For instance, most people adjusting their thermostat do not care about the control system inside it - they just want to manipulate its user interface to make the temperature of their environment tolerable. Interfaces cluttered by technical jargon (for example, the setup menu on a digital satellite receiver or wireless router) are often considered user-hostile.
- User contexts vary significantly between embedded devices - some devices are meant to be operated indoors (toaster), others outdoors (automatic lawn sprinkler). Some devices require user input and provide feedback (microwave oven), while others work unnoticed in the background (control/safety mechanisms in cars). Some devices are integrated into human social interactions (mobile phones, satellite receivers) while others are completely removed. Many embedded devices depend on the user context - user input to the system determines how the system shall react. Additionally, users determine how devices shall ultimately be used (and whether they shall function as intended) - robust devices are aware of their environment.
- Time contexts are often similar with embedded devices. Many operate in real time as sensory data processors (telephones, motion detectors, DVD players). Some devices depend on absolute real-world time for their function (automated sprinklers, personal video recorders, alarm clocks) and some do not (microwave ovens).
- Many embedded devices are made to be 'aware' of the physical world - sensors gather data (whether temperature, colour, brightness, pressure etc) and computing hardware acts on it. Some devices affect the physical world as well (shutdown mechanisms in safety-critical systems, automated sprinklers, remote-operated mining machines, synchronized stage lighting and professional audio systems).
- Embedded computing systems must always be designed with changing user/physical contexts in mind.
Business Applications
World Wide Web
Collaboration Systems
Games
- Haptics technology bridges the gap between in-game interaction (the user context) and real-world phenomena (the physical context). With haptic devices, the user's sense of touch is involved in their interaction with the game - three-dimensional movement by the user can affect the game, and the game can respond with physical stimulus to the user.
- Early on in the development of video games, this was done with 'rumble' features in game controllers. The response of these systems was not variable enough that users could sense specific things - the same generic 'rumble' effect was used every time.
- Recent innovations (leading to better overall system response) by Novint Technologies have resulted in production of the Novint Falcon game controller. A YouTube video demonstrating this device is available in this section. With this device, one can have a nearly one-to-one correspondence between the user's input and the game's response in the physical world.
- Another method of connecting the user context with the physical context is realistic computer graphics. Features such as motion-blurring (shown here), realistic lighting and shading can be used to 'bring users into the game.' Regardless of whether the in-game environment is realistic (players may fight space aliens, fly a plane or just play a game of hockey), consistency between the game's visual presentation and human vision will help to engage users.
- A recent innovation in this area is the use of "3-D Gaming Glasses" produced by NVidia, for use with NVidia-architected video cards. Games can be rendered to the monitor in polarized 3D form (as with motion pictures) and be viewed with an enhanced sense of perspective through the use of special goggles.
- Massively Multiplayer Online games typically involve persistent player-attained wealth, which players develop over time. Typically (as with games such as World of Warcraft or Guild Wars) this is accumulated with in-game play time. Some games, however, separate the time context from the user context in the pursuit of wealth. For example, in Eve Online, players can indicate how they wish their character to be developed (which new skills are to be learned), and then disconnect from the game. Meanwhile, their character will develop in real time. By removing the necessity for users to spend countless hours "grinding" to create powerful characters, more time is made available for the spontaneous interactions the game is known for (or for users to pursue a healthy lifestyle out-of-game).
- In PC games, there has historically been lots of potential for user modifiability. Examples include modification of the user's control scheme, graphics and sound tweaks, scripting/automation of player actions, and replacement of visual UI elements (heads-up display, textures, models) with custom ones. This is an example of a situation where the user can be made aware of the computing context of the game (how the graphics engine works, how user input is processed) but still benefit from it. "Power users" who optimize the in-game environment to their needs do not have the notion of 'realism' spoiled - rather, they feel more 'in control' over the in-game world.
- A primary goal of user interface design for games should be to bring the user's mental model of the game world closer to the computer's representation of it.
Further Reading
- Direct Manipulation - a technique for interface design in these contexts
- The motivation behind the study of HCI (and recognition of these contexts)
External Links
- Latest iPhone 3G technology
- BlackBerry Smartphone features
- Novint Falcon production information
- Demonstration of the Novint Falcon haptic feedback controller
- Team Fortress 2 "Meet the Spy" trailer showcases advanced animation and graphics techniques employed in modern games
- Motion blur in Team Fortress 2
- NVidia 3D Vision
- Video camera feed presented remotely via cell phone interface
- MIDI Controllers apply a familiar human interface (keyboard, drum pads, dials etc) to software music production
- Another example of a MIDI controller. After a quick setup, the user is completely removed from the software's interface
References
- Anind K. Dey and Gregory D. Abowd. Towards a Better Understanding of context and context-awareness. Technical Report GIT-GVU-99-22, Georgia Institute of Technology, College of Computing, June 1999
- Chen, G. and D. Kotz, A Survey of Context-Aware Mobile Computing Research. 2000, Dartmouth College