Firefox/Projects/Multitouch: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Overview ==
= Pitch =
This project aims to improve Firefox support for touchscreen devices. These improvements include making the browser experience better for users of touch screens (on desktop and mobile) and making it possible for webpages to make use of this new form of user input.
This project aims to improve Firefox support for touchscreen devices. These improvements include making the browser experience better for users of touch screens (on desktop and mobile) and making it possible for webpages to make use of this new form of user input.


Main bugs:
= Goals =
* {{bug|548100}} Tracking bug to everything related to touch
* Allow users to interact with the browser via touchscreens
* {{bug|508906}} Bug to implement a multitouch API via DOM Events
* Provide good usability for surfing the web
* Feature a new form of input method and allow web developers to make use of it
* Support this API in Desktop and Mobile


=== UX front ===
= Non Goals =
* Implement advanced form of interactions such as custom gestures
* Alter any behavior for non-touchscreen users
 
= Status =
* IN FLIGHT
** project lead: felipe
** project members:
** started implementation, working on two fronts
** tracking bugs: {{bug|548100}}
 
== UX front ==


Some bugs:
Some bugs:
Line 13: Line 26:
* {{bug|548005}} – Browser zoom should stay centered when coordinates are available
* {{bug|548005}} – Browser zoom should stay centered when coordinates are available
* {{bug|548012}} – Browser zoom should be cancelable to be handled by webpage
* {{bug|548012}} – Browser zoom should be cancelable to be handled by webpage
* {{bug|549446}} - Possibility to hide brower's scrollbars


(More on the tracking bug)
== Multitouch API front ==
 
 
 
 
=== Multitouch API front ===


* {{bug|508906}} [Win7] {{bug|544614}} Fennec
* {{bug|508906}} [Win7] {{bug|544614}} Fennec
Line 30: Line 39:
* Thinking on how to deal with Windows 7 limitation that we cannot get gestures and raw data at the same time
* Thinking on how to deal with Windows 7 limitation that we cannot get gestures and raw data at the same time


- Working on plan of steps around these issues


=== Plan  ===
= Timeline / Milestones =


* Work on our events implementation for desktop and mobile to get them close to a possible spec (following smaug's proposal?)  
The following set of steps represent the main plan to be able to ship the new API by taking into account the 2 issues above
 
* Work on our events implementation for desktop and mobile to get them close to a possible spec (following smaug's proposal?)
* Get rid of the manual document.multitouchData switch and work on switching modes when the page requests any touch events  
* Get rid of the manual document.multitouchData switch and work on switching modes when the page requests any touch events  
** This will deactivate page scrolling and win7 gesture recognition  
** This will deactivate page scrolling and win7 gesture recognition  
* '''[LAND 1]''' Deliver the raw events input first
* '''[LANDING 1]''' Deliver the raw events input first


*Check on using windows gesture processors or implement our own gesture engine  
*Check on using windows gesture processors or implement our own gesture engine  
*[LAND 2] Deliver the gesture events
*[LANDING 2] Deliver the gesture events


*Re-implement [kinetic] panning on our engine for the pages using the touch events  
*Re-implement [kinetic] panning on our engine for the pages using the touch events  
*[LAND 3] Deliver panning on our engine
*[LANDING 3] Deliver panning on our engine


<br> Note 1: for pages that will not make use of the touch apis, nothing will change, and we will continue to use window's own gesture and scrolling processors. If, after LAND 3 or later we think our own stack is good enough to replace windows's one we can make the full switch  
 
Note 1: for pages that will not make use of the touch apis, nothing will change, and we will continue to use window's own gesture and scrolling processors. If, after LAND 3 or later we think our own stack is good enough to replace windows's one we can make the full switch  


Note 2: Most demos out there related to touch (e.g. [http://scripty2.com/demos/touch/]) never combine it with a page with scrolling, so disabling it as a first step doesn't seem to be a big problem.
Note 2: Most demos out there related to touch (e.g. [http://scripty2.com/demos/touch/]) never combine it with a page with scrolling, so disabling it as a first step doesn't seem to be a big problem.
= Delivery =
* TBD
= Constraints =
* TBD
= Dependencies =
* Most of the work right now is focused on Win7 only for being the only OS to provide a standard API for multitouch
= Testing =
* TBD  - We would need the regular testing schemes for events, plus some manual testing or simulation of multitouch events from the OS
* [perf]
* [compatibility]
* [security]
= Related Projects =
* [Firefox/Projects/Multitouch Polish|Multitouch Polish] - old project page
* Windows 7 features

Revision as of 16:54, 2 March 2010

Pitch

This project aims to improve Firefox support for touchscreen devices. These improvements include making the browser experience better for users of touch screens (on desktop and mobile) and making it possible for webpages to make use of this new form of user input.

Goals

  • Allow users to interact with the browser via touchscreens
  • Provide good usability for surfing the web
  • Feature a new form of input method and allow web developers to make use of it
  • Support this API in Desktop and Mobile

Non Goals

  • Implement advanced form of interactions such as custom gestures
  • Alter any behavior for non-touchscreen users

Status

  • IN FLIGHT
    • project lead: felipe
    • project members:
    • started implementation, working on two fronts
    • tracking bugs: bug 548100

UX front

Some bugs:

  • bug 547997 – Perform hit target detection/correction on tap clicks
  • bug 547996 – Be able to tell when a click was generated by touch
  • bug 548005 – Browser zoom should stay centered when coordinates are available
  • bug 548012 – Browser zoom should be cancelable to be handled by webpage
  • bug 549446 - Possibility to hide brower's scrollbars

Multitouch API front


- At the moment, experimental patch for Windows 7 present on Bug 508906.

- Stuck in two issues:

  • Waiting for a real (draft) spec to be published
  • Thinking on how to deal with Windows 7 limitation that we cannot get gestures and raw data at the same time

- Working on plan of steps around these issues

Timeline / Milestones

The following set of steps represent the main plan to be able to ship the new API by taking into account the 2 issues above

  • Work on our events implementation for desktop and mobile to get them close to a possible spec (following smaug's proposal?)
  • Get rid of the manual document.multitouchData switch and work on switching modes when the page requests any touch events
    • This will deactivate page scrolling and win7 gesture recognition
  • [LANDING 1] Deliver the raw events input first
  • Check on using windows gesture processors or implement our own gesture engine
  • [LANDING 2] Deliver the gesture events
  • Re-implement [kinetic] panning on our engine for the pages using the touch events
  • [LANDING 3] Deliver panning on our engine


Note 1: for pages that will not make use of the touch apis, nothing will change, and we will continue to use window's own gesture and scrolling processors. If, after LAND 3 or later we think our own stack is good enough to replace windows's one we can make the full switch

Note 2: Most demos out there related to touch (e.g. [1]) never combine it with a page with scrolling, so disabling it as a first step doesn't seem to be a big problem.

Delivery

  • TBD

Constraints

  • TBD

Dependencies

  • Most of the work right now is focused on Win7 only for being the only OS to provide a standard API for multitouch

Testing

  • TBD - We would need the regular testing schemes for events, plus some manual testing or simulation of multitouch events from the OS
  • [perf]
  • [compatibility]
  • [security]

Related Projects

  • [Firefox/Projects/Multitouch Polish|Multitouch Polish] - old project page
  • Windows 7 features