Fennec/Features/touch: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 177: Line 177:
|-
|-
| Full Screen<br>  
| Full Screen<br>  
| Five-finger Splay/Scale Down<br>  
| Five-finger Splay<br>  
| http://farm6.static.flickr.com/5103/5638098211_80a6b5cf8b_m.jpg<br>
| http://farm6.static.flickr.com/5103/5638098211_80a6b5cf8b_m.jpg<br>
|-
|-

Revision as of 19:58, 20 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

  • bug 544614 - Tracking bug for touch events in Fennec

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)...


Browser Function / Feature
Gesture
Gesture Illustration
Back
Two-finger Swipe Left
5637707487_f85325f4f9_m.jpg
Forward
Two-finger Swipe Right
5638283158_21bbf92d00_m.jpg
Scroll
One-finger Drag
5637692115_3b116d3a8c_m.jpg
Kinetic Scroll
One-finger Swipe
5638115687_4bf2ca0be3_m.jpg
Pan
One-finger Drag (when page is zoomed in)
5638675196_147e579fbf_m.jpg
Kenetic Pan
One-finger Swipe (when page is zoomed in)
5638267958_621cdfa1b3_m.jpg
Zoom In
Double Tap or Spread

Double Tap:

5638269852_00de4efec8_m.jpg

Spread:

5638271730_ac56ea9a43_m.jpg

Zoom Out
Double Tap (once zoomed level has maxed out or Pinch
Double Tap:

5638269852_00de4efec8_m.jpg

Pinch:

pinch.png

View All Tabs
Pinch (when page is at "fit width" zoom level)
pinch.png
Next Tab
Three-finger Swipe Left
5638725358_0c6a20a7e8_m.jpg
Previous Tab
Three-finger Swipe Right
5638725422_96a695d44d_m.jpg
Close Tab
Five-finger Scrunch
5638272030_a170ba0c9e_m.jpg
New Tab
TBD or No Gesture
--
Open in New Tab
Long Tap (on link) then Tap on "Open in New Tab"
5637693889_427310b30e_m.jpg
Bookmark Page
Dog-ear (Diagonal Swipe from bottom-right to top-right)
5638098161_30204b9e9a_m.jpg
Open Bookmarks
TBD or No Gesture
--
Follow Link
One-finger Tap
5638268254_59e50ed9ae_m.jpg
Access to Awesomebar
TBD or No Gesture
--
Show All History
TBD or No Gesture
--
Site Info
TBD or No Gesture
--
Settings/Preferences/Add-ons
TBD or No Gesture
--
Share
TBD or No Gesture
--
Contextual Menu
Long Tap (on link)
5637693889_427310b30e_m.jpg
Reload Page
TBD or No Gesture
--
Stop Loading Page
TBD or No Gesture
--
Access to Firefox Home
TBD or No Gesture
--
Full Screen
Five-finger Splay
5638098211_80a6b5cf8b_m.jpg
Save as PDF
TBD or No Gesture
--
Save Webpage
TBD or No Gesture
--



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.