Embodiments of the disclosure generally relate to moving display objects displayed on an output device, and more particularly, to systems and methods for moving display objects based on user gestures.
It has become increasing popular to provide touch-sensitive displays in mobile and communication-type computing devices, such as, hand held tablets or smartphones. Typically, objects being displayed on such devices can be moved by touching and dragging the object using one or more fingers. While users of relatively smaller computing devices can comfortably use conventional touch and drag gestures to move objects on associated displays, relatively large surface computers have much larger display areas making it relatively uncomfortable for users to move display objects using conventional touch and drag gestures.
Some or all of the above needs and/or problems may be addressed by certain embodiments of the disclosure. Certain embodiments may include systems and methods for moving display objects based on user gestures, such as objects displayed on an output device of a surface computer. According to one embodiment of the disclosure, there is disclosed a system. The system may include at least one memory configured to store computer-executable instructions and at least one control device configured to access the at least one memory and execute the computer-executable instructions. The instructions may be configured to detect a first user gesture adjacent to an output device of a surface computer to identify a display object displayed on the output device. The instructions may be further configured to detect a second user gesture adjacent to the output device identifying a location to move the display object on the output device. The instructions may further be configured to update the output device to display the display object at the identified location on the output device.
According to another embodiment of the disclosure, there is disclosed a method. The method can include detecting, by a control device, a first user gesture adjacent to an output device of a surface computer identifying at least one display object displayed on the output device. The method may further include detecting, by the control device, a second user gesture adjacent to the output device identifying a location to move the display object. The method may also include updating, by the control device, the output device to display the identified display object at the identified location on the output device.
Other embodiments, systems, methods, aspects, and features of the disclosure will become apparent to those skilled in the art from the following detailed description, the accompanying drawings, and the appended claims.
The detailed description is set forth with reference to the accompanying drawings, which are not necessarily drawn to scale. The use of the same reference numbers in different figures indicates similar or identical items.
Illustrative embodiments of the disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the disclosure are shown. The disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements.
Certain embodiments disclosed herein relate to moving one or more display objects based on user gestures. Accordingly, a system can be provided to facilitate moving display objects based upon detecting a first user gesture and a second user gesture generated by one or more users interacting with the output device. For example, a user may interact with the output device by, for instance, a finger stroke and/or a finger tap adjacent to the surface of the output device. Based upon the first and the second user gesture, a display object may be selected and a location to move the display object on the output device may be identified. Thereafter, the output device may be updated to display the identified display object at the identified location on the output device. One or more technical effects associated with certain embodiments herein may include, but are not limited to, reduced time and expense for a user to move display objects to new positions on a relatively large output device of a surface computer without employing traditional touch and drag methods as briefly described above. Furthermore, one or more technical effects associated with certain embodiments can include providing
With continued reference to
Based at least upon the first and the second user gestures, the control device 150 may also be configured to identify and/or select a display object 130, a location on the output device 120 to move the display object 130 and/or generate and transmit to the surface computer 110 an updated output device 120 to display the identified display object 120 at the identified location on the output device 120 via network 105 as will be described.
The control device 150 may include any number of suitable computer processing components that may, among other things, analyze user gestures detected by the input devices 140. Examples of suitable processing devices that may be incorporated into the control device 150 include, but are not limited to, personal computers, server computers, application-specific circuits, microcontrollers, minicomputers, other computing devices, and the like. As such, the control device 150 may include any number of processors 155 that facilitate the execution of computer-readable instructions. By executing computer-readable instructions, the control device 150 may include or form a special purpose computer or particular machine that facilitates processing of user gestures in order to move display objects displayed on the output device 120.
In addition to one or more processor(s) 155, the control device 150 may include one or more memory devices 160, one or more input/output (“I/O”) interfaces 165, and/or one or more communications and/or network interfaces 170. The one or more memory devices 160 or memories may include any suitable memory devices, for example, caches, read-only memory devices, random access memory devices, magnetic storage devices, etc. The one or more memory devices 160 may store user gestures or other data, executable instructions, and/or various program modules utilized by the control device 150, for example, data files 170, an operating system (“OS”) 180 and/or a user gesture analyzer module 185. The data files 170 may include any suitable data that facilitates the operation of the control device 150 including, but not limited to, information associated with one or more detected user gestures and/or information associated with one or more control actions directed by the control device 150 based on detected user gestures. The OS 180 may include executable instructions and/or program modules that facilitate and/or control the general operation of the controller 150.
Additionally, the OS 180 may facilitate the execution of other software programs and/or program modules by the processors 155, such as, the user gesture analyzer module 185. The user gesture analyzer module 185 may be a suitable software module configured to analyze and/or process user gestures detected by the input devices 140. For instance, the user gesture analyzer module 185 may analyze user gestures detected by the input devices 140, which may be collected and stored in memory 160.
According to one embodiment, the control device 150 may be configured to detect a first user gesture via the one or more input devices 140. For instance, upon viewing one or more display objects 130 displayed on the output device 120, a first user may generate a first user gesture using one or more fingers in order to select, or otherwise identify, a display object 130 the user would like to move. To do so, in one embodiment, a user may tap the screen of the output device 120 with a finger where the display object 130 is displayed in order to indicate that the user would like to move the display object 130 to another location on the output device 120. As another non-limiting example, the user may generate a finger stroke gesture on the screen of the output device 120 in order to identify the display object 130 the user would like to move.
In certain embodiments, the input devices 140 may include one or more program modules that facilitate capturing detected user gestures and any other information associated with the user gestures. For instance, the input devices 140 may include one or more cameras that detect a user gesture. Thereafter, a user gesture reader software module may be executed and configured to automatically, or in response to some other trigger, transmit the captured user gesture and any other information associated with the user gesture to the control device 150 via network 105. Similarly, in another example, the input devices 140 may include one or more transparent ink pad controls, where upon detecting a user gesture by the transparent ink pad controls, the transparent ink pad control interface transmits the user gesture to the control device 150 via network 105.
Upon receiving the first user gesture, the control device 150 may be configured to execute the user gesture analyzer module 185. The user gesture analyzer module 185 may be configured to analyze the first user gesture. For instance, the user gesture analyzer module 185 may be configured to associate a location of the first user gesture on the output device 120 to the location of a display object 130 on the output device 120. Using this example, the user gesture analyzer module 185 may determine the particular display object 130 the user would like to move. Having identified the display object 130 the user would like to move, in one embodiment, the user gesture analyzer module 185 may be configured to select the display object 130 and/or wait to receive a second user gesture detected from the input device 140.
Continuing with the same example, after a first user gesture by a first user, a second user gesture may be generated by a second user. According to one embodiment, a second user may generate a second user gesture, such as, a finger tap gesture, using one or more fingers in order to select or otherwise identify a location on the output device 120 to move the identified display object 130. To do so, in one embodiment, a user may tap a location on the screen of the output device 120 with a finger in order to indicate the location to move the display object 130 on the output device 120.
Similar to the first user gesture, the input device 140 may be configured to automatically, or in response to some other trigger, transmit to the control device 150 via network 105 the captured second user gesture and any other information associated with the second user gesture. Upon receiving the second user gesture, the control device 150 may be configured to execute the user gesture analyzer module 185. The user gesture analyzer module 185 may be configured to analyze the second user gesture. For instance, the user gesture analyzer module 185 may be configured to associate the second user gesture to the first user gesture. In this way, the user gesture analyzer module 185 may be configured to associate the display object 130 identified by the first user gesture to the location on the output device 120 identified by the second user gesture. Thereafter, the user gesture analyzer module 185 may be configured to update the output device 120 to display the identified display object 130 at the identified location on the output device 130. For instance, the user gesture analyzer module 185 may direct the communication by the control device 150 of an updated of presentation of the display objects 120 to the surface computer 110 for display on the output device 120.
In another non-limiting example, the user gesture analyzer module 185 may be configured to make more complex user gesture assessments. For instance, a first user gesture may be, for instance, a finger stroke that is a circle gesture representing a command or a text character, such as the letter “o.” Upon receiving a first user gesture, according to one embodiment, the user gesture analyzer module 185 may be executed and configured to analyze a first user gesture in order to identify the command or the text character associated with the first user gesture. Thereafter, in certain embodiments, the user gesture analyzer module 185 may then search one or more data files 180 that may identify , for each command or text character, a corresponding gesture action, such as, selecting and/or moving the display object 120, to be executed by the control device 150 in response to detecting a second user gesture by the input device 140 or some other trigger.
Upon detecting the second user gesture, the user gesture analyzer module 185 then may execute the command action and/or direct the communication from the control device 150 of an updated of presentation of the display objects 120 to the surface computer 110 for display on the output device 120 that includes executing the identified action.
As desired, embodiments of the disclosure may include a system 100 with more or less than the components illustrated in
Referring now to
The method 200 may begin at block 205. At block 205, a control device, such as 150 in
Next, at block 210, the control device 150 may detect, via the input device 140, a second user gesture adjacent to the output device 120 of the surface computer 110 identifying a location to move the display object 130 on the output device 120. In certain embodiments, the second user gesture may be a finger tap gesture generated by a second user.
Lastly, at block 215, the control device 150 may update the output device 120 to display the identified display object 130 at the identified location on the output device 120. As described above, based on the detected first and second user gesture, the control device 150 may be configured to communicate an updated presentation of the display object 130 to the output device 120 for display to one or more users.
The method 200 of
The operations described and shown in the method 200 of
Referring now to
Next, in
Lastly, in
These computer-executable program instructions may be loaded onto a general purpose computer, a special purpose computer, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks. As an example, embodiments of the disclosure may provide for a computer program product, comprising a computer usable medium having a computer-readable program code or program instructions embodied therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special purpose hardware and computer instructions.
While the disclosure has been described in connection with what is presently considered to be the most practical and various embodiments, it is to be understood that the disclosure is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
This written description uses examples to disclose the disclosure, including the best mode, and also to enable any person skilled in the art to practice the disclosure, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the disclosure is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.