Finger occlusion avoidance on touch display devices

System and method for creating an information-free zone (“hole”) in the content displayed in the area of the display where the finger touches it. The content previously displayed in the hole is pushed to the sides around the hole and thereby remains visible. This avoids the occlusion of the content and allows the user to place the cursor on the display accurately.

FIELD OF THE INVENTION

This invention relates in general to methods and systems for providing interaction with touch screen devices and, more particularly, to providing a solution to the finger occlusion problem using a novel approach.

DESCRIPTION OF THE RELATED ART

Touch display devices are rising in popularity, particularly in the area of small displays (e.g., mobile phones) and large displays (e.g., wall sized multi-touch display systems and table top touch display systems). Touch displays offer compelling features for the direct manipulation of displayed items. The user can touch and manipulate objects with a control-to-display ratio of 1, which is how we expect manipulations to occur in the “real” physical world.

However, as in the physical world, it becomes difficult to manipulate objects that are smaller than one's finger tips. For instance, users exhibit difficulties hitting objects that are only a few pixels across, as evidenced by increasing error rates and user frustration. Therefore, on the aforementioned displays a finger occlusion problem exists that makes the acquisition of small targets difficult. The problem has been studied by others in the past. Most previous solutions use call-outs, offset cursors, or zooming lenses to mitigate the problem.

Finger occlusion is a highly relevant problem when interacting with touch display devices, particularly if the display size is small. If the display size is small then in order to fit a reasonable amount of information onto the display, the displayed textual material must be rendered using small fonts and the displayed graphical material must be rendered using small graphical objects. A higher likelihood of small selection or insertion targets, in turn, leads to a higher frequency and severity of the occlusion problem. However, even on large touch displays the occlusion problem can occur.

Most solutions to the occlusion problem operate by changing the scale of the displayed material (zooming), by expanding targets into unoccupied display spaces, by offsetting the input position from the pointer position or by offsetting a cutout of the occluded display portion which again leads to a subjective offset cursor situation. These approaches easily lead to a loss of user's focus or loss of context and potentially disorient users. Target expansion is hindered by large numbers and tightly packed targets, as is the case in text selection.

Earlier work has also shown that a major contributor to high error rates is the fact that users occlude the target with their finger tip and therefore do not know where exactly to place it.

A wide range of mechanisms have been proposed to deal with this difficulty. One type of mechanism expands the zone that can be hit with a finger to acquire a target beyond the size of the target. The aforesaid target zone is usually expanded into unoccupied display areas to prevent the obstruction of other displayed material. Targets can be acquired by tapping into the target's extended zone. This method is particularly useful if the targets are sparse, but it does not scale well to larger numbers of densely positioned targets. Additionally, users lose the experience of direct manipulation when they have to aim for the larger zone rather than the target itself, to disambiguate their selection.

A better approach in this case may be a gesture-based disambiguation. Here, the user aims for the target and then moves the finger in a direction indicated by the target's icon. The direction must be memorized before the tap and must be remembered for the duration of the occlusion. Obviously, targets must be annotated graphically in a way suitable to communicate the gesture used for disambiguation to the user. This is not useful in cases where a large number of annotations would be visually distracting, e.g., in text selection. Consider, for example, that serifs already have a significant impact on the readability of a text.

Other alternatives include offset cursors and call outs in the form of magnifying lenses that show what is currently under the finger of the user. Selection usually takes place on lift-off, which has been shown to significantly reduce error rates for touch displays in general and for the acquisition of small targets in particular. However, utilizing a call out in this situation can be somewhat inefficient.

Lastly, cursor keys have been used to step a target selection crosshair onto the desired target. This can be implemented in various ways, such as using virtual keys large enough to reliably tap on them, mice, and simulated track pads. However, the space that such cursor keys consume renders it an unviable solution especially in portable devices where space is a premium.

Therefore, there is a need for systems and methods that remedy the occlusion problem without the need for call-outs, yet provide the user with the feeling of direct manipulation.

SUMMARY OF THE INVENTION

The inventive methodology is directed to methods and systems that substantially obviate one or more of the above and other problems associated with conventional techniques related to interaction of users with touch screen devices.

Aspects of the present invention include a method for avoiding occlusion on a touch screen device which includes a touch-screen input interface, a processor and a display module. The method includes using the touch-screen input interface to receive a touch input event from a user on a location on the display module, the location being characterized by location coordinates, the touch input event being caused by a touching of the display module; using the processor to create an information-free zone at the location on the display module, wherein objects within the zone are pushed out of the zone using the touch-screen input interface to sense end of the touching of the display module; and in response to the end of the touching of the display module, eliminating the zone by displaying the objects within the eliminated zone and placing the cursor within the eliminated zone.

Aspects of the present invention further include a portable device which includes a display module, a touch screen input interface and a processor. The touch-screen input interface is operable to receive a touch input event from a user on a location on the display module, with the location being characterized by location coordinates, and the touch input event being caused by a touching of the display module. Upon receiving a touch input event on the display module, the processor executes instructions for placing a cursor onto the display module, the instructions include creating an information-free zone at the location, wherein objects within the location are pushed out of the zone; in response to the end of the touching of the display module, eliminating the zone by displaying the objects within the eliminated zone and placing the cursor within the eliminated zone; and placing the cursor within the zone when the user releases the touch input.

Aspects of the present invention further include a computerized system, which includes a touch display and a processor. The touch-screen input interface is operable to receive a touch input event from a user on a location on the display module, with the location being characterized by location coordinates, and the touch input event being caused by a touching of the display module. Upon receiving a touch input event on the display module, the processor executes instructions for placing a cursor onto the display module, the instructions include creating an information-free zone at the location, wherein objects within the location are pushed out of the zone; in response to the end of the touching of the display module, eliminating the zone by displaying the objects within the eliminated zone and placing the cursor within the eliminated zone; and placing the cursor within the zone when the user releases the touch input.

DETAILED DESCRIPTION

In accordance with an aspect of the inventive methodology, an alternative approach is being proposed, that creates an information-free zone (hole) in the content displayed in the area of the display in the proximity to the point where the finger touches it. The content is pushed to the sides around the information-free zone (hole) and thereby remains visible. This avoids the occlusion of the material entirely.

The invention will be described herein in terms of its preferred embodiment for a text insertion and text selection task in a western writing system. The modification of the inventive approach to other writing system orientations follows in a straightforward fashion. Subsequently, the preferred embodiments can be generalized and applied to other uses that more fully scope the invention. Accordingly, the invention is not limited to the shown examples only. Furthermore, the embodiment described here is a simplification of a text selection and insertion task, in that the unit in the description is a word, rather than a character. It is a simple extension of this description to embodiments in which the unit is a character or some other symbolic unit discernable by a computational device and represented on a display.

For this embodiment, we assume that the user is already in a text insertion or text marking mode. How the user enters that mode from another mode is outside the scope of this invention. Several options exists to produce such a mode change e.g., by tapping and holding the text display or by swiping through mode changing regions at the display sides into the text display.

While in text insertion mode, our mechanism traces the position of the user's finger on the touch display. The finger position is taken as the center of an ellipse with horizontal major axis and vertical minor axis. The size of the ellipse is configurable and can be personalized to approximate the area that a user's finger would occlude on the touch display.

Other shapes can be used as well but we describe our preferred embodiment in terms of an elliptical shape. Note that the shape can be parameterized to compensate for the expected viewing angle (based on display position and choice of dominant hand), finger tilt and other factors.

The mechanism calculates the intersection points of the principal axis through the shape with the intersecting text lines. In the case of a western writing system and an elliptical shape that is aligned with the horizontal and vertical display axes, the principal axis is the minor (vertical) axis of the ellipse.

For each intersection point, the mechanism finds the word such that the horizontal distance between the word's center and the intersection point is minimal. Let this word be w. Assume first that w's center is left of the intersection point. Let v be its right neighbor on the line (v may be the empty word if w does not have a right neighbor). The mechanism pushes w and all words left of it to the left until w no longer intersects the ellipse. Furthermore, the mechanism pushes v and all words right of v to the right until v no longer intersects the ellipse. We refer to this as a word division. If w's center is to the right of the intersection point, we simply let v be w and let w be the left neighbor of v. This allows us to apply the previous case.

The disclosed mechanism creates an elliptical “hole” in the text at the touch point. The “hole” follows the user's finger tip as the user swipes the finger tip across the display. All words will be displayed outside the elliptical shape and therefore no words are ever occluded. When the finger lifts off the display, the mechanism pushes the words back together and thereby restores the original positions. This process can also be animated.

FIG. 1illustrates how the embodiment performs on an example text display.

The mechanism determines the intersection points and word centers based on the original word positions and not the word positions while a word division is in progress. This guarantees that all words can appear on both sides of a word division because for any word center there is a point to the left and right of its center (we assume that each word is at least three pixels wide and all pixels where words are displayed can be touched).

A text divider is the position between two divided words. The text insertion point or text position marking point is the divider with the smallest vertical distance to the touch point at the time of finger lift-off. This embodiment can also be implemented to highlight the line101on which the text insertion point occurs by changing the line's background color or by a simple line or other means. Other indications may be used to indicate the principal or secondary axis when the zone is created. Hole102is created where the user's finger touches the display. The rightmost illustration103shows how the mechanism can behave at text boundaries.

Obviously, the choice of line can be adjusted to correct for a real versus perceived center of touch, e.g., by choosing the line that is closest to the touch point plus a suitable offset. Note that the nature of this offset is different from the nature and use of the offset used in the offset cursor and other related approaches.

In the case we described above, insertion or marker points are placed on the text at word boundaries i.e., between words. The approach can be extended to perform divisions on a character basis, thereby allowing a finer granularity of insertion and marking if that is desired. Text range selection can be performed by first marking the beginning and then the end of the desired text region in the way described above.

If the touch screen device has additional sensors, such as accelerometers, a compass or a tilt sensor, then a word selection can be made with one division. For example, the user can tilt the entire device into the direction in which selection is preferred where the selection begins at the text position determined by the disclosed mechanism.

The mechanism can be generalized to other applications by treating suitable selection targets as words e.g., way points or cities on a map. In the most general case, a map can be divided by warping it onto a mesh that is distorted to reveal a hole where the user's finger is. Other symbolic units may also be used as suitable selection targets, such as non-English characters, currency symbols, etc.

FIG. 2illustrates an example functional diagram of an embodiment as applied to a potential hardware apparatus.

When the user touches the touch display,200, a sensing unit201, which is also referred to as touch-screen input interface, can be provided to receive the input from the interaction on the touch display. The sensing unit forwards instructions to the processing unit202, which can include RAM203and other I/O204. The processing unit proceeds to process the touch input, and forwards instructions to the display controller205, which outputs to the display. In this case, a hole is created where the user had touched the display, and a highlighting line is created indicating the row of the display that the cursor is currently located.

FIG. 3is a block diagram that illustrates an embodiment of a computer/server system300upon which an embodiment of the inventive methodology may be implemented. The system300includes a computer/server platform301, peripheral devices302and network resources303.

The computer platform301may include a data bus304or other communication mechanism for communicating information across and among various parts of the computer platform301, and a processor305coupled with bus301for processing information and performing other computational and control tasks. Computer platform301also includes a volatile storage306, such as a random access memory (RAM) or other dynamic storage device, coupled to bus304for storing various information as well as instructions to be executed by processor305. The volatile storage306also may be used for storing temporary variables or other intermediate information during execution of instructions by processor305. Computer platform301may further include a read only memory (ROM or EPROM)307or other static storage device coupled to bus304for storing static information and instructions for processor305, such as basic input-output system (BIOS), as well as various system configuration parameters. A persistent storage device308, such as a magnetic disk, optical disk, or solid-state flash memory device is provided and coupled to bus301for storing information and instructions.

Computer platform301may be coupled via bus304to a display309, such as a cathode ray tube (CRT), plasma display, or a liquid crystal display (LCD), for displaying information to a system administrator or user of the computer platform301. An input device310, including alphanumeric and other keys, is coupled to bus301for communicating information and command selections to processor305. Another type of user input device is cursor control device311, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor304and for controlling cursor movement on display309. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.

An external storage device312may be coupled to the computer platform301via bus304to provide an extra or removable storage capacity for the computer platform301. In an embodiment of the computer system300, the external removable storage device312may be used to facilitate exchange of data with other computer systems.

The invention is related to the use of computer system300for implementing the techniques described herein. In an embodiment, the inventive system may reside on a machine such as computer platform301. According to one embodiment of the invention, the techniques described herein are performed by computer system300in response to processor305executing one or more sequences of one or more instructions contained in the volatile memory306. Such instructions may be read into volatile memory306from another computer-readable medium, such as persistent storage device308. Execution of the sequences of instructions contained in the volatile memory306causes processor305to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.

The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor305for execution. The computer-readable medium is just one example of a machine-readable medium, which may carry instructions for implementing any of the methods and/or techniques described herein. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device308. Volatile media includes dynamic memory, such as volatile storage306.

Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, a flash drive, a memory card, any other memory chip or cartridge, or any other medium from which a computer can read.

Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor305for execution. For example, the instructions may initially be carried on a magnetic disk from a remote computer. Alternatively, a remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system300can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on the data bus304. The bus304carries the data to the volatile storage306, from which processor305retrieves and executes the instructions. The instructions received by the volatile memory306may optionally be stored on persistent storage device308either before or after execution by processor305. The instructions may also be downloaded into the computer platform301via Internet using a variety of network data communication protocols well known in the art.

The computer platform301also includes a communication interface, such as network interface card313coupled to the data bus304. Communication interface313provides a two-way data communication coupling to a network link314that is coupled to a local network315. For example, communication interface313may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface313may be a local area network interface card (LAN NIC) to provide a data communication connection to a compatible LAN. Wireless links, such as well-known 802.11a, 802.11b, 802.11g and Bluetooth, may also used for network implementation. In any such implementation, communication interface313sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

Network link313typically provides data communication through one or more networks to other network resources. For example, network link314may provide a connection through local network315to a host computer316, or a network storage/server317. Additionally or alternatively, the network link313may connect through gateway/firewall317to the wide-area or global network318, such as an Internet. Thus, the computer platform301can access network resources located anywhere on the Internet318, such as a remote network storage/server319. On the other hand, the computer platform301may also be accessed by clients located anywhere on the local area network315and/or the Internet318. The network clients320and321may themselves be implemented based on the computer platform similar to the platform301.

Local network315and the Internet318both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link314and through communication interface313, which carry the digital data to and from computer platform301, are exemplary forms of carrier waves transporting the information.

Computer platform301can send messages and receive data, including program code, through the variety of network(s) including Internet318and LAN315, network link314and communication interface313. In the Internet example, when the system301acts as a network server, it might transmit a requested code or data for an application program running on client(s)320and/or321through Internet318, gateway/firewall317, local area network315and communication interface313. Similarly, it may receive code from other network resources.

The received code may be executed by processor305as it is received, and/or stored in persistent or volatile storage devices308and306, respectively, or other non-volatile storage for later execution. In this manner, computer system301may obtain application code in the form of a carrier wave.

It should be noted that the present invention is not limited to any specific firewall system. The inventive policy-based content processing system may be used in any of the three firewall operating modes and specifically NAT, routed and transparent.

Moreover, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. Various aspects and/or components of the described embodiments may be used singly or in any combination in the computerized systems for providing interaction of users with touch screen devices. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.