Embodiments of the inventive subject matter generally relate to the field of computing devices and more particularly to multi-touch gestures on computing devices having touchscreens.
Today, many computing devices (e.g. computers, mobile phones, tablets, mp3 players, etc.) incorporate touchscreens through which a user can provide touch input. Many computing devices with touchscreens employ soft buttons which users select to perform operations on the computing device. For example, a mobile phone may have a soft button which when selected, will initiate a telephone call. More advanced computing devices are capable of processing multi-touch input (i.e. input that comprises distinct simultaneous touches on the touchscreen from more than one finger).
Many computing devices can receive complex input in the form of gestures. Such gestures may include sliding one or more fingers across the touchscreen, changing the relative position of one or more fingers with respect to another finger on the touchscreen, etc. For example, a common multi-touch gesture is the “pinch-to-zoom” gesture which allows a user to enlarge the image displayed on the touchscreen by placing two fingers on the touchscreen and then sliding the two fingers apart while remaining in contact with the touchscreen.
Multi-touch gestures can provide an easy way for a user to accomplish complex tasks on a computing device. Computing devices however lack an easy and intuitive way to select objects on the touchscreen (e.g., selecting a portion of text or a group of images presented on the touchscreen). For example, many selection methods may require several touches that are distinct in time. These selection techniques can be cumbersome and time consuming.
Some embodiments of the inventive subject matter may include a method for selecting objects on a computing device having a touchscreen. The method can include initiating a marquee-selection mode on the computing device, wherein the initiating occurs in response to placing one or more fingers on the touchscreen. The method can include presenting a selection marquee on the touchscreen. The method can include detecting user input defining the selection marquee, wherein the selection marquee indicates at least one object for selection. The method can include determining the objects that are selected, as indicated by the selection marquee.
The present embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
a is a conceptual drawing depicting a marquee selection mode.
b is a conceptual drawing depicting shaping of the selection marquee 324 using the left pull-bar 338.
a is a conceptual drawing depicting manipulation of a selection marquee 412 on a touchscreen 402 using four fingers to create a selection marquee 412 in the shape of a quadrilateral.
b is a conceptual drawing depicting increasing the size of the selection marquee 428.
Some embodiments of the inventive subject matter include a method with which a user can select some of the objects presented on a computing device's touchscreen using multi-touch gestures. In one embodiment, a user may initiate a multi-touch mode by placing one or more fingers on the computing device's touchscreen. Initiation of the multi-touch mode may cause the computing device to present a selection marquee with which the user can select objects on the touchscreen. In some instances, the user may place yet another finger on the touchscreen to further define boundaries of the selection marquee.
While
At block 202, the computing device initiates a multi-touch mode. In some embodiments, the multi-touch mode is initiated when a user places one or more fingers on the computing device's touchscreen. For example, the computing device may initiate the multi-touch mode when the user places two fingers on the touchscreen. In the multi-touch mode, several multi-touch gestures can be utilized. For example, a user may utilize the pinch-to-zoom gesture. Additionally, in some embodiments, when the multi-touch mode is initiated, the computing device can present a selection marquee to facilitate selection of objects on the touchscreen. The selection marquee may initially be presented as an empty selection marquee (i.e. a dotted line). The selection marquee can include “pull bars” that allow the user to reshape the selection marquee. The flow continues at block 204.
At block 204, the computing device enters a marquee-selection mode. In some embodiments, the computing device enters marquee selection mode in response to a user touching and dragging one of the pull-bars. Alternatively, the computing device may initiate the marquee-selection mode when the user places a third finger on the touchscreen while the computing device is in a multi-touch mode. Alternatively, the computing device may initiate the marquee-selection mode without further user input. That is, the computing device's environmental factors may dictate the initiation of the marquee-selection mode. For example, while a certain application is running on the computing device, placing one or more fingers on the touchscreen may cause the computing device by default to initiate the marquee-selection mode. In some embodiments, the computing device may enter the marquee selection mode when only one finger is placed on the touchscreen. The flow continues at block 206.
At block 206, the computing device detects user input defining the selection marquee. In some embodiments, the user may define boundaries of the selection marquee using one or more of the pull-bars (as depicted in
At block 208, the computing device finalizes the selection marquee. In some embodiments, the selection marquee is finalized when the user removes one or more fingers off the touchscreen. In other embodiments, the selection marquee may be finalized when the user selects a button indicating a desire to finalize the selection marquee.
As mentioned above, embodiments allow users to define selection marquees in different ways. The discussion of
a is a conceptual drawing depicting a marquee selection mode. In
While
b is a conceptual drawing depicting shaping of the selection marquee 324 using the left pull-bar 338. In
a is a conceptual drawing depicting manipulation of a selection marquee 412 on a touchscreen 402 using four fingers to create a selection marquee 412 in the shape of a quadrilateral. In
While
b is a conceptual drawing depicting increasing the size of the selection marquee 428. In
While
As will be appreciated by one skilled in the art, aspects of the present inventive subject matter may be embodied as a system, method or computer program product. Accordingly, aspects of the present inventive subject matter may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present inventive subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present inventive subject matter may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present inventive subject matter are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the inventive subject matter. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the inventive subject matter is not limited to them. In general, techniques for initiating and modifying a selection marquee as described herein may be implemented with facilities consistent with any hardware system or hardware systems. Many variations, modifications, additions, and improvements are possible.
Plural instances may be provided for components, operations or structures described herein as a single instance. Finally, boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the inventive subject matter. In general, structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the inventive subject matter.