1 Introduction

Pointing is one of the most common operations in graphical user interface (GUI) environments. Conventionally, to select a target object, the cursor first has to be moved to the exact position of the target object. Further, the selection area of the object is defined as the area on which a click is performed to select the object. Thus, in conventional pointing cursor environments, the selection area is the object itself. The time to select a target object follows Fitts’ Law, defined in (1) and (2) [1, 2]:

$$\begin{aligned} T_p = a + b \times ID, \end{aligned}$$
(1)
$$\begin{aligned} ID = \log _2{\left( \frac{A}{W} + 1 \right) }, \end{aligned}$$
(2)

where

  • \(T_p\) is the average mouse movement time;

  • ID is the difficulty of movement to select a target object;

  • A is the distance between the current cursor position and the center of the target object;

  • W is the width of the target object; and

  • a and b are empirically determined constants, which depend on the device and the user.

There are two known problems with the conventional pointing cursor technique: It takes a considerable amount of time to 1) select a small target object, and 2) select a target object that is at a distance from the current position of the cursor. In this paper, we focus on the latter issuue. This problem occurs when an user needs to move his/her mouse over a relatively long distance. Thus, to reduce the time taken, the distance the mouse moves to select the long-distance objects needs to be shortened. To solve the problem of selection of long-distance object, we propose a new pointing technique called “Airway Cursor.” Airway Cursor improves pointing performance in the GUI by jumping to a desired target object from the current position of the cursor based on the direction of mouse movement; thereby, facilitating faster and easier selection. Using Airway Cursor, users can easily and quickly select a target object simply by moving their mouse slightly toward the target object.

2 Related Work

In conventional pointing cursor environments, the selection area is on the object; consequently, the cursor has to be moved to an arbitrary position on the object and clicked in order to select the object. From (1) and (2), \(T_p\) is reduced when the object increases in size. However, increases in the size of the object are accompanied by proportional increases in the object to screen ratio, which influence other objects, such as information displayed to the user, being difficult to arrange on the screen. This is especially problematic when there are many objects that need to be arranged.

Similarly, \(T_p\) can be reduced when the distance that the cursor needs to move is shortened. The distance from the cursor to objects can be shortened by reducing the size of the area over which the cursor needs to move (i.e., the screen). However, this means that the area in which all objects are arranged will get smaller. Consequently, all objects would have to become smaller. Thus, it is also difficult to shorten \(T_p\).

There are two practical methods by which \(T_p\) can be reduced without the above disadvantages. The first method is to make mouse movement shorter than with the conventional pointing cursor. Bubble Cursor [3], Delphian Desktop [4], and Drop and Pop [5] are based on this idea.

With Bubble Cursor, users can select the object nearest to the cursor by clicking, even if the cursor is not on the object. This means that the effective size of the target object is expanded based on Voronoi diagram. Using this technique, enlarging the effective size of each target object can effectively reduce the distance to the target object, resulting in users being able to select target objects faster than with the conventional pointing cursor. However, with this technique, it is difficult to select a target object in areas that are densely packed with many prospective targets. This means that users cannot take full advantage of this technique in such the situation.

Delphian Desktop predicts the target object that users wish to select based on the direction and velocity of the mouse movement. After the prediction, the cursor jumps to the predicted target object. Thus, the cursor is moved faster to a faraway target object. However, the technique sometimes fails to predict the correct target object. In addition, in cases where the distance between a target object and the current position of the cursor is relatively short (less than 800 [px]), the method takes considerably more time than the conventional pointing cursor to select target objects.

The second method by which \(T_p\) can be reduced without the disadvantages is to decrease the rate of selection error, which occurs when the cursor passes through the selection area of a target object. Sticky Icon [6, 7] and Birdlime Icon [8] are based on this technique. They can increase W in (1) and (2), but they also increase the user’s cognitive load.

3 Airway Cursor

Airway Cursor aims to make mouse movement shorter than that of Bubble Cursor, and without the unreliable prediction of Delphian Desktop.

3.1 Overview

Airway Cursor has two modes: Airway mode and Point mode. In Airway mode, the entire screen is divided into two kinds of selection areas: a Focused area and Object areas. The Focused area is around the current position of the cursor, whereas an object area is determined for each object based on the bisector of each pair of objects (see Fig. 1). Users can select an object only by clicking the Focused or Object area that corresponds to that object. If a certain Object area is too small to click, then an object area is not created. Nevertheless, a farway object without its own object area can be selected by skipping on intermediate objects, as illustrated in Fig. 2, based on the division of areas that are refreshed at each object in the skipping activity. In Point mode, an object can be selected in the same manner as that of the conventional pointing cursor.

Fig. 1.
figure 1

Airway Cursor with object areas

Fig. 2.
figure 2

The change of the object areas of Airway Cursor in a dense packing scenario

3.2 Assigning Selection Area

The method by which selection areas are assigned is illustrated in Fig. 3. In this figure, each number written in italic for each selection area indicates that the area is for the object with the corresponding number.

  1. 1.
    1. (a)

      if the cursor is on a certein object then

      1. i.

        the object under the cursor is labeled \(O_f\).

      2. ii.

        A focused point is defined as the center of \(O_f\).

      3. iii.

        A focused area is defined as a circular area whose center is the focused point. This area is the selection area of \(O_f\).

    2. (b)

      else

      1. i.

        the focused point is defined as the point of the cursor.

      2. ii.

        The focused area is defined as a circular area whose center is the focused point.

  2. 2.

    Sets of objects, \(S_a\) and \(S_b\), are defined. Initially, \(S_a\) has all objects, except for \(O_f\), and \(S_b\) is an empty set.

  3. 3.

    The nearest object (labeled \(O_n\)) to the focused point in \(S_a\) is removed from \(S_a\).

  4. 4.
    1. (a)

      if \(S_b\) is not empty then

      1. i.

        straight lines are drawn from the focused point to the center of each of the objects in \(S_b \cup \{O_n\}\). Further, bisectors are drawn for each pair of adjacent lines. (These bisectors are called object boundaries.)

      2. ii.

        If any angle between two adjacent object boundaries is greater than the specified threshold (15 degree in this paper), then a coresponding object area is created, and \(S_b=S_b \cup \{O_n\}\).

    2. (b)

      else

      • \(S_b=\{O_n\}\).

  5. 5.
    1. (a)

      if \(S_a\) is not empty then

      • Return to process 3.

    2. (b)

      else

      1. i.

        draw boundaries for the objects in \(S_b\).

      2. ii.

        Assign each area between two object boundaries as the object area for the corresponding object in \(S_b\). (As shown in Fig. 4, sometimes two objects are in the same direction. In such a case, the bisector line is on the center of both objects. In this case, the right selection area from the focused point is assigned for the farther object.)

Fig. 3.
figure 3

Selection area assignment example

Fig. 4.
figure 4

Assigning object areas when two objects are in the same direction from the focused point

The results at each step in the assignment of selection areas in Fig. 3 are displayed in Table 1. At Step 13, the angle for Object 5 is less than the threshold mentioned at 4.(a)ii; consequently, no selection area is created for Object 5.

3.3 User Operation

In Airway Cursor, an user uses two buttons: Button 1 and Button 2. Button 1 is used for target object selection (the same as the left button in the conventional pointing cursor).

Table 1. Transition of object sets in the arrangement of selection areas in Fig. 3

In Point Mode:

figure a

3.4 Shortening Mouse Movement

If there is no objects in the same direction between the cursor and the target object, the user needs only move the cursor the distance of the radius of the focused area. On the other hand, if there are many objects in the same direction between the cursor and the target object, the target object will not be assigned an object area like the case for Object 5 in Fig. 3. In this case, the user needs to select some intermediate objects. The distance between the cursor and the target object is represented by \(D_a \)in (3) below:

$$\begin{aligned} D_a=(N + 1) D_c, \end{aligned}$$
(3)

where

  • N is the number of intermediate objects, and

  • \(D_c\) is the radius of the focused area.

Initially, the cursor is on the focused area. If an object corresponding to the focused area is a target object, A in (2) is zero. In this situation, \(D_c\) can be suffiiciently small, because ID does not increase in any \(W = D_c\). Consequently, even if N clicks are needed, \(D_a\) is sufficiently small that ID will not increase.

3.5 Influence of Multiple Clicks

Fitts’ Law is assumed for the situation in which the user selects a target object via a single click. In the case where an intermediate object is utilized in selecting the target object by Airway Cursor, multiple clicks are needed, resulting in extra time being incurred. The extra time incurred by an aditional click is a in (1), which is mainly for recognizing the target object when using Airway Cursor to select a target object. The position of the target object remains unchanged during the selection process; consequently, the direction of each mouse movement between clicks can be easily predicted. This means that the constant a after the first click may be small. Therefore, the time for selecting a target object can be short, even when an user selects intermediate objects.

4 Conclusion

We proposed a new technique called “Airway Cursor” that reduces the distance the cursor needs to move to select a target object, regardless of how such objects are arranged. Consequently, users can select target objects quickly with Airway Cursor.

In future work, we plan to conduct experimental evaluations that compare the speed of Airway Cursor with other pointing techniques, specifically, Delphian Desktop and Bubble Cursor. The operation of Airway Cursor, Bubble Cursor, and Delphian Desktop is not familiar to most persons. Therefore, we anticipate that participants will need to practice with the three pointing techniques prior to the start of the actual evaluations.