Gervase Markham wrote:
> The Camino team would like to change their user agent string to add the 
> Firefox version number of the closest Firefox release.
> https://bugzilla.mozilla.org/show_bug.cgi?id=384721
> They want to do this because a number of sites sniff for "Firefox".

s/would like to/is going to

(see below)

> This is somewhat controversial, because historically the Mozilla 
> project's line on browser sniffing has been:
> 
> 1) Don't sniff at all
> 2) If you must sniff, use object sniffing
> 3) In the rare cases that doesn't work, use the Gecko version

Camino's not changing the Mozilla project's view of browser sniffing. 
Not in any way should this be misinterpreted to mean that any Camino 
team member believes those ideals aren't true.

> Changing Camino would be construed as giving up on that line. So it was 
> requested in the bug that a discussion be started.

Camino is a mozilla.org project, yes, but it's also it's own project 
with it's own rules and it's own UA that can be changed at will (see my 
comments on the spec below) by the Camino team.

> Some questions it might help to consider when assessing the scale of the 
> problem:
> 
> - Is it OK if a site warns you that your browser has not been tested, 
> but allows you to continue anyway?

My answer would be "hell no". There is no way it's OK. Maybe it is for 
you, but for end-users, this experience sucks. I think (hope) we can all 
agree with that.

> - What about sites (e.g. banks) for which lack of support for Camino is 
> a deliberate policy?

Until we try it, as the bug mentions, we have no way of knowing what 
portion of the web legitimately blocks Camino. That's what this change 
is: a trial. If it's a failure then we can back out the change. But my 
suspicion is that it won't be.

> - Does it matter how serious the problem is? I.e. total site blockage 
> vs. lack of flyout submenus on msnbc.com?

To you, maybe it matters. To a user? Definitely not. Do we care about 
users here or developers? If a user were to download Camino, go to 
msnbc.com, and see that it didn't perform as well as Firefox or Safari, 
they'd switch back and give up on Camino, especially if they use 
msnbc.com five hours a day (or some other large number).

> Tracking bug for sites which sniff for "Firefox":
> https://bugzilla.mozilla.org/show_bug.cgi?id=334967
> (Note: not all bugs in this list are relevant here - e.g. some correctly 
> exclude Camino, like rollyo.com, bug 337056)

Not all of these are about Camino, no. But I think they show the greater 
issue... more comments below.

> We have a specification for user agent strings:
> http://www.mozilla.org/build/revised-user-agent-strings.html

The proposal that currently exists follows the spec and I doubt any 
Camino team member wants to violate that spec. The proposal adds a 
"vendor comment" to Camino's UA. The Camino project is the vendor here, 
led by the module owners of Camino.

(Note that other browsers *have* violated the spec. See comment 22 of 
bug 384721.)

> Various Mozilla pages on the topic:
> http://developer.mozilla.org/en/docs/Browser_Detection_and_Cross_Browser_Support
>  
> 
> http://wiki.mozilla.org/User:Sardisson/Gecko_is_Gecko
> 
> Advocacy site on the topic:
> http://geckoisgecko.org/
> 
> Gerv

The true issue above is that web developers aren't looking for Gecko. 
The real world isn't inline with our ideal world. It's no one person or 
organization's fault, but it *is* the reality we live in today. The web 
today looks for Internet Explorer and Firefox, with a few websites still 
checking for Netscape and some even being kind enough to look for other 
specific user-agent strings. Sure, there are many, many web developers 
who specifically check for a Gecko rv or even do a check for specific 
features that a browser supports. It's clear that a good portion of 
sites don't do that, however. It's easier for them to check for specific 
browsers they want to support.

(And, I'll concede that maybe it's not easier -- I honestly don't know 
-- but that appears to be the perception of a majority of web developers.)

Camino here has decided that in more cases than not, we're exactly the 
same as Firefox and should be treated as such. We won't know until we 
ship some builds (nightly, not releases) with our vendor comment added 
and see what breaks. I'm guessing that the reported bugs for this will 
be far less than the reported bugs for sites "not support Camino" when 
in reality they could.

We all know this sucks. Gerv, you know it sucks. I know it sucks. David 
knows it sucks. The entire Camino team dislikes it. But our users are 
crying for it, whether they realize it or not. Is there another 
short-term solution? Point me to one.

In the long-term, what can we do? How do we make web developers more 
responsible?

One idea is to rethink the idea of a user-agent string. What information 
in a UA is actually important? If we want web developers to check based 
on the Gecko rv in the UA instead of the product name, why do we ship 
the product name in the UA at all? I can see marketing reasons (market 
share, etc), but are there technical ones? What if we shipped a release 
with only "Gecko/20070515 rv:1.8.1.4" as it's user-agent? How much of 
the web would break? We've seen time and time again that web developers 
even check what operating system you're running. Now, we all know that 
Firefox is (mostly) the same on all platform, but apparently they don't.

(Note that the idea above would require us to either break or modify the 
user-agent string specification, which I fully understand.)

Another idea (credit to timeless) is to ship an extension (on by 
default) with Firefox that changes the product name in the UA randomly. 
We could, for fun, change other parts of the UA, thus requiring web 
developers to check specifically for the part that doesn't change: the 
Gecko rev and information.

I bet, in the above scenario, the web would break in some pretty serious 
ways. Would developers respond? How fast? How long did it take for them 
to start supporting Firefox in the first place? I can imagine the lag 
wouldn't be as long as previously, but I bet it'd be significant.

In comment 25 of bug 384721, David says the following:

 > Firefox owners don't make arbitrary changes to Gecko over the
 > objections of Gecko module owners; I don't see why Camino should
 > be different.

To that, I'd assert that if either of the ideas I mentioned above (or 
something similar) were proposed by Gecko module owners, neither would 
get implemented. Either one could (would?) help improve the overall web, 
but could also potentially hurt Firefox (again, from a marketing 
standpoint). If my assertion is incorrect, I'd like to be proven wrong. 
The reason I believe this is true is because the user-agent string is 
partially up to the product and not entirely up to Core.

The change proposed in bug 384721 is a win for Camino's users and a loss 
for the web overall. It's sad, but I believe it needs to be done to 
improve overall user experience.

--
Samuel Sidler
The Camino Project
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to