Contexts for HCI
From Computing and Software Wiki
m (→Examples of HCI Contexts: Removing unused headers) |
|||
(20 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
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. | 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. | + | 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. |
Line 8: | Line 8: | ||
=Types of Context in HCI= | =Types of Context in HCI= | ||
- | + | [[Image:virtualreality.jpg|left|thumbnail|250px| Virtual reality systems have historically been associated with clunky, awkward user interfaces.]] | |
+ | [[Image:Simulator.jpg|right|thumbnail|200px| The CAS Simulator, located in ITB-158, is a striking alternative. ]] | ||
==User Context== | ==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 | + | * 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), the user’s location (e.g. absolute position, indoors, outdoors) and orientation, nearby objects, the people nearby and the social situation. | |
==Time Context== | ==Time Context== | ||
- | |||
+ | |||
+ | * The time context covers relevant information related to time such as absolute time, date, day of the week and season. | ||
==Physical Context== | ==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. | ||
+ | * In the simulator presented to the right, the physical world is affected by the computer simulation. The actuated chassis responds to the user's input through the computer. | ||
==Computing Context== | ==Computing Context== | ||
+ | |||
+ | |||
* The computing context contains everything related to computational resources. | * 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. | * This can include things such as available networks, network bandwidth, communication costs and nearby computational resources such as printers or fax machines. | ||
+ | |||
Line 33: | Line 40: | ||
==Mobile Devices== | ==Mobile Devices== | ||
- | + | [[Image:iPhone3G-accelerometer.jpg |right|thumbnail| iPhone responds to motion using a built-in accelerometer.]] | |
+ | [[Image:BlackBerry_Bold_9700.jpg | right|thumbnail| BlackBerry Bold 9700]] | ||
- | |||
- | |||
- | |||
- | * | + | * A mobile device is a pocket-sized computing device, typically having a display screen with touch input or a miniature keyboard. It is by its own nature a social device, used by people to connect with people. The most successful mobile devices are those which are great at delivering an excellent user experience. These excellent experiences are those which 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 user's 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 (say, 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. |
- | * Product designers need to | + | * 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 user's 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 screen. The ambient light sensor in the iPhone 3G automatically brightens the display when one is 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 user's 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 first 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 achieve an excellent user experience. | ||
==Consumer Devices== | ==Consumer Devices== | ||
+ | [[Image:Internetfridge.jpg|left|thumbnail| In extreme cases, one can restock their refrigerator ''on the internet''.]] | ||
+ | |||
+ | |||
* 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. | * 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. | * 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. | + | * 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. | + | * 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 (RAID controller in a network storage device). 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 ( | + | * 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 (washing machines). |
- | * 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). | + | * 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). In some cases (for example a virtual reality simulator), a feedback loop can be created between the user's input and the system's response to the user. |
* Embedded computing systems must always be designed with changing user/physical contexts in mind. | * Embedded computing systems must always be designed with changing user/physical contexts in mind. | ||
- | |||
==Business Applications== | ==Business Applications== | ||
+ | * Use of business applications in assisting and developing a business is increasing ever since the advent of computer. Not only computers, mobile phones, PDAs, digital diaries etc are among many devices equipped with applications to meet users’ business needs. Such applications fulfill documentation, conferencing, merchandising, advertising needs etc. | ||
+ | * The user context for most of the business applications do not vary significantly. Mostly, users from indoor locations access such applications to perform business tasks. | ||
- | + | * Teleconferencing provides low cost conference solution to professionals sitting in different areas around the world. It saves travel costs and time to reach clients at remote locations. Businesses use audio/visual conferences to hold many meetings at executive levels daily to make big decisions in short span of time. | |
+ | * Many businesses are based on merchandising applications and systems that provides an easy way for users to buy and sell products. EBay is a popular online store for products sale and purchase. Facility to auction is also available; users with credit/bank accounts can log in and can bid above specified minimum value. Marketing divisions of many companies advertise using banners, flash popups with sounds. | ||
- | + | * Time context of business applications is integral. Most of the applications has more than one date field eg. Starting date, date today, due date, shipment date etc. Some of the applications have different calculation rates (e.g. discount rates) for specific periods depending on market business. Users go to a back date and can perform calculations based on previous rates. | |
+ | * SAP is delivering products and services that help accelerate business innovation for many organizations around the world. The physical context of such applications may include costs analysis and calculations, information handling and storage, production rates, resource management etc. Users require trends and graphical representation to observe business progress and market trends. | ||
+ | |||
+ | * The computing context of business applications is rarely used by end-users. However, such applications that are developed by companies their selves like products selection or sizing tools might require user to interact with the computing behind. But that usually involves adding something or modifying a fixed parameter e.g. product code. For any high level modification, trained personnel are available. | ||
==Games== | ==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. | + | * '''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. | * 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 | + | * 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 [http://www.youtube.com/watch?v=1IKYDkDPres here] 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. |
- | [[Image:Uncharted 2.jpg|left|thumbnail | + | [[Image:Uncharted 2.jpg|left|thumbnail| Uncharted 2 is a recent game acclaimed for its heavily stylized, engaging graphics]] |
- | + | [[Image:pong.jpg|right|thumbnail| The level of detail and immersion in computer games has increased dramatically since their humble beginnings.]] | |
- | * Another method of connecting the user context with the physical context is realistic computer graphics. Features such as motion-blurring (shown [http://www.youtube.com/watch?v=m2F-3f7skps 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. | + | * Another method of connecting the user context with the physical context is '''realistic computer graphics'''. Features such as motion-blurring (shown [http://www.youtube.com/watch?v=m2F-3f7skps 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 the rules of human vision (such as perspective, scale, brightness, colour, contrast) 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. | * 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 | + | * 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 to 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 interface (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. Novice users who do not research modifiable aspects are kept essentially unaware of the inner workings of the game. |
* 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. | * 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= | =Further Reading= | ||
- | *[http://www.cas.mcmaster.ca/wiki/index.php/Direct_Manipulation Direct Manipulation - a technique for interface design in these contexts] | + | *[http://www.cas.mcmaster.ca/wiki/index.php/Direct_Manipulation Direct Manipulation - a technique for interface design in these contexts] - For a good example, see the [http://www.cas.mcmaster.ca/wiki/index.php/Contexts_for_HCI#External_Links External Links] to video of MIDI Controllers in action. |
*[http://www.cas.mcmaster.ca/wiki/index.php/Motivations_for_the_Studying_of_HCI The motivation behind the study of HCI (and recognition of these contexts)] | *[http://www.cas.mcmaster.ca/wiki/index.php/Motivations_for_the_Studying_of_HCI The motivation behind the study of HCI (and recognition of these contexts)] | ||
- | + | *[http://www.cas.mcmaster.ca/wiki/index.php/HCI_-_Accommodating_human_diversity The notion of 'user context' is important to accommodating human diversity] | |
=External Links= | =External Links= |
Current revision as of 17:52, 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), the user’s location (e.g. absolute position, indoors, outdoors) 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.
- In the simulator presented to the right, the physical world is affected by the computer simulation. The actuated chassis responds to the user's input through the computer.
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 its own nature a social device, used by people to connect with people. The most successful mobile devices are those which are great at delivering an excellent user experience. These excellent experiences are those which 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 user's 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 (say, 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 user's 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 screen. The ambient light sensor in the iPhone 3G automatically brightens the display when one is 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 user's 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 first 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 achieve 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 (RAID controller in a network storage device). 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 (washing machines).
- 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). In some cases (for example a virtual reality simulator), a feedback loop can be created between the user's input and the system's response to the user.
- Embedded computing systems must always be designed with changing user/physical contexts in mind.
Business Applications
- Use of business applications in assisting and developing a business is increasing ever since the advent of computer. Not only computers, mobile phones, PDAs, digital diaries etc are among many devices equipped with applications to meet users’ business needs. Such applications fulfill documentation, conferencing, merchandising, advertising needs etc.
- The user context for most of the business applications do not vary significantly. Mostly, users from indoor locations access such applications to perform business tasks.
- Teleconferencing provides low cost conference solution to professionals sitting in different areas around the world. It saves travel costs and time to reach clients at remote locations. Businesses use audio/visual conferences to hold many meetings at executive levels daily to make big decisions in short span of time.
- Many businesses are based on merchandising applications and systems that provides an easy way for users to buy and sell products. EBay is a popular online store for products sale and purchase. Facility to auction is also available; users with credit/bank accounts can log in and can bid above specified minimum value. Marketing divisions of many companies advertise using banners, flash popups with sounds.
- Time context of business applications is integral. Most of the applications has more than one date field eg. Starting date, date today, due date, shipment date etc. Some of the applications have different calculation rates (e.g. discount rates) for specific periods depending on market business. Users go to a back date and can perform calculations based on previous rates.
- SAP is delivering products and services that help accelerate business innovation for many organizations around the world. The physical context of such applications may include costs analysis and calculations, information handling and storage, production rates, resource management etc. Users require trends and graphical representation to observe business progress and market trends.
- The computing context of business applications is rarely used by end-users. However, such applications that are developed by companies their selves like products selection or sizing tools might require user to interact with the computing behind. But that usually involves adding something or modifying a fixed parameter e.g. product code. For any high level modification, trained personnel are available.
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 here 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 the rules of human vision (such as perspective, scale, brightness, colour, contrast) 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 to 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 interface (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. Novice users who do not research modifiable aspects are kept essentially unaware of the inner workings of the game.
- 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 - For a good example, see the External Links to video of MIDI Controllers in action.
- The motivation behind the study of HCI (and recognition of these contexts)
- The notion of 'user context' is important to accommodating human diversity
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