Source: https://patents.google.com/patent/US8174502B2/en
Timestamp: 2019-04-19 06:55:05+00:00

Document:
One or more touch input signals can be obtained from a touch sensitive device. If the touch input signals are associated with one or more regions of a web page displayed on the touch sensitive device, a touch event associated with the regions of a web page is processed by the web page. Otherwise, the touch events can be processed by an application (e.g., a browser).
The subject matter of this application is related to Application Ser. No. 12/042,067, for “Touch Event Model for Web Pages” filed Mar. 4, 2008, and application Ser. No. 12/042,299, for “Touch Event Model Programming Interface” filed Mar. 4, 2008, the contents of which are herein incorporated by reference.
One or more touch input signals can be obtained from a touch sensitive device. If the touch input signals are associated with one or more regions of a web page displayed on the touch sensitive device, a touch event associated with the regions of a web page is processed by the web page. If the touch input signals are not associated with the regions of a web page, an application associated with the touch sensitive device processes the touch input signals.
In some implementations, a method includes: receiving touch input signals; determining whether the touch input signals are associated with one or more regions of a web page displayed on a touch sensitive device; and forwarding for processing touch events to the webpage if the touch input signals are associated with the one or more regions of the web page.
Each element in the web page 100, and its associated event handler, can receive, process, and handle touch events. For example, if driver 202 (FIG. 2) senses a touch point 110 associated with element 102, or a touch point 112 associated with element 104, the event handlers associated with elements 102 or 104 can each receive a separate touch event indicating that the element has been touched and can optionally send the touch event to the web page 100 for further processing. In some implementations, if a region of the web page 100 is touched that does not correspond to an event handler, a browser in the applications layer 214 can process the input, instead of the web page 100.
In some implementations, the browser in the applications layer 214 can receive all touch inputs. The browser can determine whether the touch inputs are associated with regions of the web page 100 that include a touch handler. If the touch inputs are associated with regions of the web page 100 that includes a touch handler, the touch event model can generate a touch event and send the touch event to the web page 100 for processing. If the touch inputs are not regions of the web page 100, the browser can process the touch inputs.
Referring to the example of FIG. 1, the user can touch the web page 100 at a second location while not releasing the first touch (e.g., while keeping a finger pressed down at the first touch point). For example, the user can touch the touch point 110 with a first finger and touch the touch point 112 with a second finger without releasing the first finger from touch point 110. Therefore, the second touch at touch point 112 can be contemporaneous with the touch at touch point 110. In this example, the browser determines that the touch points 110 and 112 are regions of the web page 100 that include touch handlers. Thus the touch event model generates a first touch event and a second touch event for the touch inputs at touch points 110 and 112, respectively, and sends the first and second touch events to the web page 100 for processing.
If the user, however, touches the web page 100 at a third location (e.g., touch point 114). The browser determines that the touch is not associated with a region of the web page 100 that is associated with a touch handler. In this case, the browser does not send any touch events to web page 100 for processing. Rather, the browser processes the events itself.
In some implementations, if the browser is associated with touch handlers, the browser may process the input according to the touch handlers associated with the browser. For example, a browser can be associated with touch handlers that allow a user to zoom in and out of the display of the browser.
In some implementations, gesture events can also be detected by combining two or more touch events. Like touch events, the gesture events (GestureEvents) can also be delivered to the web page 100 as EventTargets. Some examples of gesture events can be gesturestart, gesturechange, and gestureend. The gesture events can contain scale and/or rotation information. The rotation information can include a rotation value that is a relative delta in degrees. An element on the webpage 100 can be dynamically rotated base on the rotation value. The scale information can also include a scaling value that is a relative delta in document pixels. An element on the webpage 100 associated with the gesture event can be dynamically resized based on the scaling value. Other gesture events are possible.
In some implementations, the touch events are received in the following order: a touchstart event, one or more touchmove events and a touchend or touchcancel event. Using the example of FIG. 1A, when the user touches touch point 110, a first touchstart event is detected by a first touch event handler associated with element 102. When the user touches touch point 112, a second touchstart event is detected by a second touch event handler associated with element 104. As the user rotates her fingers without lifting her fingers, the first and second touch event handlers detect touchmove events which can be interpreted by the touch event model as a rotation gesture event. When the user finishes the rotation and lifts her fingers from the web page 100, the first and second touch event handlers detect touchend events. All or some of these touch events can be made available to developers through a touch event Application Programming Interface (API). The touch API can be made available to developers as a Software Development Kit (SDK) or as part of an application (e.g., as part of a browser tool kit). The touch event API can rely on other services, frameworks and an operating system to perform its various functions. These services, frameworks and operating system can be part of a software or processing stack, as described in reference to FIG. 2 where the touch events are associated with attributes that can be inserted in documents to define event actions in an application.
receive gesturechange events for other elements.
// Only interpret gestures when tracking one object.
FIG. 3 is a flow diagram of a process 300 for optimizing the processing of touch events. The process 300 begins by receiving touch input signals from a touch sensitive device (302). A determination of whether the touch input signals are associated with one or more regions of a web page displayed on the touch sensitive device is made (304). The one or more regions of the web page can be associated with touch events. The determination can, for example, be made by an application (e.g., a browser) associated with the touch sensitive device. The touch events associated with the one or more regions of the web page can be processed with the web page if the touch signals are associated with the one or more regions of the web page (306). The application can process the touch signals if the touch signals are not associated with the one or more regions of the web page.
if the touch input signals are associated with a touch gesture, forwarding a gesture event to the web page for further processing by executing the instructions stored in the web page.
if the touch input signals are not associated with a touch gesture, processing the touch input signals with an application associated with the touch sensitive device.
3. The method of claim 1, where the one or more elements of the web page are associated with one or more nodes in a document object model (DOM) and the nodes are at a same or different hierarchical levels of the DOM.
4. The method of claim 1, where the gesture event comprises two or more touch events.
5. The method of claim 2, where the application is a browser.
6. The method of claim 1, where the gesture event is associated with attributes that can be inserted in documents to define event actions in the web page.
7. The method of claim 6, where the attributes are inserted in one or more HyperText Markup Language (“HTML”) tags in an HTML document for generating the web page displayed on the touch sensitive device.
processing the gesture event based on the HTML tag associated with the one or more elements of the web page.
9. The method of claim 1, where the gesture includes a sequence of touch events that include a touch start event, one or more touch move events and a touch end or touch cancel event.
10. The method of claim 1, where the gesture event includes at least two or more touch events that occur at substantially the same time.
13. The system of claim 11, where the one or more elements of the web page are associated with one or more nodes in a document object model (DOM) and the nodes are at the same or different hierarchical levels of the DOM.
14. The system of claim 11, where the gesture event comprises two or more touch events.
15. The system of claim 12, where the application is a browser.
16. The system of claim 11, where the gesture event is associated with attributes that can be inserted in documents to define event actions in the web page.
17. The system of claim 16, where the attributes are inserted in one or more HyperText Markup Language (“HTML”) tags in an HTML document for generating the web page displayed on the touch sensitive device.
processing the gesture event based on the HTML tag associated with the one or more elements of a web page.
19. The system of claim 11, where the gesture includes a sequence of touch events that include a touch start event, one or more touch move events and a touch end or touch cancel event.
20. The system of claim 11, where the gesture event includes at least two or more touch events that occur at substantially the same time.
if the touch input signals are associated with a touch gesture, forwarding a gesture event to the web page for further processing by executing instructions stored in the web page.
MX2007007804A (en) * 2004-12-29 2007-09-14 Bausch & Lomb Polysiloxane prepolymers for biomedical devices.
"Document Object Model (DOM) Level 2 Events Specification Version 1.0" W3C Recommendation, Nov. 13, 2000, pp. 1-47.
Anonymous, "Firegestures Version History", Internet Article [Online] [Retrieved on Oct. 28, 2009]; Retrieved from the Internet at URL: http://addons.mozilla.org/en-US/firefox/addons/versions/6366; 6 pages. XP002552762.
Anonymous, "Firegestures", Internet Article [Online] [Retrieved on Oct. 27, 2009]; Retrieved from the Internet at URL: http://xuldev.org/firegestures/; 2 pages. XP002552760.
Anonymous, "Firegestures: Changelog", Internet Article [Online] [Retrieved on Oct. 28, 2009]; Retrieved from the Internet at URL: http://xuldev.org/firegestures/changelog.php; 8 pages. XP002552761.
Authorized officer Masashi Honda, International Preliminary Report on Patentability in PCT/US2009/35856 mailed Sep. 16, 2010, 7 pages.
Authorized officer Masashi Honda, International Preliminary Report on Patentability in PCT/US2009/35858 mailed Sep. 16, 2010, 7 pages.
Authorized officer Simin Baharlou, International Preliminary Report on Patentability in PCT/US2009/35874 mailed Sep. 16, 2010, 8 pages.
European Search Report dated Apr. 21, 2009, received in European Application No. 09154313.2, which corresponds to U.S. Appl. No. 12/042,318 (Platzer).
European Search Report dated Dec. 7, 2011, received in European Patent Application No. 11184186.2, which corresponds to U.S. Appl. No. 12/566,660 (Moore).
European Search Report dated Nov. 18, 2011, received in European Patent Application No. 11184170.6, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
European Search Report dated Nov. 18, 2011, received in European Patent Application No. 11184172.2, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
European Search Report dated Nov. 23, 2011, received in European Patent Application No. 11184167.2, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
European Search Report dated Nov. 24, 2011, received in European Patent Application No. 11184169.8, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
European Search Report dated Nov. 30, 2011, received in European Patent Application No. 11184409.8, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Final Office Action dated Jul. 28, 2011, received in U.S. Appl. No. 12/042,067 (Williamson).
Final Office Action dated Jul. 8, 2011, received in U.S. Appl. No. 12/042,299 (Williamson).
Final Office Action dated Nov. 13, 2009, received in U.S. Appl. No. 11/620,709 (Platzer).
Final Office Action dated Nov. 17, 2009, received in U.S. Appl. No. 11/620,723 (Platzer).
Grant for Invention Patent dated Mar. 22, 2011, received in Chinese Patent Application No. ZL200910118596.4, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
International Preliminary Report on Patentability dated Jul. 7, 2009, received in International Application No. PCT/US2008/000058, which corresponds to U.S. Appl. No. 11/620,709 (Platzer).
International Preliminary Report on Patentability dated Jul. 7, 2009, received in International Application No. PCT/US2008/000060, which corresponds to U.S. Appl. No. 11/620,727 (Blumenberg).
International Preliminary Report on Patentability dated Jul. 7, 2009, received in International Application No. PCT/US2008/000069, which corresponds to U.S. Appl. No. 11/620,715 (Platzer).
International Preliminary Report on Patentability dated Jul. 7, 2009, received in International Application No. PCT/US2008/000089, which corresponds to U.S. Appl. No. 11/620,717 (Platzer).
International Preliminary Report on Patentability dated Jul. 7, 2009, received in International Application No. PCT/US2008/000103, which corresponds to U.S. Appl. No. 11/620,723 (Platzer).
International Search Report and Written Opinion dated Apr. 22, 2008, received in International Application No. PCT/US2008/000060, which corresponds to U.S. Appl. No. 11/620,727 (Blumenberg).
International Search Report and Written Opinion dated Dec. 13, 2011, received in International Patent Application No. PCT/US2011/039583, which corresponds to U.S. Appl. No. 12/892,848 (Dale).
International Search Report and Written Opinion dated Jul. 31, 2008, received in International Application No. PCT/US2008/000058, which corresponds to U.S. Appl. No. 11/620,709 (Platzer).
International Search Report and Written Opinion dated Jun. 3, 2008, received in International Application No. PCT/US2008/000103, which corresponds to U.S. Appl. No. 11/620,723 (Platzer).
International Search Report and Written Opinion dated Jun. 4, 2008, received in International Application No. PCT/US2008/000089, which corresponds to U.S. Appl. No. 11/620,717 (Platzer).
International Search Report and Written Opinion dated May 2, 2008, received in International Application No. PCT/US2008/000069, which corresponds to U.S. Appl. No. 11/620,715 (Platzer).
International Search Report and Written Opinion dated May 20, 2011, received in International Application No. PCT/US2011/022516, which corresponds to U.S. Appl. No. 12/789,695 (Moore).
International Search Report and Written Opinion dated Oct. 5, 2010, received in International Application No. PCT/US2010/027118, which corresponds to U.S. Appl. No. 12/566,660 (Moore).
International Search Report and Written Opinion, dated Jul. 3, 2009, issued in International Application No. PCT/US2009/035856.
International Search Report and Written Opinion, dated Jul. 3, 2009, issued in International Application No. PCT/US2009/035858.
International Search Report and Written Opinion, dated Nov. 11, 2009, issued in International Application No. PCT/US2009/035874.
International Search Report dated Apr. 16, 2009, received in International Application No. PCT/US2009/034772, which corresponds to U.S. Appl. No. 12/042,318 (Platzer).
Invitation to Pay Additional Fees dated Jul. 13, 2010, received in International Application No. PCT/US2010/027118, which corresponds to U.S. Appl. No. 12/566,660 (Moore).
KennyTM, "UIGestureRecognizer," from iPhone Development Wiki, Oct. 31, 2009, 3 pages, http://iphonedevwiki.net/index.php?title=UIGestureRecognizer&oldid=319http://iphonedevwiki.net/index.php?title=UIGestureRecognizer&action=history.
Masui et al., "Elastic Graphical Interfaces for Precise Data Manipulation," ACM Conference on Human Factors in Computing Systems (CHI '95), Apr. 1995, Conference Companion, ACM press, pp. 143-144.
Notice of Allowance dated Jul. 20, 2010, received in U.S. Appl. No. 11/620,717 (Platzer).
Notification of Transmittal of International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for PCT/US2009/035856 dated Jul. 3, 2009.
Office Action dated Apr. 1, 2009, received in U.S. Appl. No. 11/620,709 (Platzer).
Office Action dated Apr. 1, 2009, received in U.S. Appl. No. 11/620,723 (Platzer).
Office Action dated Aug. 10, 2010, received in German Patent Application No. 11 2009 000 003.7, which corresponds to U.S. Appl. No. 12/042,299 (Williamson).
Office Action dated Aug. 26, 2011, received in Japanese Patent Application No. 2009-080377, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Aug. 3, 2011, received in Japanese Patent Application No. 2010 502358, which corresponds to U.S. Appl. No. 12/042,299 (Williamson).
Office Action dated Aug. 9, 2011, received in Australian Patent Application No. 2009200493, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Dec. 13, 2011, received in Australian Patent Application No. 2011101154, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Dec. 13, 2011, received in Australian Patent Application No. 2011101155, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Dec. 13, 2011, received in Australian Patent Application No. 2011101156, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Dec. 13, 2011, received in Australian Patent Application No. 2011101157, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Dec. 29, 2009, received in U.S. Appl. No. 11/620,717 (Platzer).
Office Action dated Dec. 9, 2011, received in U.S. Appl. No. 12/566,660 (Moore).
Office Action dated Feb. 16, 2011, received in U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Feb. 25, 2011, received in Australian Patent Application No. 2009200493, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Jan. 18, 2011, received in U.S. Appl. No. 12/042,067 (Williamson).
Office Action dated Jan. 4, 2011, received in U.S. Appl. No. 12/042,299 (Williamson).
Office Action dated Jul. 14, 2011, received in Chinese Patent Application No. 200980000015.5, which corresponds to U.S. Appl. No. 12/042,237 (Bolsinga).
Office Action dated Jul. 8, 2009, received in U.S. Appl. No. 11/620,717 (Platzer).
Office Action dated Jun. 8, 2010, received in U.S. Appl. No. 11/620,723 (Platzer).
Office Action dated Jun. 9, 2010, received in U.S. Appl. No. 11/620,709 (Platzer).
Office Action dated Mar. 2, 2011, received in European Patent Application No. 11150786.9, which corresponds to U.S. Appl. No. 12/042,318 (Beaver).
Office Action dated Nov. 26, 2010, received in European Patent Application No. 09 700 007.9, which corresponds to U.S. Appl. No. 12/402,299 (Williamson).
Office Action dated Oct. 15, 2010, received in European Patent Application No. 09 700 006.1, which corresponds to U.S. Appl. No. 12/042,067 (Williamson).
Office Action dated Oct. 19, 2010, received in German Patent Application No. 11 2009 000 001.0, which corresponds to U.S. Appl. No. 12/042,067 (Williamson).
Office Action dated Oct. 19, 2011, received in Chinese Patent Application No. 200980000014.0, which corresponds to U.S. Appl. No. 12/042,067 (Williamson).
Office Action dated Oct. 24, 2011, received in Japanese Patent Application No. 2010-502356, which corresponds to U.S. Appl. No. 12/042,067 (Williamson).
Office Action dated Oct. 26, 2011, received in Chinese Patent Application No. 200980000013.6, which corresponds to U.S. Appl. No. 12/042,299 (Williamson).
Office Action dated Sep. 15, 2011, received in U.S. Appl. No. 12/042,318 (Beaver).
Pixley, "Document Object Model (DOM) Level 2 Events Specifications Version 1.0", W3C Recommendation, pp. 1-47, Nov. 13, 2000.
Räihä, L., "Delegation: Dynamic Specialization," Proceeding of the conference on TRI-Ada '94, pp. 172-179.
Rogers, M., "It's for You! An iPhone Development Primer for the Busy College Professor," Journal of Computing Sciences in Colleges, vol. 25, No. 1, Oct. 1, 2009, pp. 94-101.

References: Application No. 09154313
 Application No. 11184186
 Application No. 11184170
 Application No. 11184172
 Application No. 11184167
 Application No. 11184169
 Application No. 11184409
 Application No. 11
 Application No. 2009
 Application No. 2010
 Application No. 2009200493
 Application No. 2011101154
 Application No. 2011101155
 Application No. 2011101156
 Application No. 2011101157
 Application No. 2009200493
 Application No. 200980000015
 Application No. 11150786
 Application No. 09
 Application No. 09
 Application No. 11
 Application No. 200980000014
 Application No. 2010
 Application No. 200980000013