The present disclosure generally relates to methods and devices for displaying graphical user interfaces, and more particularly to methods and devices for displaying graphical user interface configurations based user contact.
Presently, handheld devices are used to perform a myriad of tasks ranging from conducting phone calls and sending text messages to recording video, snapping pictures, and browsing the Internet. When using a handheld device, especially handheld devices comprising touch screens, a typical user often holds or grasps the handheld device in a variety of different ways depending on any number of factors (e.g. task being performed, hand availability, comfort, preference, etc.). For example, when composing a text message or an email, users often turn the device to a horizontal or landscape orientation and hold the device with two hands in order to use both thumbs to compose the message. However, when users only have a single available hand (e.g. standing and holding a cup of coffee in one hand), users often opt to hold the handheld device in a vertical or portrait orientation and compose the message with one thumb. To accommodate this behavior, current handheld devices rotate the display and in some cases modify the user interface based on whether the handheld device is in a vertical or horizontal position. While useful, adjusting the user interface based only on vertical or horizontal orientation is a crude tool that does not take into account whether a user is holding the device with one hand versus two hands or the type of one-handed or two-handed grasp that a user is employing. Consequently, present devices do not adjust the configuration of the user interface for the variety of holds or grasps that a user may employ while the handheld device is vertically oriented or the variety of holds or grasps that a user may employ when the handheld device is horizontally oriented.
The present disclosure generally relates to a method comprising displaying a graphical user interface (GUI) according to a first GUI configuration on a display of a handheld device, receiving a sensor signal from a sensor the sensor coupled to the handheld device and the sensor signal indicating a contact with the handheld device determining a grasping contact based at least in part on the sensor signal, determining a second GUI configuration based at least in part on the grasping contact, and displaying the GUI on the display according to the second GUI configuration. Another embodiment comprises a computer-readable medium encoded with processor-executable software program code for carrying out such a method.
Illustrative embodiments disclosed herein are mentioned not to limit or define the invention, but to provide examples to aid understanding thereof. Illustrative embodiments are discussed in the Detailed Description and further description of the invention is provided therein. Advantages offered by various embodiments of this invention may be further understood by examining this specification.
These and other features, aspects, and advantages according to the present disclosure are better understood when the following Detailed Description is read with reference to the accompanying figures, wherein:
Embodiments according to this disclosure provide methods and handheld devices for displaying graphical GUI configurations based on user contact. In particular, various graphical GUI configurations are displayed based on how a user is grasping or holding a handheld device.
In one illustrative embodiment, a touchscreen cell phone comprises two pressure sensors configured to detect and measure pressure applied to the sides of the cell phone. The handheld device processes the pressure measurements to determine how the user is grasping or holding the cell phone.
In one particular example, the cell phone is displaying an interactive snap application and then determines that is the user has changed his grip such that he is holding the cell phone in a vertical orientation in his right hand. In response, the cell phone configures the GUI of the interactive map application displayed on the cell phone so that interface controls are located on the right side of the display. When holding a cell phone vertically in his right hand, the user's right thumb is generally freely movable and may be the most convenient digit for interacting with the GUI of the interactive map application. By configuring the GUI of the interactive map application to place interface controls near the user's right thumb, the cell phone maximizes the usability of the GUI.
As the user continues to modify his grasp of his cell phone, the cell phone determines each new grasp applied to the cell phone and displays GUIs based on the various grasps. For example, the user may adjust his grasp of the cell phone such that he is holding the cell phone in a horizontal orientation with his left hand grasping the left side of the cell phone and his right hand grasping the right side of the cell phone. In response, the cell phone configures the GUI for interactive map application such that the interface controls are located on the left and right sides of the display close to the user's thumbs. When holding a cell phone in this manner, a user's thumbs are typically unencumbered and are the most convenient fingers for interacting with the GUI, as shown in
Referring now to
In some embodiments, the handheld device 10 comprises a touch screen that acts as both a display 12 and an input device 15. In other embodiments, input devices 15 may include one or more buttons, trackballs, scroll wheels, touchpads, and/or any other input device known to one having ordinary skill in the art. In some embodiments, handheld device 10 further comprises a communication component for communicating with a network and/or with another device. For example, the communication component may be a wireless networking device, a module and antenna for communication with a cellular network, or a module and antenna for direct communication with another device. Handheld device 10 also comprises memory 16 which stores software program code that is executable by processor 14. For example, memory 16 may comprise random-access memory that stores program code for an operating system and user applications. For example, memory 16 may comprise user applications including a map application, an email application, a messaging application, a camera application, an internet browser application, a music application, a calendar application, or any other application.
The presence of two boxes labeled as “Sensor 18” in the block diagram of
A sensor 18 according to embodiments may be any type of sensor that one of ordinary skill in the art would know to use to detect grasping contact applied to a handheld device 10. In one embodiment, sensor 18 is a pressure sensor. For example, a sensor 18 may be a resistive pressure sensor, a piezoelectric pressure sensor, a strain gauge, or any other type of pressure sensor known in the art. In another embodiment, sensor 18 is a sensor capable of determining the area and/or dimensions of contact. For example sensor 18 may be capacitive sensor or any other type of sensor known in the art to be capable of determining the area and/or dimensions of contact.
Furthermore, one or more sensors 18 may be integrated into a handheld device 10 in any manner known by those of ordinary skill in the art that allows for the detection of a grasping contact applied by a user. For example, a piezoelectric sensor may be internally coupled to a housing of a handheld device 10 such that it can detect slight deformations of the housing that indicate a grasping contact applied to the handheld device 10. In another embodiment, one or more capacitive sensors may be coupled to an exterior surface of the housing of a handheld device 10. In another illustrative embodiment, a sensing pad of a force sensitive resistor may be integrated into the surface of a housing of a handheld device 10 such that a grasping force applied to the handheld device 10 may be directly applied to the sensing pad. In other embodiments, the one or more pressure sensors 18 are coupled to the external surface of the housing of the handheld device 10.
In one embodiment, the handheld device 10 may comprise an accelerometer, a gyroscope, a piezoelectric sensor, or other suitable sensors for detecting acceleration, movement, and/or orientation of the handheld device 10. In one such embodiment, a detected orientation may be used in conjunction with detected pressure to determine a grasping contact applied to handheld device. For example, a handheld device 10 may determine that a horizontally-oriented two-handed grasp is being applied to the handheld device 10 by detecting a horizontal orientation using an accelerometer and detecting pressures indicative of a user grasping the phone at each end (as shown in
Beginning at step 51, the handheld device 10 displays a GUI according to a first configuration. The first GUI configuration may be any GUI configuration associated with any grasping contact recognizable by the handheld device 10 or the lack of any grasping contact. For example, the handheld device 10 may be displaying a GUI configuration associated with a horizontally-oriented right-handed grasp of the handheld device 10 based on detecting that the handheld device 10 was subjected to such a grasping contact in a previous iteration of the steps 52-56 of
At step 52, a processor 14 of a handheld device receives a sensor signal indicating a reading obtained by a sensor 18. For example, in one embodiment a handheld device 10 comprises a pressure sensor 18 and the sensor signal received by the processor 14 indicates whether or not the sensor 18 detects pressure applied to the sensor 18 that exceeds a threshold magnitude. In another embodiment, the sensor signal received by the processor 14 indicates a magnitude value of the pressure applied to the sensor 18. In such an embodiment, the sensor signal may indicate a magnitude value of zero where the sensor detects that no pressure is being applied to the sensor. In another embodiment, a sensor 18 does not provide a sensor signal if no pressure is detected. In still another embodiment, handheld device 10 comprises a capacitive sensor 18 and the sensor signal received by processor 14 indicates the area and/or dimensions of contact applied to the sensor 18. In this embodiment, the handheld device 10 may then determine an applied pressure based on the area and/or dimensions of contact applied to the sensor 18.
As described above, a handheld device 10 may comprise a plurality of sensors 18. In one such embodiment, the processor 14 receives signals indicating the pressure or contact area and/or dimensions detected by two or more of the plurality of sensors 18. In other embodiments, sensor signals indicating the pressure or contact area and/or dimensions detected by each of the plurality of sensors 18 are received by the processor 14 of handheld device 10.
In one embodiment, the processor 14 receives sensors signals through periodically checking the output of the one or more sensors 18. In another embodiment, processor 14 checks the output of the one or more sensors 18 upon receiving a hardware interrupt indicating a change in one or sensor readings of sensors 18. In an alternate embodiment, processor 14 checks the output of the one or more sensors 18 upon receiving a software interrupt indicating a change in one or sensor readings of sensors 18.
At step 53, the handheld device 10 processes the one or more sensor signals to determine either a particular grasping contact being applied to the handheld device 10 or that no grasping contact is presently being applied. In one embodiment, processor 14 receives sensor signals corresponding to each of the one or more of the sensors 18 of handheld device 10. In this embodiment, each sensor signal received by the processor 14 indicates that a corresponding sensor 18 either detects the presence (e.g. binary value of 1) or absence (e.g. binary value of 0) of pressure above a required threshold, or a contact. The memory 16 of client device 10 may comprise a set of maps corresponding to possible permutations of the binary values of the sensors 18 that represent grasping contacts. For example, if a client device 10 has four sensors 18, the memory 16 of the client device may comprise the following set of maps: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, and 1111, wherein each bit represents a particular sensor and each map is associated with a particular grasping contact. In some embodiments, more than one map may correspond to a particular grasping contact. Upon receiving sensor signals corresponding to each sensor 18, the processor 14 may determine a binary value corresponding to each sensor signal, compare the binary values to the set of maps, and thereby determine the appropriate map and corresponding grasping contact.
In another embodiment, processor 14 receives sensor signals corresponding to each sensor 18 of client device 10. Each sensor signal received by the processor 14 indicates a measurement of pressure detected at a corresponding sensor 18. In another embodiment, each sensor signal received by the processor 14 indicates a measurement of contact area and/or dimensions detected at a corresponding sensor 18, whereby the processor 14 calculates corresponding pressure measurements. The range of possible pressure measurements may be subdivided with each subdivision having a corresponding value. The memory 16 of client device 10 may comprise a set of maps corresponding to possible permutations of the subdivided pressure measurement values corresponding to each sensor 18 that represent grasping contacts. For example, if a client device 10 has two sensors 18, and the range pressure magnitudes per sensor is subdivided into four subdivisions, the memory 16 of the client device may comprise the following set of maps: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, and 1111, wherein the first two bits represent a first sensor 18, the second two bits represent a second sensor 18, and each map is associated with a particular grasping contact. In some embodiments, more than one map may correspond to a particular grasping contact. Upon receiving sensor signals corresponding to each sensor 18, the processor 14 may determine a subdivision value corresponding to each sensor signal, compare the values to the set of maps, and thereby determine the appropriate map and corresponding grasping contact.
In other embodiments, processor 14 receives sensor signals corresponding to a subset of the sensors 18 of a handheld device 10. For example, processor 14 may receive sensor signals from each of the one or more of the sensors 18 of handheld device 10 that are detecting the presence of pressure or contact area and/or dimensions, but not from the sensors 18 to which no pressure, contact, or pressure below a required threshold is applied. In one embodiment, handheld device 10 assumes a default value (e.g., binary value of 0 for no pressure or contact) for the sensors 18 for which the processor 14 did not receive sensor signals, and determines the appropriate map as described above to determine the grasping contact.
In other embodiments, maps using decimal, hexadecimal, or any other types of numbers may be used. In stilt further embodiments, maps may not be used at all. For example, in one embodiment the processor 14 receives sensor signals indicating measurements of pressure or contact area and/or dimensions for sensors 18 of handheld device 10, and processes the measurements through an algorithm that determines a grasping contact by evaluating measurements for particular sensors 18 relative to measurements for other sensors 18. For example, if a handheld device 10 comprises a sensor 18 at each side of the handheld device 10, detects a pressure applied to the left sensor 18 and a pressure applied to the right sensor 18 that is a magnitude higher than the pressure applied to the left sensor 18, then the handheld device determines that a user is holding handheld device in his left hand. In another embodiment, the algorithm may use both actual and relative measurements to determine the grasping contact. In still another embodiment, the value of pressure measurements over time is used to determine the grasping contact. In another embodiment, the value of pressure measurements over time is used to determine emotions/moods of a user of a handheld device 10.
In addition to detecting grasping contacts, a handheld device 10 may detect the lack of a grasping contact. In one embodiment, a handheld device 10 determines the lack of a grasping contact based all sensors 18 sensing no applied pressure. In another embodiment, the handheld device 10 determines the lack of a grasping contact by determining that the handheld device 10 is lying on a table or similar surface (e.g., by detecting pressure only at sensors 18 located on the back of handheld device 10).
In one embodiment, the operations performed by a handheld device 10 to determine a grasping contact, or lack thereof, applied to handheld device 10 at steps 52 and 53 are performed according to an operating system software module or similar software package stored in memory 16 and comprising software program code executable by processor 14. After determining grasping contact at step 53, the operating system software module would provide grasping contact information to an application layer of the operating system of handheld device 10 so that the application layer may, at step 54, determine a GUI configuration based on the grasping contact. In another embodiment, the grasping contact information is provided to one or more applications executing on handheld device 10, so that the one or more applications may determine a GUI configuration based on the grasping contact, or lack thereof. The grasping contact information may be provided to an application layer and/or one or more applications using an application program interface, a global data structure, messaging between operating system layers, or through any other means known by one having ordinary skill in the art.
At step 54, the handheld device 10 determines a GUI configuration based on the determined grasping contact or the lack of a grasping contact presently applied to a handheld device 10. In one embodiment, memory 16 comprises a database of GUI configurations that may be retrieved according to the grasping contact detected in step 52. In another embodiment, memory 16 comprises a database of GUI configurations that may be retrieved based on a particular grasping contact and on a particular screen displayed when the grasping contact is detected. For example, a handheld device 10 may be displaying a home screen when a vertically-oriented left handed grasp is applied to the handheld device 10. The handheld device 10 retrieves a GUI configuration from the database based on the application of the vertically-oriented left handed grasp and the active status of the home screen. In another embodiment, memory 16 of handheld device 10 comprise program code for applications that may be executed on the handheld device 10, wherein the application program code comprises GUI configurations and a mapping of grasping contacts to the GUI configurations based on the application screen being displayed. For example, a text message composition screen of a texting application may be displayed on a handheld device 10 at the time the handheld device 10 detects the application of a horizontally-oriented two-handed grasp. Based on the grasping contact detected and the active status of the text message composition screen, the texting application determines a GUI configuration based on the mapping of the grasping contacts to GUI configurations while displaying the text message composition screen. In another embodiment, the handheld device 10 determines that an application or particular functionality is to be launched based on the detection of a grasping contact applied to the handheld device 10. For example, a handheld device 10 may be configured to launch a camera application based on a particular grasping contact (e.g. one of the exemplary camera grasps of
In one embodiment, a handheld device 10 determines a GUI configuration based on the determined grasping contact applied to a handheld device 10 and on detected movement or acceleration of the handheld device 10. For example, the handheld device 10 may determine that a user is applying a vertically-oriented left-handed grasp to the handheld device 10 while in a moving vehicle and determine a particular GUI configuration based on the detected movement and grasping contact. In one embodiment, a text messaging application compose screen displays a particular keyboard configuration for a detected vertically-oriented left-handed grasp and no detected movement, but displays no keyboard where the handheld device 10 determines a vertically-oriented left-handed grasp is being applied to a handheld device 10 and also determines that the handheld device 10 is in a moving vehicle.
At step 55, the display 12 of handheld device 10 presents the GUI configuration determined at step 54 based on a detected grasping contact. If the determined GUI configuration is already being displayed, then the handheld device 10 simply continues to display the current GUI configuration. If the GUI configuration determined at step 54 based on a detected grasping contact differs from the GUI configuration currently being displayed, then the handheld device 10 updates the display according to the GUI configuration determined at step 54. In another embodiment, the handheld device 10 launches an application or particular functionality and a corresponding GUI configuration determined at step 54 based on a detected grasping contact, and updates the display 12 based on the determined GUI configuration. If a handheld device 10 receives sensor signals before receiving any user input, the method returns to step 52. If the handheld device receives user input, then the method proceeds to step 56.
For the purposes of this disclosure, user input may be any manipulation of physical controls (e.g. physical buttons, switches, scroll wheels, or any other physical control known to one having ordinary skill in the art) or manipulation of controls or objects displayed on a screen by using one or more fingers, a stylus or similar input mechanisms, to tap, press, press and hold, swipe, or provide any other input through static or dynamic contact with a touchscreen or a touchpad, such as by pressing, dragging or otherwise changing a characteristic of one or more contact points (collectively referred to herein as “gestures”). As discussed below, in some embodiments user input may further comprise grasping contacts and variations of pressure provided by a particular grasping contact. In one embodiment, user input may comprise audio. In another embodiment, user input comprises physically moving the handheld device 10 including shaking, turning, and/or any other physical movements of the handheld device 10 performed by a user.
At step 56, the user interacts with the displayed GUI configuration of the handheld device 10. For example, a user may be using a graphical map application on her handheld device 10 while employing a vertically-oriented right-handed grasp. The mapping application may be configured to use a GUI configuration that displays the map in a vertical orientation and displays the zoom and pan controls for viewing a map on the right side of the display 12 of the handheld device closest to the user's right thumb that may easily access the right side of display 12. Advantageously, the displayed GUI configuration is based on a user's grasp of the handheld device 10 and therefore may be configured provide more convenient GUI than a static GUI that does not change based on the user's grasp or is limited to configuration based on vertical/horizontal orientation.
At step 57, the handheld device interprets the user input based on the displayed GUI configuration. For example, in the mapping application example described above, a user's tap of an area on the right side of the display 12 will be interpreted as a manipulation of a zoom or pan control according to the GUI configuration for a vertically-oriented right-handed grasp. In another embodiment, the user input may cause a screen transition. The subsequent screen may be one of multiple GUI configurations based on a presently applied grasping contact. For example, in the mapping application example described above, if a user presses a button to launch a map search dialogue, the displayed GUI configuration may comprise search dialogue and a keypad along the right side of the display 12 based on a vertically-oriented right-handed grasp.
The method represented by the flow diagram illustrating the operation of a handheld device of
As described above in relation to step 54, in one embodiment a handheld device 1500 may be configured to launch or transition to a different application or functionality not presently displayed upon detecting one or more particular grasping contacts. For example, in one embodiment a user may be composing a text message when she sees an event unfolding, decide that she would like to capture video of the event, and then grasp the phone in a right-handed camera grasp (see, e.g.,
Similarly,
The configurations of
After transitioning to the camera functionality of a handheld device 1500 by applying any one of the three camera grasps described above, a user may decide to rotate the handheld device 1500 to a vertical orientation in order to capture pictures or video in a portrait format. For example, the user may turn the handheld device 1500 to a vertical position and hold it in his right hand resulting in a vertically-oriented right-handed grasp. Alternatively, the user may hold the handheld device in her left hand resulting in a vertically-oriented left-handed grasp.
In another embodiment, the user may apply a vertically-oriented two-handed grasp to the handheld device 1500 with camera functionality active. In the case of a vertically-oriented two-handed grasp, both of the user's thumbs would be positioned near the touchscreen 1502. In one embodiment, when a vertically-oriented two-handed grasp is applied with camera functionality active, the handheld device 1500 defaults to the same camera screen GUI configuration used for a vertically-oriented left-handed grasp with camera functionality active. In another embodiment, when a vertically-oriented two-handed grasp is applied, the handheld device 1500 defaults to the same camera screen GUI configuration used tier a vertically-oriented right-handed grasp with camera functionality active. In still another embodiment, when a vertically-oriented two-handed grasp is applied, the handheld device 1500 will display identical user interface controls on both sides of the touchscreen 1502. In an additional embodiment, when a vertically-oriented two-handed grasp is applied, the handheld device 1500 displays a camera screen GUI configuration designed for optimal usability with a vertically-oriented two-handed grasp.
In addition to providing GUI configurations based on grasping contacts applied to a handheld device, the present disclosure further contemplates a handheld device interpreting grasping contacts as user input. In one exemplary embodiment, a user, as she is applying a two-handed camera grasp to a handheld device with her left and right index fingers pressing down on the top corners of the handheld device, may slide either her left or right index finger along the top of the housing of the handheld device toward the middle to cause a camera application to zoom and may slide the finger back to its original position to undo the zoom selection. In another exemplary embodiment, a user, as she is applying a two-handed camera grasp to a handheld device with her left and right index fingers pressing down on the top corners of the handheld device, may increase the pressure applied either index finger to cause a camera application to snap a picture, to begin recording video, change volume, or perform any other operation that according to the design of the camera application. In another exemplary embodiment, particular grasping contacts and related pressure information is used to identify a particular user. In one embodiment, this functionality is used for unlocking a handheld device 10 and/or particular functionality/information contained thereon. For example, a handheld device 10 may provide a phone lock setting that allows the user to input a particular grasp (e.g. pinching the top and bottom of the faces of the handheld device 10 in opposite corners between a user's thumb and index finger, squeezing the sides of the handheld device 10 at particular positions, or any other grasping contact that the handheld device 10 is capable of detecting) to unlock the handheld device. In another embodiment, a handheld device 10 may allow similar configuration and functionality for a keypad lock or for locking applications or particular files containing sensitive information (e.g. a password storage application, a banking application, a contacts application, a notepad application, a file containing confidential strategic information for a business, or any other application or file).
The present disclosure further contemplates embodiments in which a user's emotion or mood is detected based on one more of the particular grasping contacts detected, the magnitude of the pressure applied to a handheld device 10, or the timing of the pressure applied. A handheld device 10 may provide particular GUI configurations and/or tailored functionality based on emotions, moods, or other physiological data detected by one or more sensors. In one embodiment, the haptic effects output by a handheld device 10 may be altered (e.g. lessened/increased in intensity) based on a detected emotion/mood of a user.
In another embodiment, the user (“User A”) of one handheld device 10 may input information to the handheld device 10 in the form of grasping contacts and variations of pressure applied by those grasping contacts which, in turn, may be communicated to another handheld device 10 and its user (“User B”) thereby providing emotional clues or mood states of User A to User B. In one embodiment, User A's emotion and/or mood is provided to User B through User B's handheld device 10 outputting haptic effects based on emotion and/or mood information received from User A's handheld device 10. In other embodiments, audio and/or visual effects may be used. In one particular embodiment, User A inputs grasping contacts of constant or varying pressures into his/her handheld device 10 that is executing a virtual handshake application that interprets the grasping contacts and causes information based on the grasping contacts to be transmitted to a virtual handshake application executing on User B's handheld device 10. Based on the received information, User B's handheld device outputs one or more haptic effects representing User A's grasping contacts.
The present disclosure contemplates numerous variations of interpreting grasping contacts as user input in relation to any number of applications or functionality including all of the variations that one having ordinary skill in the art would recognize as useful in the process of designing user interfaces for handheld devices.
In one embodiment, a handheld device 10 comprises one or more hardware components (e.g. various actuators known to one having ordinary skill in the art) for outputting haptic effects and outputs haptic effects based on grasping contacts detected by a handheld device 10 in one or more of the manners described above. For example, in one embodiment a memory 16 of a handheld device 10 comprises a set or library of haptic effects (e.g. vibrations, pulses, pops, jolts, and/or combinations thereof) associated with various grasping contacts and are output upon detection of a grasping contact as single instances or in repeating patterns for the duration of a detected grasping contact. In another embodiment, the haptic effect will vary in intensity and/or frequency based on variations in the magnitude of pressure applied to a handheld device 10 by a grasping contact and sensed by the handheld device 10. For example, a haptic effect resembling a heartbeat may be output upon detection of a vertically-oriented right-handed grasp and may be strengthened in intensity and/or frequency as a user increases the pressure applied by that grasping contact and may be weakened in intensity and/or frequency as a user lessens the pressure applied by that grasping contact. In one embodiment, a haptic effect (e.g. the heartbeat haptic effect) output by a handheld device 10 may be solely based on the particular grasping contact detected. For example, the handheld device 10 may output a jolt haptic effect upon detecting an upside-down vertically oriented right-handed grasp in order to notify the user that the handheld device 10 is upside-down.
In another embodiment, a handheld device 10 outputs a haptic effect based on a detected grasping contact and the current GUI being displayed and/or the operation being performed by the user of the handheld device 10. For example, a user grasping a handheld device 10 in a vertically-oriented left-handed grasp may activate a scroll list displayed by the handheld device 10 with his/her left thumb flinging the list on the touch screen and simultaneously manipulate the speed of the scrolling by increasing or decreasing the magnitude of the grasping contact applied to the handheld device 10. During the scrolling of the list, the handheld device 10 varies the intensity of the output of haptic effects associated with list scrolling and/or items in the list based on the magnitude of pressure applied by the grasping contact.
The embodiments related to haptics described above are exemplary and do not limit the scope of the present disclosure in any way. The present disclosure contemplates numerous variations of determining and outputting haptic effects based on the nature, variation, and intensity of grasping contacts applied to a handheld device in relation to any number of applications or functionality including all of the variations that one having ordinary skill in the art would recognize as useful in the process of designing user interfaces for handheld devices.
While the methods and systems herein are described in terms of software executing on various machines, the methods and systems may also be implemented as specifically-configured hardware, such as a field-programmable gate array (FPGA) specifically to execute the various methods. For example, embodiments can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in a combination of thereof. In one embodiment, a device may comprise a processor or processors. The processor comprises a computer-readable medium, such as a random access memory (RAM) coupled to the processor. The processor executes computer-executable program instructions stored in memory, such as executing one or more computer programs for editing an image. Such processors may comprise a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), field programmable gate arrays (FPGAs), and state machines. Such processors may further comprise programmable electronic devices such as PLCs, programmable interrupt controllers (PLCs), programmable logic devices (PLDs), programmable read-only memories (PROMs), electronically programmable read-only memories (EPROMs or EEPROMs), or other similar devices.
Such processors may comprise, or may be in communication with, media, for example computer-readable media, that may store instructions that, when executed by the processor, can cause the processor to perform the steps described herein as carried out, or assisted, by a processor. Embodiments of computer-readable media may comprise, but are not limited to, an electronic, optical, magnetic, or other storage device capable of providing a processor, such as the processor in a web server, with computer-readable instructions. Other examples of media comprise, but are not limited to, a floppy disk, CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read. The processor, and the processing, described may be in one or more structures, and may be dispersed through one or more structures. The processor may comprise code for carrying out one or more of the methods (or parts of methods) described herein.
The foregoing description of some embodiments of the invention has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Numerous modifications and adaptations thereof will be apparent to those skilled in the art without departing from the spirit and scope of the invention.
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, operation, or other characteristic described in connection with the embodiment may be included in at least one implementation of the invention. The invention is not restricted to the particular embodiments described as such. The appearance of the phrase “in one embodiment” or “in an embodiment” in various places in the specification does not necessarily refer to the same embodiment. Any particular feature, structure, operation, or other characteristic described in this specification in relation to “one embodiment” may be combined with other features, structures, operations, or other characteristics described in respect of any other embodiment.
Number | Name | Date | Kind |
---|---|---|---|
2972140 | Hirsch | Feb 1961 | A |
3157853 | Hirsch | Nov 1964 | A |
3220121 | Cutler | Nov 1965 | A |
3497668 | Hirsch | Feb 1970 | A |
3517446 | Corlyon et al. | Jun 1970 | A |
3623064 | Kagen | Nov 1971 | A |
3838397 | Watson et al. | Sep 1974 | A |
3902687 | Hightower | Sep 1975 | A |
3903614 | Diamond et al. | Sep 1975 | A |
3911416 | Feder | Oct 1975 | A |
4127752 | Lowthorp | Nov 1978 | A |
4160508 | Salsbury | Jul 1979 | A |
4236325 | Hall et al. | Dec 1980 | A |
4262549 | Schwellenbach | Apr 1981 | A |
4311980 | Prudenziati | Jan 1982 | A |
4333070 | Barnes | Jun 1982 | A |
4362408 | Cordes et al. | Dec 1982 | A |
4464117 | Forest | Aug 1984 | A |
4484191 | Vavra | Nov 1984 | A |
4513235 | Acklam et al. | Apr 1985 | A |
4581491 | Boothroyd | Apr 1986 | A |
4581972 | Hoshino | Apr 1986 | A |
4599070 | Hladky et al. | Jul 1986 | A |
4692756 | Clark | Sep 1987 | A |
4708656 | De Vries et al. | Nov 1987 | A |
4713007 | Alban | Dec 1987 | A |
4725817 | Jay | Feb 1988 | A |
4791416 | Adler | Dec 1988 | A |
4794392 | Selinko | Dec 1988 | A |
4795296 | Wijlborg | Jan 1989 | A |
4798919 | Suita | Jan 1989 | A |
4821030 | Batson | Apr 1989 | A |
4823106 | Pope | Apr 1989 | A |
4840634 | Muller | Jun 1989 | A |
4885565 | Embach | Dec 1989 | A |
4891764 | McIntosh | Jan 1990 | A |
4930770 | Baker | Jun 1990 | A |
4934694 | McIntosh | Jun 1990 | A |
4982918 | Kaye | Jan 1991 | A |
4983786 | Stevens | Jan 1991 | A |
5019761 | Kraft | May 1991 | A |
5022384 | Freels | Jun 1991 | A |
5022407 | Horch et al. | Jun 1991 | A |
5035242 | Franklin et al. | Jul 1991 | A |
5038089 | Szakaly | Aug 1991 | A |
5053585 | Yaniger | Oct 1991 | A |
5078152 | Bond | Jan 1992 | A |
5116051 | Moncrief | May 1992 | A |
5165897 | Johnson | Nov 1992 | A |
5175459 | Daniel et al. | Dec 1992 | A |
5182557 | Lang | Jan 1993 | A |
5186685 | Grossman et al. | Feb 1993 | A |
5212473 | Louis | May 1993 | A |
5223658 | Suzuki | Jun 1993 | A |
5237327 | Saitoh | Aug 1993 | A |
5240417 | Smithson et al. | Aug 1993 | A |
5241308 | Young | Aug 1993 | A |
5246316 | Smith | Sep 1993 | A |
5271290 | Fischer | Dec 1993 | A |
5275174 | Cook | Jan 1994 | A |
5283970 | Aigner | Feb 1994 | A |
5289273 | Lang | Feb 1994 | A |
5299810 | Pierce et al. | Apr 1994 | A |
5309140 | Everett | May 1994 | A |
5334027 | Wherlock | Aug 1994 | A |
5355148 | Anderson | Oct 1994 | A |
5390128 | Ryan | Feb 1995 | A |
5390296 | Crandall | Feb 1995 | A |
5402499 | Robinson | Mar 1995 | A |
5402680 | Korenaga | Apr 1995 | A |
5436622 | Gutman et al. | Jul 1995 | A |
5437607 | Taylor | Aug 1995 | A |
5451924 | Massimino | Sep 1995 | A |
5461711 | Wang | Oct 1995 | A |
5466213 | Hogan et al. | Nov 1995 | A |
5489812 | Furuhata | Feb 1996 | A |
5496174 | Garner | Mar 1996 | A |
5514150 | Rostoker | May 1996 | A |
5521336 | Buchanan | May 1996 | A |
5547382 | Yamasaki et al. | Aug 1996 | A |
5575761 | Hajianpour | Nov 1996 | A |
5631861 | Kramer | May 1997 | A |
5684722 | Thorner | Nov 1997 | A |
5691747 | Amano | Nov 1997 | A |
5709219 | Chen | Jan 1998 | A |
5729249 | Yasutake | Mar 1998 | A |
5766016 | Sinclair et al. | Jun 1998 | A |
5767457 | Gerpheide | Jun 1998 | A |
5785630 | Bobick et al. | Jul 1998 | A |
5791992 | Crump | Aug 1998 | A |
5844392 | Peurach | Dec 1998 | A |
5857986 | Moriyasu | Jan 1999 | A |
5887995 | Holehan | Mar 1999 | A |
5889670 | Schuler | Mar 1999 | A |
5889672 | Schuler | Mar 1999 | A |
5917906 | Thornton | Jun 1999 | A |
5943044 | Martinelli | Aug 1999 | A |
5945772 | Macnak | Aug 1999 | A |
5977867 | Bouin | Nov 1999 | A |
5988902 | Holehan | Nov 1999 | A |
6059506 | Kramer | May 2000 | A |
6078126 | Rollins | Jun 2000 | A |
6097964 | Nuovo | Aug 2000 | A |
6111577 | Zilles et al. | Aug 2000 | A |
6118435 | Fujita et al. | Sep 2000 | A |
6131097 | Peurah | Oct 2000 | A |
6160489 | Perry et al. | Dec 2000 | A |
6195592 | Schuler | Feb 2001 | B1 |
6198206 | Saarmaa | Mar 2001 | B1 |
6218966 | Goodwin | Apr 2001 | B1 |
6219034 | Elbing et al. | Apr 2001 | B1 |
6225976 | Yates | May 2001 | B1 |
6292173 | Rambaldi et al. | Sep 2001 | B1 |
6307465 | Kayma et al. | Oct 2001 | B1 |
6344791 | Armstrong | Feb 2002 | B1 |
6369803 | Brisebois et al. | Apr 2002 | B2 |
6373463 | Beeks | Apr 2002 | B1 |
6374255 | Peurah | Apr 2002 | B1 |
6388655 | Leung | May 2002 | B1 |
6422941 | Thorner et al. | Jul 2002 | B1 |
6429846 | Rosenberg | Aug 2002 | B2 |
6543487 | Bazinet | May 2003 | B2 |
6597347 | Yasutake | Jul 2003 | B1 |
6597384 | Harrison | Jul 2003 | B1 |
6657617 | Paolini et al. | Dec 2003 | B2 |
6735307 | Volckers | May 2004 | B1 |
6781569 | Gregorio et al. | Aug 2004 | B1 |
6801191 | Mukai et al. | Oct 2004 | B2 |
6976562 | Perret, Jr. et al. | Dec 2005 | B1 |
7202851 | Cunningham et al. | Apr 2007 | B2 |
8564544 | Jobs et al. | Oct 2013 | B2 |
8599152 | Wurtenberger | Dec 2013 | B1 |
9335925 | Huh et al. | May 2016 | B2 |
20020033795 | Shahoian | Mar 2002 | A1 |
20020128048 | Aaltonen | Sep 2002 | A1 |
20020149561 | Fukumoto et al. | Oct 2002 | A1 |
20020171621 | Johnson | Nov 2002 | A1 |
20020177471 | Kaaresoja | Nov 2002 | A1 |
20050099393 | Johnson | May 2005 | A1 |
20050145100 | Ramstein | Jul 2005 | A1 |
20060038774 | Mese | Feb 2006 | A1 |
20060066569 | Tryder | Mar 2006 | A1 |
20060254888 | Okada | Nov 2006 | A1 |
20070018959 | Kwon | Jan 2007 | A1 |
20070236474 | Ramstein | Oct 2007 | A1 |
20080068350 | Rosenberg et al. | Mar 2008 | A1 |
20090002178 | Guday | Jan 2009 | A1 |
20090160792 | Morohoshi et al. | Jun 2009 | A1 |
20090280860 | Dahlke | Nov 2009 | A1 |
20100085317 | Park | Apr 2010 | A1 |
20100088639 | Yach | Apr 2010 | A1 |
20100123588 | Cruz Hernandez | May 2010 | A1 |
20110007021 | Bernstein et al. | Jan 2011 | A1 |
20120028577 | Rodriguez | Feb 2012 | A1 |
20120038470 | Kim | Feb 2012 | A1 |
20120218732 | Minemura | Aug 2012 | A1 |
20120223880 | Birnbaum | Sep 2012 | A1 |
20120232780 | Delson | Sep 2012 | A1 |
20130002565 | Tumanov et al. | Jan 2013 | A1 |
20130229396 | Huebner | Sep 2013 | A1 |
20130234948 | Jian | Sep 2013 | A1 |
20130285963 | Park | Oct 2013 | A1 |
20140098028 | Kwak et al. | Apr 2014 | A1 |
Number | Date | Country |
---|---|---|
101714055 | May 2010 | CN |
102937873 | Sep 2015 | CN |
0349086 | Jan 1990 | EP |
0817110 | Jan 1998 | EP |
1965291 | Sep 2008 | EP |
2175344 | Apr 2010 | EP |
2194444 | Jun 2010 | EP |
2180342 | Mar 1987 | GB |
01-003664 | Jul 1990 | JP |
H2-185278 | Jul 1990 | JP |
02-109714 | Jan 1992 | JP |
H4-8381 | Jan 1992 | JP |
04-007371 | Aug 1993 | JP |
H5-192449 | Aug 1993 | JP |
05-193862 | Jan 1995 | JP |
H7-24147 | Jan 1995 | JP |
8221173 | Aug 1996 | JP |
10171586 | Jun 1998 | JP |
11024834 | Jan 1999 | JP |
11085400 | Mar 1999 | JP |
2001-222379 | Aug 2001 | JP |
2001-265485 | Sep 2001 | JP |
2001-290572 | Oct 2001 | JP |
2001-296950 | Oct 2001 | JP |
2001-350592 | Dec 2001 | JP |
2002-259059 | Sep 2002 | JP |
2001-0028369 | Apr 2001 | KR |
WO 9520787 | Aug 1995 | WO |
WO 9718546 | May 1997 | WO |
WO 9949443 | Sep 1999 | WO |
WO 0154109 | Jul 2001 | WO |
WO 0227645 | Apr 2002 | WO |
WO 0231807 | Apr 2002 | WO |
WO 0219110 | Nov 2002 | WO |
2005071438 | Aug 2005 | WO |
Entry |
---|
European Patent Office, Extended Search Report, Application No. 14158395, dated Sep. 1, 2014. |
European Patent Application No. 14 158 395.5, Office Action dated Sep. 24, 2015. |
European Patent Office, Communication Pursuant to Article 94(3) EPC, Application No. 14158395 dated Jul. 9, 2016. |
Adelstein, “A Virtual Environment System For The Study of Human Arm Tremor,” Ph.D. Dissertation, Dept. of Mechanical Engineering, MIT, Jun. 1989. |
Adelstein, “Design and Implementation of a Force Reflecting Manipulandum for Manual Control research,” DSC-vol. 42, Advances in Robotics, Edited by H. Kazerooni, pp. 1-12, 1992. |
Aukstakalnis et al., “Silicon Mirage: The Art and Science of Virtual Reality,” ISBN 0-938151-82-7, pp. 129-180, 1992. |
Baigrie, “Electric Control Loading—A Low Cost, High Performance Alternative,” Proceedings, pp. 247-254, Nov. 6-8, 1990. |
Bejczy, “Sensors, Controls, and Man-Machine Interface for Advanced Teleoperation,” Science, vol. 208, No. 4450, pp. 1327-1335, 1980. |
Bejczy, “Generalization of Bilateral Force-Reflecting Control of Manipulators,” Proceedings Of Fourth CISM-IFToMM, Sep. 8-12, 1981. |
Bejczy, et al., “Universal Computer Control System (UCCS) For Space Telerobots,” CH2413-3/87/0000/0318501.00 1987 IEEE, 1987. |
Bejczy et al., “A Laboratory Breadboard System For Dual-Arm Teleoperation,” SOAR '89 Workshop, JSC, Houston, TX, Jul. 25-27, 1989. |
Bliss, “Optical-to-Tactile Image Conversion for the Blind,” IEEE Transactions on Man-Machine Systems, vol. MMS-11, No. 1, Mar. 1970. |
Brooks et al., “Hand Controllers for Teleoperation—A State-of-the-Art Technology Survey and Evaluation,” JPL Publication 85-11; NASA-CR-175890; N85-28559, pp. 1-84, Mar. 1, 1985. |
Burdea et al., “Distributed Virtual Force Feedback, Lecture Notes for Workshop on Force Display in Virtual Environments and its Application to Robotic Teleoperation,” 1993 IEEE International Conference on Robotics and Automation, pp. 25-44, May 2, 1993. |
Cadler, “Design of a Force-Feedback Touch-Introducing Actuator For Teleoperator Robot Control,” Bachelor of Science Thesis, MIT, Jun. 23, 1983. |
Caldwell et al., “Enhanced Tactile Feedback (Tele-Traction) Using a Multi-Functional Sensory System,” 1050-4729/93, pp. 955-960, 1993. |
Eberhardt et al., “OMAR—A Haptic display for speech perception by deaf and def-blind individuals,” IEEE Virtual Reality Annual International Symposium, Seattle, WA, Sep. 18-22, 1993. |
Eberhardt et al., “Inducing Dynamic Haptic Perception by The Hand: System Description and Some Results,” DSC-vol. 55-1, Dynamic Systems and Control: vol. 1, ASME 1994. |
Fukumoto, “Active Click: Tactile Feedback For Touch Panels,” ACM CHI2001 Extended Abstracts, pp. 121-122, Apr. 2001. |
Gobel et al., “Tactile Feedback Applied to Computer Mice,” International Journal of Human-Computer Interaction, vol. 7, No. 1, pp. 1-24, 1995. |
Gotow et al, “Controlled Impedance Test Apparatus for Studying Human Interpretation of Kinesthetic Feedback,” WA11-11:00, pp. 332-337. |
Howe, “A Force-Reflecting Teleoperated Hand System for the Study of Tactile Sensing in Precision Manipulation,” Proceedings of the 1992 IEEE International Conference on Robotics and Automation, Nice, France, May 1992. |
IBM Technical Disclosure Bullein, “Mouse Ball-Actuating Device With Force and Tactile Feedback,” vol. 32, No. 9B, Feb. 1990. |
Iwata, “Pen-based Haptic Virtual Environment,” 0-7803-1363-1/93 IEEE, pp. 287-292, 1993. |
Jacobsen et al., “High Performance, Dextrous Telerobotic Manipulator With Force Reflection,” Intervention/ROV '91 Conference & Exposition, Hollywood, Florida, May 21-23, 1991. |
Johnson, “Shape-Memory Alloy Tactile Feedback Actuator,” Armstrong Aerospace Medical Research Laboratory, AAMRL-TR-90-039, Aug. 1990. |
Jones et al., “A perceptual analysis of stiffness,” ISSN 0014-4819 Springer International (Springer-Vertag); Experimental Brain Research, vol. 79, No. 1, pp. 150-156, 1990. |
Kaczmarek et al., “Tactile Displays,” Virtual Environment Technologies. |
Kontarinis et al., “Display of High-Frequency Tactile Information to Teleoperators,” Telemanipulator Technology and Space Telerobotics, Won S. Kim, Editor, Proc. SPIE vol. 2057, pp. 40-50, Sep. 7-9, 1993. |
Kontarinis et al., “Tactile Display of Vibratory Information in Teleoperation and Virtual Environments,” Presence, 4(4):387-402, 1995. |
Lake, “Cyberman from Logitech,” GameBytes, 1994. |
Marcus, “Touch Feedback in Surgery,” Proceedings of Virtual Reality and Medicine The Cutting Edge, Sep. 8-11, 1994. |
McAffee, “Teleoperator Subsystem/Telerobot Demonstrator: Force Reflecting Hand Controller Equipment Manual,” JPL D-5172, pp. 1-50, A1-A36, B1-B5, C1-C36, Jan. 1988. |
Minsky, “Computational Haptics: The Sandpaper System for Synthesizing Textue for a Force-Feedback Display,” Ph.D. Dissertation, MIT, Jun. 1995. |
Ouh-Young, “Force Display in Molecular Docking,” Order No. 9034744, p. 1-369, 1990. |
Ouh-Young, “A Low-Cost Force Feedback Joystick and Its Use in PC Video Games,” IEEE Transactions on Consumer Electronics, vol. 41, No. 3, Aug. 1995. |
Ouhyoung et al., “The Development of A Low-Cost Force Feedback Joystick and Its Use in the Virtual Reality Environment,” Proceedings of the Third Pacific Conference on Computer Graphics and Applications, Pacific Graphics '95, Seoul, Korea, Aug. 21-24, 1995. |
Patrick et al., “Design and Testing of A Non-reactive, Fingertip, Tactile Display for Interaction with Remote Environments,” Cooperative Intelligent Robotics in Space, Rui J. deFigueiredo et al., Editor, Proc. SPIE vol. 1387, pp. 215-222, 1990. |
Pimentel et al., “Virtual Reality: through the new looking glass,” 2nd Edition; McGraw-Hill, ISBN 0-07-050167-X, pp. 41-202, 1994. |
Rabinowitz et al., “Multidimensional tactile displays: Identification of vibratory intensity, frequency, and contactor area,” Journal of the Accoustical Society of America, vol. 82, No. 4, Oct. 1987. |
Russo, “The Design and Implementation of a Three Degree of Freedom Force Output Joystick,” MIT Libraries Archives Aug. 14, 1990, pp. 1-131, May 1990. |
Russo, “Controlling Dissipative Magnetic Particle Brakes in Force Reflective Devices,” DSC-vol. 42, Advances in Robotics, pp. 63-70, ASME 1992. |
Scannell, “Taking a Joystick Ride”, Computer Currents, Nov. 1994, Boston Edition, vol. 9 No. 11. |
Shimoga, “Finger Force and Touch Feedback Issues in Dexterous Telemanipulation,” Proceedings of Fourth Annual Conference on Intelligent Robotic Systems for Space Exploration, Rensselaer Polytechnic Institute, Sep. 30-Oct. 1, 1992. |
SMK Corporation, “Multi-Functional Touch Panel, Force-Feedback Type, Developed: A Touch Panel Providing a Clicking Feeling,” http://www.smk.co.jp/whatsnew—e/628csc—e.html, Sep. 30, 2002. |
SMK Corporation, “Force Feedback Type Optical Touch Panel Developed,” SMK Corporation Website, Oct. 30, 2002. |
Snow et al., “Model-X Force-Reflecting-Hand-Controller,” NT Control No. MPO-17851; JPL Case No. 5348, pp. 1-4, Jun. 15, 1989. |
Stanley et al., “Computer Simulation of Interacting Dynamic Mechanical Systems Using Distributed Memory Parallel Processors,” DSV-vol. 42, Advances in Robotics, pp. 55-61, ASME 1992. |
Tadros, “Control System Design for a Three Degree of Freedom Virtual Environment Simulator Using Motor/Brake Pair Actuators,” MIT Archive© Massachusetts Institute of Technology, pp. 1-88, Feb. 1990. |
Terry et al., “Tactile Feedback In A Computer Mouse,” Proceedings of Fourteenth Annual Northeast Bioengineering Conference, University of New Hampshire, Mar. 10-11, 1988. |
Wakiwaka, et al., “Influence of Mover Support Structure on Linear Oscillatory Actuator for Cellular Phones,” The Third International Symposium on Linear Drives for Industry Applications, 2001, p. 260-263, Nagano, Japan. |
Wiker, “Teletouch Display Development: Phase 1 Report,” Technical Report 1230, Naval Ocean Systems Center, San Diego, Apr. 17, 1989. |
Miller, P., Synaptics Fuse Concept Hands-On, Engadget, web page at http://www.engadget.com/2010/01/09/snaptics-fuse-concept-hands-on/ as available via the Internet and printed Sep. 16, 2013. |
Heo, S. et al., Force Gestures: Augmented Touch Screen ,Gestures using Normal and Tangential Force, CHI EA '11, Extended Abstracts on Human Factors in Computing Systems, 2011, pp. 1909-1914. |
Chang, A. et al., ComTouch: Design of a Vibrotactile Communication Device, Proceeding—DIS '02 Proceedings of the 4th conference on Designing interactive systems: processes, practices, methods, and techniques, 2002, pp. 312-320. |
Synaptics Demos Fuse Concept Phone Prototype, uploaded on Mar. 9, 2010 by chuongvision, web page at http://www.youtube.com/watch?v=I2TYPge8CtU. |
PocketTouch: Through-Fabric Capacitive Touch Input, Microsoft Research, recorded Oct. 14, 2011, web page at http://research.microsoft.com/apps/video/default.aspx?id=155018. |
European Patent Office Application No. 14158395.5, Summons to Attend Oral Proceedings dated Mar. 10, 2017. |
European Patent Office Application No. 16200104.4, Extended European Search Report dated Feb. 22, 2017. |
Puerto, Mildred J. et al., “Influence of User Grasping Position on Haptic Rendering”, IEEE I ASME Transactions On Mechatronics, IEEE Service Center, Piscataway, NJ, US, vol. 17, No. 1, Feb. 1, 2012, pp. 174-182. |
Chinese Patent Application No. CN 201410093611.5, Office Action dated May 22, 2017. |
European Patent Office, Decision to refuse a European Patent Application, European Application No. 14158395.5, dated Dec. 11, 2017, 14 pages. |
European Patent Office, Minutes of Oral Proceedings, European Application No. 14158395.5, dated Dec. 4, 2017, 24 pages. |
Number | Date | Country | |
---|---|---|---|
20140282051 A1 | Sep 2014 | US |