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