This disclosure relates to Gesture Interfaces.
As mobile computers become more and more rampant, there is a higher demand for sharing of pictures, documents, videos, files, data and information in general among them.
These devices come from different manufacturers and have different operating systems, often making it difficult to know how to share files, data, and information and perform other actions.
The instant application discloses, among other things, techniques to allow simplified Gesture Interface, which may provide a consistent, easy-to-remember interface for performing various actions with a portable device, including, but not limited to, sharing files, transferring data and information, winking, waving, pointing, picking up, and dropping.
For example, a user may “throw” a smart phone—holding the phone while making a throwing action, which may cause the phone to send data to devices in the direction of the throw. “Throwing” a phone toward the sky may transfer data to the cloud.
A device being used to gesture may need a way to determine how it is being moved, and a form of wireless communication.
A more particular description of certain embodiments of Gesture Interface may be had by references to the embodiments shown in the drawings that form a part of this specification, in which like numerals represent like objects.
Network 120 may include Wi-Fi, cellular data access methods, such as 3G or 4GLTE, the internet, local area networks, wide area networks, or any combination of these or other means of providing data transfer capabilities.
Server 130 may include one or more computers, and may serve a number of roles, including, but not limited to, storing content.
One skilled in the art will recognize that User Device 110, User Device 140, and Server 130 may be of different designs and capabilities.
In one embodiment, User Device 110 may have one or more accelerometers, global positioning systems (GPS), or other way to determine its orientation and velocity to detect a gesture. User Device 110 may also know where User Device 140 is by communicating in real time, predetermining User Device 140's location, or polling after a gesture is made.
In another embodiment, there may be additional user devices in the general direction of User Device 140. A way of selecting which device or devices to interact with may be made available.
User 210 may also gesture throwing User Device 110 up, which may initiate and action to copy files, data, or information to a cloud location.
One skilled in the art will appreciate that many different actions may be initiated by a gesture, and that many different gestures may be used.
There are many possible gestures which may be used; if a User Device has means to determine how it is moving, various gestures may be designed and implemented. A few examples may be:
Various actions may be associated with gestures. A few examples may be:
These examples of gestures and actions are not meant to be exhaustive or restrictive; one having skill in the art will recognize that many different gestures could be defined and many different actions could be assigned to any one or more of the gestures. In one embodiment, User 210 or a developer may design and implement custom gestures and actions. As another example, a disabled user may define a gesture requiring minimal movement to request help with something. As device location and movement detection capabilities improve over time, gestures may become more refined and subtle.
In another embodiment, the location of User Device 110 may be considered in determining which action to perform. For example, a dropping gesture may initiate a transfer of pictures to a home computer if the gesture is performed within a certain distance from home, but may transfer data to an office computer if it is performed in an office building.
In its most basic configuration, Computing Device (1300) typically includes at least one Central Processing Unit (CPU) (1302) and Memory (1304). Depending on the exact configuration and type of Computing Device (1300), Memory (1304) may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. Additionally, Computing Device (1300) may also have additional features/functionality. For example, Computing Device (1300) may include multiple CPU's. The described methods may be executed in any manner by any processing unit in computing device (1300). For example, the described process may be executed by both multiple CPU's in parallel.
Computing Device (1300) may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in
Computing Device (1300) may also contain Communications Device(s) (1312) that allow the device to communicate with other devices. Communications Device(s) (1312) is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. The term computer-readable media as used herein includes both computer storage media and communication media. The described methods may be encoded in any computer-readable media in any form, such as data, computer-executable instructions, and the like.
Computing Device (1300) may also have Input Device(s) (1310) such as keyboard, mouse, pen, voice input device, touch input device, etc. Output Device(s) (1308) such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length.
Those skilled in the art will realize that storage devices utilized to store program instructions can be distributed across a network. For example, a remote computer may store an example of the process described as software. A local or terminal computer may access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or execute some software instructions at the local terminal and some at the remote computer (or computer network). Those skilled in the art will also realize that by utilizing conventional techniques known to those skilled in the art that all, or a portion of the software instructions may be carried out by a dedicated circuit, such as a digital signal processor (DSP), programmable logic array, or the like.
While the detailed description above has been expressed in terms of specific examples, those skilled in the art will appreciate that many other configurations could be used. Accordingly, it will be appreciated that various equivalent modifications of the above-described embodiments may be made without departing from the spirit and scope of the invention.
Additionally, the illustrated operations in the description show certain events occurring in a certain order. In alternative embodiments, certain operations may be performed in a different order, modified or removed. Moreover, steps may be added to the above described logic and still conform to the described embodiments. Further, operations described herein may occur sequentially or certain operations may be processed in parallel. Yet further, operations may be performed by a single processing unit or by distributed processing units.
The foregoing description of various embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.