Professional Documents
Culture Documents
2003 Baudisch Interact03 HighDensityCursor PDF
2003 Baudisch Interact03 HighDensityCursor PDF
2003 Baudisch Interact03 HighDensityCursor PDF
Keywords: Mouse cursor, large displays, temporal super sampling, motion blur, Fitts’ law, mouse trail.
2 High-density cursor d e f
The high-density cursor (hd cursor) addresses this Figure 2: (a-c) Three successive screenshots from a
issue by creating a denser cursor track, as shown in mouse movement enhanced with the Windows mouse
trail. Trailing cursor images lag behind. (d-f) The same
Figure 1b. This is accomplished by filling in addi-
traversal with high-density cursor; additional cursor im-
tional cursor images into the space between the cur- ages are inserted between the two most recent cursor posi-
rent cursor position and the previous cursor position. tions, resulting in a dense and lag-free trail.
Figure 1b shows the same mouse motion as Figure
1a; both images were created by overlaying two suc- In the remainder of this paper, we will briefly
cessive images on the computer screen, so-called discuss the related work, discuss design decisions
frames. The left-most cursor image in each frame in and options, and present the results of a controlled
Figure 1b is rendered at the newest position read experiment in which hd cursor significantly in-
from the mouse device. The other three cursor im- creased the target acquisition speed of the partici-
ages of each frame are filled in to make the mouse pants. We conclude with a brief discussion of the
trail appear denser. findings and an outlook to future work.
High-density cursor addresses two main objec-
tives. First, it increases the visual continuity between 3 Related work
cursor images in order to help users track and ex-
trapolate the path of the cursor. Second, the denser The general problem of long-distance target acquisi-
track created by hd cursor makes it easier to visually tion has been the subject of a whole series of inter-
acquire than a regular cursor. The larger number of action techniques. Since cursor motion generally
cursor images on the screen gives hd cursor more follows eye motion (e.g. Card et al., 2001), several
saliency or “visual weight” which makes it easier for techniques have been proposed that use eye gaze to
users to detect as it approaches a target. For exam- warp the cursor to the target either directly selecting
ple, there are four times more cursor images in the the target (Sibert and Jacob, 2000) or combined with
example shown in Figure 1. manual cursor motion (Magic pointing, Zhai et al.,
High-density cursor achieves these objectives 1999). Other researchers proposed snapping the
without sacrificing the responsiveness of the mouse. mouse to target locations. Dulberg et al. (1999) pro-
Techniques that enhance the visibility of the cursor posed a flying click or flick for that purpose (see
by displaying individual cursor images for a longer also Moyle and Cockburn, 2002), Swaminathan and
period of time (e.g. the Windows mouse trail) result Sato (1997) proposed making relevant controls on
in the appearance of a trail following the cursor.
Since trailing cursor images continue to move after 1
Responsiveness is hard to communicate using non-
the user stops moving the mouse, this approach
interactive media such as images, video, or text. An in-
leads to the perception that the mouse does not im- teractive Flash demo of the hd cursor can be tried out at
mediately respond to the user’s action. Hd cursor is http://research.microsoft.com/users/baudisch
the screen “sticky”. Geißler (1998) presented a tech- target’s location, then they looked at the cursor and
nique that allows “throwing” objects to distant moved the cursor to the target while visually track-
screen locations. In order to simplify targeting, some ing it. The other subset used the opposite approach,
researchers explored techniques expanding targets i.e. they started by identifying the cursor location,
(McGuffin and Balakrishnan, 2002). then looked at the target, and stayed focused on the
Techniques enhancing the detectability of the target while moving the cursor towards it. Hd cursor
mouse cursor have been offered by several products. is shaped according to two simple design objectives
Kensington Mouseworks (2001) offers an option derived from these user strategies.
that enlarges the mouse cursor when the mouse 1. Enhance the predictability of the cursor path.
moves rapidly, then slowly shrinks it back to its Especially when tracking the cursor, better predict-
regular size. The previously mentioned Windows ability will help users detect motion errors earlier
mouse trail was designed to enhance the visibility of and make better guesses where the cursor went when
the mouse cursor on LCDs with a slow response by lost. In this section, we will discuss three properties
leaving cursor images on the screen for two or more of hd cursor designed to enhance predictability: en-
frames. Ben Bederson’s LiveCursor points in the hanced trail density/continuous blur, smooth interpo-
direction of its motion, thereby providing an addi- lation of the cursor path, and the preservation of trail
tional visual cue for the cursor’s motion direction density as a cue for cursor speed.
(http://www.cs.umd.edu/~bederson/livecursor). 2. Increase the detectability of the cursor. Hd
Motion blur, the general concept hd cursor is de- cursor increases the visual weight of the mouse cur-
rived from, is well known in both photography and sor to make it easier to detect. While higher visual
computer graphics (Cook, 1984). In photography, weight should also make the cursor easier to track, it
motion blur occurs because the shutters of real- will especially help re-acquiring the cursor, as it
world cameras remain open for a non-zero amount makes the approaching cursor easier to detect. In the
of time. This makes the camera capture a finite seg- following, we will discuss three properties of hd
ment of time on each picture, which makes moving cursor that are designed to increase its visual weight,
objects appear blurry. In computer graphics, motion i.e. enhanced trail density, enhanced cursor opacity,
blur generally has to be generated explicitly, e.g. by and cursor scaling.
rendering a scene multiple times with little time in- While striving to achieve these two main objec-
crements in between and aggregating the results tives, hd cursor was designed to keep side effects to
(Dachille and Kaufman, 2000). Here, motion blur is a minimum. Most important, we limited ourselves to
used to reduce temporal aliasing, such as to prevent changes that do not affect the responsiveness of the
spokes of a wheel from appearing to rotate back- mouse cursor. Besides that, we kept a close eye on
wards. Creating motion blur is computationally ex- the tradeoff between visual weight and potential side
pensive though, which has mostly limited the avail- effects thereof, such as distraction or the occlusion
ability of this technique to off-line rendering. In the of screen content.
space of user interfaces, motion blur has been used
to improve the perceived responsiveness of graphics 4.2 Design decisions
applications (Conner and Holden, 1997) and for When discussing design parameters in the following,
helping users anticipate motion by using rendering the cursor traversal shown in Figure 3a will serve us
styles inspired by cartoons (Chang, 1993; Thomas & as a reference example.
Calder, 2001). 4.2.1 Motion blur vs. temporal supersampling
In order to reduce the jumps between cursor posi-
tions, the hd cursor version described in Section 2
4 Designing high-density cursor uses temporal supersampling. In an analog world,
The high-density cursor version described in Sec- however, the cursor would not jump at all; it would
tion 2 is one specific instantiation in a larger design move continuously. Figure 3b shows a version
space. In this section, we state the goals around achieving such an effect by applying continuous
which we designed hd cursor, describe the design motion blur. As this figure illustrates, a naïve im-
aspects we explored, and the decisions we made. plementation of motion blur makes the cursor invisi-
ble at higher mouse speeds, as each cursor image
4.1 Design goals gets stretched out across hundreds of pixels, reduc-
During preliminary studies, we observed two strate- ing its opacity below what users could detect. Before
gies that participants used for acquiring distant tar- this technique can be considered, we have to in-
gets. One subset of users started by identifying the crease the opacity of the blurred cursor to a level
detectable to the user (Figure 3c uses opacity = 1/vk, While higher visual weight will generally make
with v denoting the cursor’s speed and 0<k<1, here the cursor easier to detect and thus help users visu-
k = ½).2 ally reacquire the cursor, additional visual weight
We implemented prototypes of both temporal may also interfere with the user’s primary tasks, as it
supersampling and continuous motion blur. While may attract more of the user’s attention and occlude
continuous motion blur leads to unsurpassed visual more screen content. In the design of hd cursor we
continuity, a high-density cursor visualization based addressed this issue by increasing the visual weight
on temporal supersampling has 4 advantages. First, of the cursor only when the mouse speed exceeds a
the latest cursor position is always shown blur-free certain threshold. In the example shown in Figure
and in full opacity. Second, the distance between 3d, the cursor remains unchanged for the first six
cursor images will typically be a stronger visual cue frames. Only as mouse speed exceeds the onset
for mouse speed than trail opacity (see below). threshold, cursor images are filled in (one cursor
Third, a supersampled cursor integrates itself well image in frame 7, three in frame8).
with the appearance of the normal cursor that users The optional cursor scaling is governed simi-
are familiar with today; in our user study, many par- larly, i.e. a motionless or slow moving cursor is al-
ticipants did not even notice the change. Fourth, it is ways its normal size, which also prevents potential
computationally less expensive. Because of these usability issues with target acquisition. As the cursor
reasons, we focused our research on temporal super- slowly passes the last few pixels towards the target,
sampling rather than continuous motion blur. it has already shrunk back to its original size so that
users carry out the final part of their target acquisi-
a tion with a cursor of familiar size (unlike Kensing-
b ton, 2001). Since the choice of visual weight in-
c volves tradeoffs that depend on the user’s tasks and
d preferences, we made all three parameters (density,
e opacity, and scaling) user-configurable. Figure 3d,
f for example, shows how a lower onset threshold
g leads to a denser trail.
h 4.2.3 Cursor trail density indicates mouse speed
frame
A regular mouse cursor offers an additional visual
acceleration
cue for mouse speed, namely the distance between
Figure 3: Alternative high-density cursor designs. The individual cursor images. Larger distances indicate
user moves the cursor from left to right, accelerating from that the mouse is moving fast; shorter distances indi-
0 to 256 pixels per frame. We overlay screen images from cate a lower mouse speed (see, for example, Figure
8 successive frames. (a) original cursor, (b) motion blur, 3a). Knowledge about the speed is potentially use-
(c) blur with enhanced opacity, (d) super sampled cursor,
ful, as it may help users detect over- or under-
(e) same with half onset threshold, (f) non-linear transition
function, (g) interpolated trail density, (h) cursor scaling. shooting early on. It therefore seems desirable to
preserve this property.
4.2.2 Detectability vs. intrusiveness Filling in additional cursor images can affect this
Hd cursor’s primary methods for increasing the de- cue. The trail shown in Figure 3e, for example,
tectability of the cursor is the enhancement of the evinces that there is some acceleration at the begin-
cursor’s trail density as already described. Other ning, but when hd cursor kicks in (frame 5), all fur-
enhancements may be applied in addition to that. ther acceleration becomes unperceivable. To pre-
One method that we have implemented is cursor serve at least some distance-speed proportionality,
scaling, which makes cursor images grow as a func- hd cursor makes distances between cursor images
tion of cursor speed (Figure 3h). grow with speed, as illustrated by Figure 3f. Our
current hd cursor implementation computes the
2
Note that we have implicitly applied a similar opacity number of cursor images c for a given frame using
enhancement to the temporal supersampling approach the following transfer function c(v) = (v/m)k with v
described in Section 2. Temporal supersampling by it- denoting the cursor’s speed, m the onset threshold,
self, i.e. rendering n translated cursor images and over- and k < 1 being the transfer function constant. If (v <
laying the results, results in each image having only 1/n
m), hd cursor is inactive and c(v) is set to 1. Figure 4
opacity. Obtaining opaque cursor images, as hd cursor
uses them, requires bringing opacity back to 100%,
illustrates the distance d between cursor images d =
which corresponds to enhancing opacity by a factor v/c(v) = m(v/m)1-k resulting from this definition.
on n.
placed in extension of the tangent to the previous
segment. Alternatively, a spline with a clamped and
ct
distance
fe
ef
between a relaxed end may be used. For details on Bezier and
no
cursor Spline algorithms, see (Rogers and Adams, 1990).
s
ha
transfer function
images Hd cursor interpolates cursor density and cursor
or
(configurable)
rs
size similarly, leading to a non-even distribution of
cu
hd cursor images within segments. This interpolation
cursor trail provides no speed cues
causes the cursor image in the middle of the 8th
frame in Figure 3g to be shifted to the left. In order
onset threshold to always provide a cursor image at the “real” cursor
(configurable) position, the interpolation of cursor locations may
have to be rounded.
mouse speed
Figure 4: Hd cursor preserves the distance between cursor 5 Lab user study
images as a visual cue for cursor speed by growing cursor
distances with mouse speed. To objectively evaluate performance using the high-
density cursor, we performed a user study using a
4.2.4 Smooth cursor path interpolation Fitts’ Law task. Fitts’ Law is a standard method for
When hd cursor is used, the peak number of cursor evaluating, optimizing, and studying properties of
images on the screen will typically exceed the num- pointing devices and techniques that is well-
ber of mouse location values the mouse device can accepted by the HCI community (MacKenzie, 1992;
provide, even if the full hardware sampling rate is Douglas, Kirkpatrick & MacKenzie, 1999). We
used (around 120Hz with some PC mice, for exam- tested three versions of hd cursor against a control of
ple). The locations of all additional cursor images the default system cursor.
then have to be determined using interpolation.
The choice of the interpolation function requires 5.1 Pre-study/interfaces
additional attention. Simple linear interpolation In order to obtain a useful set of candidate interfaces
gives cursor paths a polygon-shaped appearance, for the study, we conducted an informal survey prior
which not only exposes users to the presence of the to the actual user study. Fourteen coworkers partici-
“fake” cursor images—it may also make it harder pated in this pre-study. Participants were given a
for users to visually track the cursor across the prototype version of high-density cursor that al-
abrupt corners of the curve. Smooth interpolations lowed configuring onset, transfer function, and cur-
are typically created using higher level interpola- sor scaling. After experimenting with hd cursor in a
tions, such as cubic splines. Unfortunately, cubic test arena and trying out the individual options, par-
splines require knowledge about path segments on ticipants had to choose one set of “favorite” settings
both sides of each segment; in the case of the hd and report these settings to the experimenter. Re-
cursor this means past and future mouse coordinates. turned settings were collected and clustered by simi-
This type of interpolation is unsuitable, as waiting larity.
for later samples would require delaying the render- Onset parameters clearly fell into the two equally
ing of the cursor, which in turn would reduce the popular clusters 12-17 pixels/frame and 35 pix-
perceived responsiveness of the mouse. els/frame. We therefore chose to represent these two
Hd cursor therefore uses interpolation solely onset values in the user study. Transfer functions
based on past and current cursor positions. Since all chosen by the participants ranged from constant cur-
cursor images are displayed only for a single frame, sor density to cursor distance growing with the
it is not possible to modify segments of cursor im- square root of the mouse speed. Participants’ choice
ages already rendered, so that hd cursor renders ex- of transfer function was uncorrelated to onset. Since
actly one curve segment per frame. For our hd cur- the square root setting was most popular among par-
sor implementation, we chose to use a Bezier curve ticipants, we used this value in the study. Prefer-
of n=2, i.e. P(z) = Pt-1(1-z)2 + Pc2z(1-z) + Ptz2; with ences for scaling values ranged from no cursor
P denoting the vector containing the interpolated growth to 300% cursor growth. We chose the me-
cursor coordinates, Pt-1 and Pt being the previous and dian (200%) for inclusion in the study.
current mouse coordinates, Pc denoting the Bezier The resulting three high-density cursor interfaces
curve’s attraction point, and 0<z≤1 and. In order to were defined as follows. The HD_conservative in-
obtain first order continuity, attraction points are terface used an onset of 35 pixels/frame, the square
root transfer function, and no cursor scaling. The 5.4 Method
HD_tripleDensity interface was identical to the The Fitts’ Law task was administered using a modi-
HD_conservative interface, but used an onset of 12 fied version of WinFitts (courtesy of the Dept. of
pixels/frame, giving it a three times denser trail than Computer & Information Science, University of
the HD_conservative interface. The HD_plusScaling Oregon). Participants read a document with general
interface was identical to the HD_conservative inter- instructions for the task. For each mouse cursor con-
face with the only difference that during fast motion dition, participants were allowed to play with the
it scaled the cursor as much as 200%. The control mouse and acceleration parameters for a short time
interface was implemented as the regular Microsoft and then performed a block of practice trials to fa-
Windows mouse cursor. miliarize them with the task and mouse cursor set-
tings. They then performed a block of trials for that
condition. Each block consisted of a single trial for
each of the 25 distance-width combinations at 6 dif-
ferent target angles for a total of 150 trials per block.
Error conditions (where a target was missed) were
repeated in a random order at the end of the block.
The Fitts parameters used in the experiment were:
Width: 6, 12, 25, 50, 100 mm; Distance: 125, 250,
500, 750, 1000 cm; Angle: 0, 9, 171, 180 189, 351
degrees from start point. This yielded Fitts index of
difficulty measures ranging from 1.17 to 7.39 bits
(according to the formula ID=log2(D/W +1). Targets
were placed on a background of a spreadsheet con-
sisting of tables containing repeated numbers
Figure 5: The three-monitor setup with spreadsheet back- (Figure 5), to simulate a typical noisy work envi-
ground used in the experiment. ronment.
100 the least liked, with 7 votes for “Liked Least” and
none for “Liked Most.”
98
96
Condition Liked Most Liked Least
94
Control 0 7
92 HD_conservative 2 3
HD_tripleDensity 2 0
90
125 250 500 750 1000 HD_plusScaling 6 0
Target Distance (mm)
Figure 7: Mean movement time for each condition ex- Table 2: Ratings of favorite and least liked conditions in
pressed as the % relative to the control for each distance the study. Note that 2 participants reported no preference.
moved.