Here is my personal suggestion for how we should handle this in our "Metro" browser, and the reasoning behind my proposal. This is meant to be a minimal step to bring Firefox for Metro in line with other platforms, without making changes to any other products. It might need to be tweaked if we make any broader, cross-platform UA changes.

This was originally posted at:
https://bugzilla.mozilla.org/show_bug.cgi?id=809396#c5

ASSUMPTIONS:

A. The UA header is used mainly by sites that serve very different content to different devices. Sites that use the same basic UI for both mouse and touch can serve a single page that works with both types of input and uses feature detection to determine browser capabilities as needed.

B. For any site that serves different content to "desktop" and "mobile" users, some portion of users will disagree with the site's default (no matter which is the default) and will want to switch to the other version.

C. Users of touch-screen devices will sometimes interact with the device primarily through touch, and sometimes interact primarily with a mouse / trackpad / other "precise" pointer device. (Some users will stick to one interaction type all the time, while others may switch back and forth even on the same device.)

D. *Most* people will prefer the touch-friendly "Metro" Firefox UI while they are interacting primarily through touch, and *most* people will prefer the mouse-friendly "desktop" Firefox UI while they are interacting primarily with precise pointer devices.

E. Many web developers will test on only one or two device types. More variations in the User-Agent header would mean more developers who mishandle some of those variations without realizing it.

PROPOSAL:

* We should add "Tablet" to the User-Agent header when the the Metro Firefox UI is used *and* the hardware supports touch input.

* For non-touch hardware, we should make no changes to the User-Agent header.

* For the classic (desktop) Firefox UI, we should make no changes to the User-Agent header.

PROS:

* Users who browse in the mouse-friendly Windows desktop environment will see no changes in content. In particular, users of touch-compatible desktops or notebooks who nonetheless prefer the traditional "desktop" environment will generally see familiar desktop-style web content.

* Users who browse in the touch-friendly Windows "Metro" environment are likely to get touch-optimized content by default.

* Sites are unlikely to serve touch-only content to users without touch hardware.

* Users have an easy and (somewhat) intuitive way to choose between the "tablet" and "desktop" versions of sites, for example by using Metro Firefox's "View in desktop" command.

* Sites that follow our existing guidelines to send tablet-optimized content to Firefox for Android tablets will not need any changes, and will immediately begin serving tablet-optimized content to Firefox for Metro.

CONS:

* "Tablet" is not widely used by other browser vendors. "Touch" would be consistent with Internet Explorer.

* "Tablet" is kind of misleading since it refers to a specific form factor and is not accurate for all devices where people use our touch UI. "Touch" might look more "right", and be more self-documenting. For example, some authors might wrongly assume "Tablet" implies a certain screen size.

These and many related issues are discussed in much more detail at: https://bugzilla.mozilla.org/show_bug.cgi?id=773355

QUESTIONS:

Q. Why "Tablet" and not "Touch"?

Mainly for consistency with our current UA header, especially on Android. Using both "Tablet" and "Touch" would complicate our UA, adding more variations and more chances for authors to make errors. Switching from "Tablet" to "Touch" would undo some of our evangelism work over the past year, and would involve a transition where both variations exist, again complicating web development and testing.

However, I think this is a reasonable question to discuss in bug 773355, and I believe the rest of this proposal would still make sense if we replaced "Tablet" with "Touch" everywhere.

Q. What about users who want to use desktop Firefox *and* interact with web pages through touch?

Ideally, most web developers would use feature detection instead of UA sniffing, and serve a single page with good support for both touch and mouse interaction, which will work in all browsers.

But for sites that do use UA sniffing, the best we can do is help developers choose defaults that work best for the majority of users. Users who dislike the default can easily change it by switching between Metro and desktop Firefox, or by using an add-on or about:config to change the header.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to