Mobile/Desktop Extension

< Mobile
Revision as of 15:35, 8 December 2011 by Gerv (talk | contribs) (Created page with "This page is a high-level design for an extension which allows you to test and debug websites and web apps in Firefox Mobile, or something very close to it, on your desktop. ==...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page is a high-level design for an extension which allows you to test and debug websites and web apps in Firefox Mobile, or something very close to it, on your desktop.

Goals

  • Allow people to do as-close-as-possible-to-mobile testing on desktop
  • Make Firefox Desktop a primary development environment for mobile websites

Non-Goals

  • Require an Android emulator
  • Enable use of Firefox Mobile-like chrome
  • Make Mobile view toggleable on and off on a per-tab basis (unless this is easy to do) - whole browser is OK
  • Make add-on restartless (but if it is, great)

Requirements

  • Build an add-on, available from AMO
  • Enhance desktop Firefox with necessary hooks or toggles which trigger "mobile behaviour" to make the add-on possible
  • Enable use of mobile-style inputs and interactions, or emulated versions thereof
  • Enable use of all desktop website authoring and debugging tools (Firebug, Scratchpad, Tilt etc.) - i.e. do nothing which breaks them

Features

  • Switch all "mobile behaviour" toggles browser-wide
  • User agent change
  • Viewport size change (with freed-up space available for tools!)
  • Support for different device screen sizes, including excluding space allocated for OS or browser chrome
  • Touch input emulator with mouse click/drag
  • Multi-touch input emulator
  • Location API emulator
  • Emulation for any other APIs from arewemobileyet which are not supported on Desktop (Battery?)
  • Orientation change
  • Zoom/scale (with external controls as well as multi-touch)

Open Questions

  • What are the behavioural differences between Firefox Desktop and Firefox Mobile? Is there a list anywhere? How many are toggleable and how many are not?