A computer-implemented method for use in conjunction with a computing device with a touch screen display comprises: detecting one or more finger contacts with the touch screen display, applying one or more heuristics to the one or more finger contacts to determine a command for the device, and processing the command. The one or more heuristics comprise: a heuristic for determining that the one or more finger contacts correspond to a one-dimensional vertical screen scrolling command, a heuristic for determining that the one or more finger contacts correspond to a two-dimensional screen translation command, and a heuristic for determining that the one or more finger contacts correspond to a command to transition from displaying a respective item in a set of items to displaying a next item in the set of items. Inventors: Steven P. Jobs, Scott Forstall, Greg Christie, Stephen O. Lemay, Scott Herz, Marcel van Os, Bas Ording, Gregory Novick, Wayne C. Westerman, Imran Chaudhri, Patrick Lee Coffman, Kenneth Kocienda, Nitin K. Ganatra, Freddy Allen Anzures, Jeremy A. Wyld, Jeffrey Bush, Michael Matas, Paul D. Marcos, Charles J. Pisula, Virgil Scott King, Chris Blumenberg, Francisco Ryan Tolmasky, Richard Williamson, Andre M. J. Boule, Henri C. LamirauxOriginal Assignee: Apple Inc.Primary Examiner: Duc Q Dinh Attorney: Morgan, Lewis & Bockius LLP Current U.S. Classification: 345/173; 345/169; 715/784; 715/786View patent at USPTOSearch USPTO Assignment DatabaseDownload USPTO Public PAIR data |
Citations|
| US5528260 | Dec 22, 1994 | Jun 18, 1996 | Autodesk, Inc. | Method and apparatus for proportional auto-scrolling | | US5655094 | Sep 29, 1995 | Aug 5, 1997 | International Business Machines Corporation | Pop up scroll bar | | US5805161 | Sep 26, 1996 | Sep 8, 1998 | Logitech, Inc. | System and method for data processing enhanced ergonomic scrolling | | US6278443 | Apr 30, 1998 | Aug 21, 2001 | International Business Machines Corporation | Touch screen with random finger placement and rolling on screen to control the movement of information on-screen | | US6466203 | Jul 19, 2000 | Oct 15, 2002 | Koninklijke Philips Electronics N.V. | Hand-held with auto-zoom for graphical display of Web page | | US6559869 | May 4, 2000 | May 6, 2003 | Microsoft Corporation | Adaptive auto-scrolling merge for hand written input | | US6597345 | Nov 5, 2001 | Jul 22, 2003 | Jetway Technologies Ltd. | Multifunctional keypad on touch screen | | US6657615 | Mar 30, 2000 | Dec 2, 2003 | Fujitsu Limited | Input processing method and input processing device for implementing same | | US6683628 | May 11, 2000 | Jan 27, 2004 | Tokyo University of Agriculture and Technology | Human interactive type display system | | US6690387 | Dec 28, 2001 | Feb 10, 2004 | Koninklijke Philips Electronics N.V. | Touch-screen image scrolling system and method | | US7088344 | Oct 1, 2001 | Aug 8, 2006 | International Business Machines Corporation | Data processor, I/O device, touch panel controlling method, recording medium, and program transmitter | | US7093203 | Jun 13, 2002 | Aug 15, 2006 | Sony Corporation Sony Electronics Inc. | System and method for enabling manipulation of graphic images to form a graphic image | | US20020158838 | Apr 30, 2001 | | International Business Machines Corporation | Edge touchpad input device | | US20030184593 | Oct 9, 2001 | | | System, method and article of manufacture for a user interface for an MP3 audio player | | US20040012572 | Mar 17, 2003 | | | Display and touch screen method and apparatus | | US20040021676 | Oct 4, 2002 | | Tatung Co., Ltd. | Method and apparatus of view window scrolling | | US20040160420 | Feb 19, 2003 | | | Electronic device having an image-based data input system | | US20050012723 | Jul 14, 2004 | | MOVE MOBILE SYSTEMS, INC. | System and method for a portable multimedia client | | US20050193351 | Feb 16, 2005 | | | Varying-content menus for touch screens | | US20060001652 | Jul 1, 2005 | | | Method for scroll bar control on a touchpad | | US20060007178 | Jul 7, 2004 | | | Electronic device having an imporoved user interface | | US20060022955 | Aug 26, 2004 | | | Visual expander | | US20060028428 | Aug 5, 2004 | | | Handheld device having localized force feedback | | US20060031786 | Jul 22, 2005 | | | Method and apparatus continuing action of user gestures performed upon a touch sensitive interactive display in simulation of inertia | | US20060044259 | Aug 25, 2004 | | | Wide touchpad on a portable computer | | US20060049920 | Sep 9, 2004 | | | Handheld device having multiple localized force feedback | | US20060101354 | Oct 20, 2005 | | Nintendo Co., Ltd. | Gesture inputs for a portable display device | | US20060132460 | Dec 22, 2004 | | Microsoft Corporation | Touch screen accuracy | | US20060164399 | Jan 21, 2005 | | | Touchpad diagonal scrolling | | US20060181519 | Feb 14, 2005 | | | Method and system for manipulating graphical objects displayed on a touch-sensitive display surface using displaced pop-ups | | US20060253793 | May 4, 2005 | | | System and method for issuing commands based on pen motions on a graphical keyboard | | US20060294472 | Dec 30, 2005 | | | User interface with figures mapping to the keys, for allowing a user to select and control a portable electronic device | | US20070040812 | Feb 27, 2006 | | | Internet phone integrated with touchpad functions | | US20070061126 | Sep 1, 2005 | | | System for and method of emulating electronic input devices | | US20070118400 | Nov 22, 2005 | | | Method and system for gesture recognition to drive healthcare applications | | US20070120834 | Nov 21, 2006 | | | METHOD AND SYSTEM FOR OBJECT CONTROL | | US20070130532 | Dec 6, 2005 | | | Hierarchical software navigation system | | US20070150826 | Dec 23, 2005 | | | Indication of progress towards satisfaction of a user input condition | | US20070152984 | Dec 29, 2006 | | | Portable electronic device with multi-touch input | | US20070177803 | Jan 3, 2007 | | APPLE COMPUTER, INC | MULTI-TOUCH GESTURE DICTIONARY |
Referenced by|
| US7808403 | Oct 17, 2006 | Oct 5, 2010 | Airbus France | Display system for an aircraft | | US7870508 | Aug 17, 2006 | Jan 11, 2011 | Cypress Semiconductor Corporation | Method and apparatus for controlling display of data on a display screen | | US7880722 | Oct 17, 2007 | Feb 1, 2011 | Harris Technology, LLC | Communication device with advanced characteristics | | US7956849 | Sep 4, 2007 | Jun 7, 2011 | Apple Inc. | Video manager for portable multifunction device | | US7958456 | Dec 23, 2005 | Jun 7, 2011 | Apple Inc. | Scrolling list with floating adjacent index symbols | | US7971140 | Jul 8, 2010 | Jun 28, 2011 | KD Secure LLC | System and method for generating quotations from a reference document on a touch sensitive display device | | US7976372 | Nov 7, 2008 | Jul 12, 2011 | IGT | Gaming system having multiple player simultaneous display/input device | | US8022935 | Jul 6, 2006 | Sep 20, 2011 | Apple Inc. | Capacitance sensing electrode with integrated I/O mechanism | | US8032830 | Jul 22, 2009 | Oct 4, 2011 | KD Secure LLC | System and method for generating quotations from a reference document on a touch sensitive display device | | US8040321 | Jul 10, 2006 | Oct 18, 2011 | Cypress Semiconductor Corporation | Touch-sensor with shared capacitive sensors | | US8044314 | Jul 27, 2010 | Oct 25, 2011 | Apple Inc. | Hybrid button | | US8055022 | Feb 24, 2009 | Nov 8, 2011 | SMART Technologies ULC | Passive touch system and method of detecting user input | | US8058937 | Jan 30, 2007 | Nov 15, 2011 | Cypress Semiconductor Corporation | Setting a discharge rate and a charge rate of a relaxation oscillator circuit | | US8059015 | May 25, 2006 | Nov 15, 2011 | Cypress Semiconductor Corporation | Capacitance sensing matrix for keyboard architecture | | US8059099 | Sep 11, 2006 | Nov 15, 2011 | Apple Inc. | Techniques for interactive input to portable electronic devices | | US8062115 | Apr 26, 2007 | Nov 22, 2011 | WMS Gaming Inc. | Wagering game with multi-point gesture sensing device | | US8072429 | Mar 29, 2007 | Dec 6, 2011 | Cypress Semiconductor Corporation | Multi-axial touch-sensor device with multi-touch resolution | | US8073931 | Aug 25, 2008 | Dec 6, 2011 | iControl Networks, Inc. | Networked touchscreen with integrated interfaces | | US8086275 | Mar 30, 2009 | Dec 27, 2011 | Microsoft Corporation | Alternative inputs of a mobile communications device | | US8089462 | Apr 7, 2008 | Jan 3, 2012 | SMART Technologies ULC | Pointer tracking across multiple overlapping coordinate input sub-regions defining a generally contiguous input region | | US8090087 | Oct 26, 2006 | Jan 3, 2012 | Apple Inc. | Method, system, and graphical user interface for making conference calls | | US8094137 | Jul 23, 2007 | Jan 10, 2012 | Smart Technologies ULC | System and method of detecting contact on a display | | US8111134 | May 26, 2009 | Feb 7, 2012 | Visa International Service Association | Device including authentication glyph | | US8115753 | Apr 11, 2008 | Feb 14, 2012 | Next Holdings Limited | Touch screen system with hover and click input methods | | US8120596 | May 21, 2004 | Feb 21, 2012 | SMART Technologies ULC | Tiled touch system | | US8125461 | Sep 5, 2008 | Feb 28, 2012 | Apple Inc. | Dynamic input graphic display | | US8130206 | Oct 9, 2007 | Mar 6, 2012 | Nokia Corporation | Apparatus, method, computer program and user interface for enabling a touch sensitive display | | US8131898 | May 27, 2010 | Mar 6, 2012 | Adobe Systems Incorporated | Event handling in an integrated execution environment | | US8135389 | Aug 8, 2011 | Mar 13, 2012 | Apple Inc. | Missed telephone call management for a portable multifunction device | | US8144125 | Mar 30, 2006 | Mar 27, 2012 | | Apparatus and method for reducing average scan rate to detect a conductive object on a sensing device | | US8147316 | Oct 10, 2007 | Apr 3, 2012 | WMS Gaming, Inc. | Multi-player, multi-touch table for use in wagering game systems | | US8147340 | Mar 5, 2009 | Apr 3, 2012 | IGT | Methods and regulated gaming machines configured for service oriented smart display buttons | | US8149221 | Dec 18, 2008 | Apr 3, 2012 | Next Holdings Limited | Touch panel display system with illumination and detection provided from a single edge | | US8159327 | May 13, 2009 | Apr 17, 2012 | Visa International Service Association | Device including authentication glyph | | US8159469 | Jul 20, 2009 | Apr 17, 2012 | Hewlett-Packard Development Company, L.P. | User interface for initiating activities in an electronic device | | US8171432 | Jun 20, 2008 | May 1, 2012 | Apple Inc. | Touch screen device, method, and graphical user interface for displaying and selecting application options | | US8174503 | May 17, 2008 | May 8, 2012 | David H. Cain | Touch-based authentication of a mobile device through user generated pattern creation | | US8174510 | Mar 29, 2009 | May 8, 2012 | Cypress Semiconductor Corporation | Capacitive touch screen | | US8175653 | Mar 30, 2009 | May 8, 2012 | Microsoft Corporation | Chromeless user interface | | US8176435 | Sep 8, 2011 | May 8, 2012 | Google Inc. | Pinch to adjust | | US8185839 | Jun 9, 2007 | May 22, 2012 | Apple Inc. | Browsing or searching user interfaces and other aspects | | US8195718 | Feb 27, 2009 | Jun 5, 2012 | International Business Machines Corporation | Methods and systems for aggregating content in an instant messaging system | | US8196059 | Apr 4, 2008 | Jun 5, 2012 | Aten International Co., Ltd. | Switch and on-screen display systems and methods | | US8201096 | Jun 9, 2007 | Jun 12, 2012 | Apple Inc. | Browsing or searching user interfaces and other aspects | | US8203535 | Aug 31, 2006 | Jun 19, 2012 | SMART Technologies ULC | Passive touch system and method of detecting user input | | US8206047 | Jun 24, 2011 | Jun 26, 2012 | TouchFire, Inc. | Keyboard overlay for optimal touch typing on a proximity-based touch screen | | US8217787 | Jul 14, 2009 | Jul 10, 2012 | Sony Computer Entertainment America LLC | Method and apparatus for multitouch text input | | US8228304 | Jun 11, 2009 | Jul 24, 2012 | SMART Technologies ULC | Size/scale orientation determination of a pointer in a camera-based touch system | | US8231458 | Jun 3, 2011 | Jul 31, 2012 | IGT | Gaming system having multiple player simultaneous display/input device | | US8235529 | Nov 30, 2011 | Aug 7, 2012 | Google Inc. | Unlocking a screen using eye tracking information | | US8235812 | Jun 3, 2011 | Aug 7, 2012 | IGT | Gaming system having multiple player simultaneous display/input device | | US8238876 | Mar 30, 2009 | Aug 7, 2012 | Microsoft Corporation | Notifications | | US8241912 | May 5, 2009 | Aug 14, 2012 | WMS Gaming Inc. | Gaming machine having multi-touch sensing device | | USD598880 | Jul 10, 2008 | Aug 25, 2009 | Hon Hai Precision Industry Co., Ltd. | Cellular phone | | USD601159 | Oct 27, 2008 | Sep 29, 2009 | Microsoft Corporation | Icon for a display screen | | USD603362 | Nov 20, 2008 | Nov 3, 2009 | Samsung Electronics, Ltd. | Mobile phone | | USD624928 | Oct 16, 2009 | Oct 5, 2010 | Microsoft Corporation | Graphic user interface for a display screen | | USD624929 | Oct 16, 2009 | Oct 5, 2010 | Microsoft Corporation | Graphic user interface for a display screen | | USD624930 | Oct 16, 2009 | Oct 5, 2010 | Microsoft Corporation | Graphic user interface for a display screen | | USD624931 | Oct 16, 2009 | Oct 5, 2010 | Microsoft Corporation | Graphic user interface for a display screen | | USD628546 | Feb 19, 2010 | Dec 7, 2010 | Samsung Electronics Co., Ltd. | Mobile phone | | USD664992 | Mar 21, 2011 | Aug 7, 2012 | Microsoft Corporation | Display screen with animated graphical user interface | | USD665418 | Mar 21, 2011 | Aug 14, 2012 | Microsoft Corporation | Display screen with graphical user interface | | USD665419 | Mar 21, 2011 | Aug 14, 2012 | Microsoft Corporation | Display screen with animated graphical user interface |
Claims1. A computing device, comprising: - a touch screen display;
- one or more processors;
- memory; and
- one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including:
- instructions for detecting one or more finger contacts with the touch screen display;
- instructions for applying one or more heuristics to the one or more finger contacts to determine a command for the device; and
- instructions for processing the command;
- wherein the one or more heuristics comprise:
- a vertical screen scrolling heuristic for determining that the one or more finger contacts correspond to a one-dimensional vertical screen scrolling command rather than a two-dimensional screen translation command based on an angle of initial movement of a finger contact with respect to the touch screen display;
- a two-dimensional screen translation heuristic for determining that the one or more finger contacts correspond to the two-dimensional screen translation command rather than the one-dimensional vertical screen scrolling command based on the angle of initial movement of the finger contact with respect to the touch screen display; and
- a next item heuristic for determining that the one or more finger contacts correspond to a command to transition from displaying a respective item in a set of items to displaying a next item in the set of items.
2. The computing device of claim 1, wherein the one or more heuristics include a heuristic for determining that the one or more finger contacts correspond to a command to translate content within a frame rather than translating an entire page that includes the frame. 3. The computing device of claim 1, wherein the one or more heuristics include a heuristic for determining which user interface object is selected when two user interface objects have overlapping hit regions. 4. The computing device of claim 1, wherein, in one heuristic of the one or more heuristics, a contact comprising a finger swipe gesture that initially moves within a predetermined angle of being perfectly vertical with respect to the touch screen display corresponds to the one-dimensional vertical screen scrolling command. 5. The computing device of claim 1, wherein, in one heuristic of the one or more heuristics, a contact comprising a moving finger gesture that initially moves within a predefined range of angles corresponds to the two-dimensional screen translation command. 6. The computing device of claim 1, wherein, in one heuristic of the one or more heuristics, a contact comprising a finger swipe gesture that initially moves within a predetermined angle of being perfectly horizontal with respect to the touch screen display corresponds to a one-dimensional horizontal screen scrolling command rather than the two-dimensional screen translation command. 7. The computing device of claim 1, wherein, in one heuristic of the one or more heuristics, a contact comprising a simultaneous two-thumb twisting gesture corresponds to a 90° screen rotation command. 8. The computing device of claim 1, wherein, in one heuristic of the one or more heuristics, an N-finger translation gesture corresponds to a command to translate an entire page of content and an M-finger translation gesture corresponds to a command to translate content within a frame rather than translating the entire page of content that includes the frame. 9. The computing device of claim 1, including: - instructions for detecting one or more first finger contacts with the touch screen display while a web browser application is displayed on the touch screen display;
- instructions for applying a first set of heuristics for the web browser application to the one or more first finger contacts to determine a first command for the device; and
- instructions for processing the first command;
- wherein the first set of heuristics comprises:
- the vertical screen scrolling heuristic; and
- the two-dimensional screen translation heuristic; and
- instructions for detecting one or more second finger contacts with the touch screen display while a photo album application is displayed on the touch screen display;
- instructions for applying a second set of heuristics for the photo album application to the one or more second finger contacts to determine a second command for the device; and
- instructions for processing the second command;
- wherein the second set of heuristics comprises:
- the next item heuristic, wherein the respective item in the set of items is a respective image in a set of images; and
- a heuristic for determining that the one or more second finger contacts correspond to a command to transition from displaying the respective image in the set of images to displaying a previous image in the set of images.
10. The computing device of claim 9, wherein the first set of heuristics comprises a heuristic for determining that the one or more first finger contacts correspond to a one-dimensional horizontal screen scrolling command rather than the two-dimensional screen translation command based on the angle of initial movement of the finger contact with respect to the touch screen display. 11. A computer-implemented method, comprising: - at a computing device with a touch screen display,
- detecting one or more finger contacts with the touch screen display;
- applying one or more heuristics to the one or more finger contacts to determine a command for the device; and
- processing the command;
- wherein the one or more heuristics comprise:
- a vertical screen scrolling heuristic for determining that the one or more finger contacts correspond to a one-dimensional vertical screen scrolling command rather than a two-dimensional screen translation command based on an angle of initial movement of a finger contact with respect to the touch screen display;
- a two-dimensional screen translation heuristic for determining that the one or more finger contacts correspond to the two-dimensional screen translation command rather than the one-dimensional vertical screen scrolling command based on the angle of initial movement of the finger contact with respect to the touch screen display; and
- a next item heuristic for determining that the one or more finger contacts correspond to a command to transition from displaying a respective item in a set of items to displaying a next item in the set of items.
12. The computer-implemented method of claim 11, including: - while displaying a web browser application,
- detecting one or more first finger contacts with the touch screen display;
- applying a first set of heuristics for the web browser application to the one or more first finger contacts to determine a first command for the device; and
- processing the first command;
- wherein the first set of heuristics comprises:
- the vertical screen scrolling heuristic; and
- the two-dimensional screen translation heuristic; and
- while displaying a photo album application,
- detecting one or more second finger contacts with the touch screen display;
- applying a second set of heuristics for the photo album application to the one or more second finger contacts to determine a second command for the device; and
- processing the second command;
- wherein the second set of heuristics comprises:
- the next item heuristic, wherein the respective item in the set of items is a respective image in a set of images; and
- a heuristic for determining that the one or more second finger contacts correspond to a command to transition from displaying the respective image in the set of images to displaying a previous image in the set of images.
13. The computer-implemented method of claim 12, wherein the first set of heuristics comprises a heuristic for determining that the one or more first finger contacts correspond to a one-dimensional horizontal screen scrolling command rather than the two-dimensional screen translation command based on the angle of initial movement of the finger contact with respect to the touch screen display. 14. The computer-implemented method of claim 11, wherein, in one heuristic of the one or more heuristics, a contact comprising a finger swipe gesture that initially moves within a predetermined angle of being perfectly vertical with respect to the touch screen display corresponds to the one-dimensional vertical screen scrolling command. 15. The computer-implemented method of claim 11, wherein, in one heuristic of the one or more heuristics, a contact comprising a moving finger gesture that initially moves within a predefined range of angles corresponds to the two-dimensional screen translation command. 16. The computer-implemented method of claim 11, wherein, in one heuristic of the one or more heuristics, a contact comprising a finger swipe gesture that initially moves within a predetermined angle of being perfectly horizontal with respect to the touch screen display corresponds to a one-dimensional horizontal screen scrolling command rather than the two-dimensional screen translation command. 17. A computer readable storage medium having stored therein instructions, which when executed by a device with a touch screen display, cause the device to: - detect one or more finger contacts with the touch screen display;
- apply one or more heuristics to the one or more finger contacts to determine a command for the device; and
- process the command;
- wherein the one or more heuristics comprise:
- a vertical screen scrolling heuristic for determining that the one or more finger contacts correspond to a one-dimensional vertical screen scrolling command rather than a two-dimensional screen translation command based on an angle of initial movement of a finger contact with respect to the touch screen display;
- a two-dimensional screen translation heuristic for determining that the one or more finger contacts correspond to the two-dimensional screen translation command rather than the one-dimensional vertical screen scrolling command based on the angle of initial movement of the finger contact with respect to the touch screen display; and
- a next item heuristic for determining that the one or more finger contacts correspond to a command to transition from displaying a respective item in a set of items to displaying a next item in the set of items.
18. The computer readable storage medium of claim 17, wherein the computer readable medium has stored therein instructions, which when executed by a device with a touch screen display, cause the device to: - while displaying a web browser application,
- detect one or more first finger contacts with the touch screen display;
- apply a first set of heuristics for the web browser application to the one or more first finger contacts to determine a first command for the device; and
- process the first command;
- wherein the first set of heuristics comprises:
- the vertical screen scrolling heuristic; and
- the two-dimensional screen translation heuristic; and
- while displaying a photo album application,
- detect one or more second finger contacts with the touch screen display;
- apply a second set of heuristics for the photo album application to the one or more second finger contacts to determine a second command for the device; and
- process the second command;
- wherein the second set of heuristics comprises:
- the next item heuristic, wherein the respective item in the set of items is a respective image in a set of images; and
- a heuristic for determining that the one or more second finger contacts correspond to a command to transition from displaying the respective image in the set of images to displaying a previous image in the set of images.
19. The computer readable storage medium of claim 17, wherein, in one heuristic of the one or more heuristics, a contact comprising a finger swipe gesture that initially moves within a predetermined angle of being perfectly vertical with respect to the touch screen display corresponds to the one-dimensional vertical screen scrolling command. 20. The computer readable storage medium of claim 17, wherein, in one heuristic of the one or more heuristics, a contact comprising a moving finger gesture that initially moves within a predefined range of angles corresponds to the two-dimensional screen translation command. |