On-screen Target Acquisition through Mouse Movement Recognition

advertisement
On-screen Target Acquisition
On-screen Target Acquisition through Mouse Movement Recognition
Hyun W. Ka, M.S; Richard C. Simpson, PhD; Vinod K. Sharma, PhD
Department of Rehabilitation Sciences and Technologies, University of Pittsburgh
ABSTRACT
In this paper we present a new design idea as an alternative to improve on-screen target
acquisition for individuals who have difficulty pointing by inferring the user’s intended target from the
user’s mouse movements. The intended target is inferred based on real-time mouse movement
information and the properties of all user interface elements currently displayed on the computer screen.
During preliminary testing of the prototype application, the software reduced pointing errors and the
physical effort needed to operate a pointing device. The software is compatible with a range of existing
pointing technologies.
Keywords: pointing; on-screen target acquisition; computer access; mouse movement recognition; intent
recognition
BACKGROUND
Since the graphical user interface (GUI) was introduced, the ability to acquire on-screen targets
has been a critical component of effective computer access. However, this emphasis on pointing has
made it more difficult for some individuals with motor impairments to access a computer. Problems with
on-screen target acquisition include difficulty positioning the mouse cursor within a confined area,
slipping off targets, and trouble moving the mouse cursor in a straight line [1]. These types of problems
can cause the user to restart or undo subsequent actions, which usually increases the total time needed to
complete the task. There have been a variety of research efforts to address this problem, such as area
cursors [2], bubble cursors [3], bubble targets [4], force fields [5], goal crossing [6], gravity wells [7],
multiple monitors [8], object pointing [9], semantic pointing [10], and sticky icons [11]. However,
because user needs and abilities are extremely diverse, not only between users but also for the same user,
the existing technologies are not able to cover all issues. This research presents another alternative to
improve on-screen target acquisition for individuals who have difficulty pointing by inferring the user’s
intended target from the user’s mouse movements.
METHOD
On-screen Target Acquisition
Design Criteria
Four design principles were used to evaluate the quality of our design idea. 1) Ease of use: The
proposed design idea should minimize the efforts needed to acquire on-screen targets of interest. 2)
Specificity: The design should be able to keep the user from acquiring unwanted targets. 3) Efficiency:
The number of steps to acquire a target of interest should be minimized. 4) Flexibility: The design
should be compatible with a range of existing pointing technologies to ensure maximum adaptation to
user needs.
Underlying Design Technologies
Two types of information are required to infer the intended target: (1) real-time mouse
movement information and (2) the properties of all user interface (UI) elements currently displayed on
the screen. In order to get mouse movement data, we employ a system events hooking technique to
monitor and intercept mouse events. The information retrieved includes all details associated with
mouse movements and operations. In order to get the properties of UI elements, we employ the
accessibility application programming interface (API) provided by Microsoft Windows. The technology
allows software developers to programmatically make all of the standard UI elements (e.g., button, edit
box, list control, combo box, icon, scroll, and etc.) expose their properties to the client software. The
properties of UI elements can be represented by a hierarchical tree structure as shown in Figure 1. To
effectively manage the information retrieved from the above two technologies, we devised a dynamic
virtual screen object model (SOM). Each time the user moves the mouse cursor, the SOM updates its
record of mouse operations, and whenever the top level window is changed, the UI tree is reorganized.
----------------------------------Figure 1 Goes Here
-----------------------------------
Design algorithm
Mouse movement information allows the software to calculate motion parameters (e.g. distance,
direction, speed), which are used to trigger the decision making process. The information included in
each node of the UI tree serves as a point of reference. Each motion parameter plays its own role in the
algorithm. Distance determines how far the target of interest is away from the current mouse position.
Direction, which is evaluated from the movement angle, determines the relative position of the target,
and speed along with distance acts as a threshold for whether or not the decision making process should
be activated. Each node in the UI tree corresponds to a UI element on the screen. It can be used not only
to indicate what kind of UI element a particular control represents (such as a button, icon, or menu), but
also to determine what types of controls are available in the current context and how to interact with
On-screen Target Acquisition
them. When the user makes any kind of mouse movement, the agent for decision making interprets the
mouse event and characterizes the pointer’s motion. If the parameters describing the pointer’s motion
exceed a threshold, the agent starts the decision making process, navigating the UI tree to find the target
of interest based on the motion parameters. When reaching the target, the agent provides information
about it to the client application.
RESULT
In order to evaluate the feasibility and performance of the presented design idea, we developed a
prototype application for the Microsoft Windows operating system. The UI Automation API included in
MS .Net Framework 3.5 was employed, and Microsoft Visual Studio 2008 Professional edition was used
as the main development tool. The software was implemented using two programming languages: C++
for low level event hooking and C# for the client application.
The prototype application infers the user’s intended target from the user’s mouse movements.
Thus, the user is not required to keep moving the mouse cursor until it reaches the intended target.
Instead, the user determines the direction where the target of interest is and makes a short mouse
movement. Then, as shown in Figure 2, the software predicts the target of interest (surrounding it with a
yellow rectangle) and automatically moves the mouse cursor toward it. When the mouse cursor reaches
the target, the yellow rectangle turns red, as shown in Figure 3.
----------------------------------Figure 2 Goes Here
--------------------------------------------------------------------Figure 3 Goes Here
----------------------------------Involuntary movement, as one of the most frequent errors associated with mouse operation, can
cause the user to get unwanted targets. In order to prevent that kind of error, the application allows the
user to adjust the threshold for triggering the on-screen target acquisition process. The process does not
start until the mouse movement exceeds given speed and distance thresholds. When the result of
prediction represented by a yellow rectangle does not point to the intended target, the user can cancel the
process by making a random mouse movement to which the same threshold mechanism is applied. Then,
the yellow rectangle disappears and mouse movement is stopped. In addition to this, the application also
provides a sticky function snapping a mouse cursor to the center of the target to prevent slipping out of it.
Blocking and occlusion, where surrounding targets interfere with the cursor’s approach to the
intended target, can increase the number of steps to get access to the target. To address this issue, the
presented design utilizes the distance of current movement. Based on the distance, the design algorithm
On-screen Target Acquisition
determines how far the target should be away from the current mouse position. For the prototype, the
determination is made just for two cases: the nearest and the farthest one.
Considering maximum adaptation to user needs, as shown in Figure 4, the prototype application
provides options for the user to customize the functionalities of it: change the threshold of trigger and
cancellation, adjust movement speed, and predefine the types of target of interest by selecting or
unselecting each of them.
----------------------------------Figure 4 Goes Here
----------------------------------During a preliminary test of the prototype application with common pointing devices (including
a standard mouse, trackball, touchpad, and a head-mounted mouse emulator), it was observed that the
software is compatible with them, reduces pointing errors and difficulties with acquiring on-screen
targets, and reduces the physical effort needed to operate the pointing devices.
DISCUSSION
Our goal is to improve on-screen target acquisition for people with motor impairments by
inferring the intended target from their short mouse movements. We have made an algorithm for
inferring the target of interest by integrating the current mouse events with properties of UI elements
currently displayed on the screen. This approach allows the users to use their familiar pointing devices
without additional settings or modifications, and minimizes the physical effort needed to reach the
intended target. Since the current work is focused specifically on acquiring the target of interest, the
succeeding mouse operations with the acquired target like clicking and dragging are not considered here.
Future directions include holding focus groups and collecting empirical data from clinical trials.
ACKNOWLEDGEMENT
This study is funded by the Quality of Life Technology Engineering Research Center, National Science
Foundation (EEC-0540865).
REFERENCES
1.
HWANG F, KEATES S, LANGDON P, CLARKSON J. Mouse movements of motion-impaired
users: a submovement analysis. ACM New York, NY, USA, 2004: 102-09.
On-screen Target Acquisition
2.
KABBASH P, BUXTON W. The "Prince" Technique: Fills' Law and Selection Using Area
Cursors. ACM New York, NY, USA, 1995: 273-79.
3.
GROSSMAN T, BALAKRISHNAN R. The bubble cursor: enhancing target acquisition by
dynamic resizing of the cursor's activation area. ACM New York, NY, USA, 2005: 281-90.
4.
COCKBURN A, FIRTH A. Improving the acquisition of small targets. People and Computers.
2004:181-96.
5.
AHLSTRÖM D, HITZ M, LEITNER G. An evaluation of sticky and force enhanced targets in
multi target situations. ACM, 2006: 67.
6.
WOBBROCK J, GAJOS K. A comparison of area pointing and goal crossing for people with
and without motor impairments. ACM, 2007: 10.
7.
HWANG F, KEATES S, LANGDON P, CLARKSON P. Multiple haptic targets for motionimpaired computer users. ACM New York, NY, USA, 2003: 41-48.
8.
BAUDISCH P, CUTRELL E, HINCKLEY K, GRUEN R. Mouse ether: accelerating the
acquisition of targets across multi-monitor displays. ACM New York, NY, USA, 2004: 1379-82.
9.
GUIARD Y, BLANCH R, BEAUDOUIN-LAFON M. Object pointing: a complement to bitmap
pointing in GUIs. Canadian Human-Computer Communications Society School of Computer Science,
University of Waterloo, Waterloo, Ontario, Canada, 2004: 9-16.
10.
BLANCH R, GUIARD Y, BEAUDOUIN-LAFON M. Semantic pointing: improving target
acquisition with control-display ratio adaptation. ACM New York, NY, USA, 2004: 519-26.
11.
WORDEN A, WALKER N, BHARAT K. Making computers easier for older adults to use: area
cursors and sticky icons. ACM New York, NY, USA, 1997: 266-71.
Author Contact: Hyun W. Ka
Department of Rehabilitation Sciences and Technologies, University of Pittsburgh
853 Bakery Square, 6465 Penn Avenue, Suite 401 Pittsburgh, PA, 15206
Hyk21@pitt.edu
(412) 390-8241
Download