Fennec/Features/touch: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(move gestures to Fennec/Features/gestures)
Line 23: Line 23:
* Wes Johnson - Mobile Front-end
* Wes Johnson - Mobile Front-end
* Olli Pettay (smaug) - Platform
* Olli Pettay (smaug) - Platform
* Matt Brubeck - W3C spec
* [[User:Mbrubeck|Matt Brubeck]] - W3C spec


== Release Requirements  ==
== Release Requirements  ==
Line 45: Line 45:


* {{bug|544614}} - Tracking bug for touch events in Fennec
* {{bug|544614}} - Tracking bug for touch events in Fennec
* See also [[Fennec/Features/gestures]].


== Designs  ==
== Designs  ==
This is our new gesture set, as mapped to current browser features. '''We will also have on-screen touch buttons/targets''', but we need to map all features to a gestures for accessibility reasons (more details on that soon)...
<br>
{| class="fullwidth-table"
|-
| style="background:#EFEFEF; width:33%" | '''Browser Function / Feature'''<br>
| style="background:#EFEFEF; width:33%" | '''Gesture '''<br>
| style="background:#EFEFEF; width:33%" | '''Gesture Illustration'''<br>
|-
| Back<br>
| Two-finger Swipe Left<br>
| http://farm6.static.flickr.com/5310/5637707487_f85325f4f9_m.jpg<br>
|-
| Forward<br>
| Two-finger Swipe Right<br>
| http://farm6.static.flickr.com/5301/5638283158_21bbf92d00_m.jpg<br>
|-
| Scroll <br>
| One-finger Drag<br>
| http://farm6.static.flickr.com/5303/5637692115_3b116d3a8c_m.jpg<br>
|-
| Kinetic Scroll<br>
| One-finger Swipe<br>
| http://farm6.static.flickr.com/5261/5638115687_4bf2ca0be3_m.jpg<br>
|-
| Pan<br>
| One-finger Drag (when page is zoomed in)<br>
| http://farm6.static.flickr.com/5150/5638675196_147e579fbf_m.jpg<br>
|-
| Kenetic Pan<br>
| One-finger Swipe (when page is zoomed in)<br>
| http://farm6.static.flickr.com/5186/5638267958_621cdfa1b3_m.jpg<br>
|-
| Zoom In<br>
| Double Tap ''or'' Spread<br>
|
Double Tap:
http://farm6.static.flickr.com/5221/5638269852_00de4efec8_m.jpg<br><br>
Spread:<br>
http://farm6.static.flickr.com/5107/5638271730_ac56ea9a43_m.jpg<br>
|-
| Zoom Out<br>
| Double Tap (once zoomed level has maxed out ''or'' Pinch<br>
| Double Tap:
http://farm6.static.flickr.com/5221/5638269852_00de4efec8_m.jpg
Pinch:
http://www.centigrade.de/de/blog/wp-content/uploads/pinch.png<br>
|-
| View All Tabs<br>
| Pinch (when page is at "fit width" zoom level)<br>
| http://www.centigrade.de/de/blog/wp-content/uploads/pinch.png<br>
|-
| Next Tab<br>
| Three-finger Swipe Left<br>
| http://farm6.static.flickr.com/5145/5638725358_0c6a20a7e8_m.jpg<br>
|-
| Previous Tab<br>
| Three-finger Swipe Right<br>
| http://farm6.static.flickr.com/5103/5638725422_96a695d44d_m.jpg<br>
|-
| Close Tab<br>
| Five-finger Scrunch<br>
| http://farm6.static.flickr.com/5149/5638272030_a170ba0c9e_m.jpg<br>
|-
| New Tab<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Open in New Tab<br>
| Long Tap (on link) then Tap on "Open in New Tab"<br>
| http://farm6.static.flickr.com/5301/5637693889_427310b30e_m.jpg<br>
|-
| Bookmark Page<br>
| Dog-ear (Diagonal Swipe from bottom-right to top-right)<br>
| http://farm6.static.flickr.com/5183/5638098161_30204b9e9a_m.jpg<br>
|-
| Open Bookmarks<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Follow Link<br>
| One-finger Tap<br>
| http://farm6.static.flickr.com/5221/5638268254_59e50ed9ae_m.jpg<br>
|-
| Access to Awesomebar<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Show All History<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Site Info<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Settings/Preferences/Add-ons<br>
| ''TBD&nbsp;or No Gesture''<br>
| --<br>
|-
| Share<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Contextual Menu<br>
| Long Tap (on link)<br>
| http://farm6.static.flickr.com/5301/5637693889_427310b30e_m.jpg<br>
|-
| Reload Page<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Stop Loading Page<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Access to Firefox Home<br>
| ''TBD&nbsp;or No Gesture''<br>
| --<br>
|-
| Full Screen<br>
| Five-finger Splay<br>
| http://farm6.static.flickr.com/5103/5638098211_80a6b5cf8b_m.jpg<br>
|-
| Save as PDF<br>
| ''TBD or No Gesture''<br>
| --<br>
|-
| Save Webpage<br>
| ''TBD or No Gesture''<br>
| --<br>
|}
<br> <br>


== Test Plans  ==
== Test Plans  ==


== Goals/Use Cases  ==
== Goals/Use Cases  ==

Revision as of 16:39, 25 April 2011

Feature Status ETA Owner
Touch Events Implementation in progress 2011-07-01 Thomas Arend

Summary

Expose touch events to content for better interaction with web pages and services, and compatibility with WebKit/Opera and existing web content.

Team

  • Wes Johnson - Mobile Front-end
  • Olli Pettay (smaug) - Platform
  • Matt Brubeck - W3C spec

Release Requirements

  • No performance regressions on non-touch-event pages.
  • Acceptable performance of touch events in content. (Need more precise criteria?)
  • Sidebar (or some alternate form of navigation) is still accessible on pages that use touch events.

Next Steps

  • Finish patches and get reviews.
  • Write automated tests and do manual compatibility testing.
  • Experiment with different ways of allowing sidebar panning.
  • Performance testing and optimization.
  • Send spec feedback to W3C Web Events working group.

Open Issues

Related Bugs & Dependencies

Designs

Test Plans

Goals/Use Cases

  • Expose single-touch events to content in Fennec.
  • Don't let pages completely block navigation or sidebar panning.
  • Compatibility with existing pages like Google Maps.
  • Conformance with a subset of W3C Touch Events editor's draft.
  • Compatibility with a common subset of Safari/Android/WebKit functionality.

Non-Goals

  • Expose multiple simultaneous touches to content (will be done in a future version).
  • 100% conformance with W3C Touch Events spec (will be completed in future versions).
  • 100% compatibility with Safari or other browsers.
  • Enable W3C touch events in desktop Firefox (will be done in future versions).

Other Documentation

Legend (remove if you like)

  Healthy: feature is progressing as expected.
  Blocked: feature is currently blocked.
  At Risk: feature is at risk of missing its targeted release.
ETA Estimated date for completion of the current feature task. Overall ETA for the feature is the product release date.