RE: Navigator standard change proposal

> From: Predrag Stojadinovic [mailto:predrags@nvidia.com] 
> Sent: Wednesday, February 12, 2014 4:47 AM

[...]

> o What is gained by not allowing web developers to detect the browser
> which their code is going to be executed in?

History suggests it will be mis-used. Some developers equate browsers and versions with certain capabilities, and so far evidence has shown that is repeatedly wrong. That's how we moved to feature detection instead of browser sniffing in general as an industry.

Heck, we've seen it pop up in the relatively new world of trying to detect mobile browsers by UA, and it fails consistently. [1]

Browsers have moved to supporting standards better than ever before, so coding for one browser is mostly unnecessary. Doing so can lead to the same mess we are seeing with cleaning up CSS browser-specific prefixes.

> o Why is such detection implied to be "bad behavior"?

See answer to previous question.

> o What is gained by protecting browsers that do not provide
> established standards?

I don't understand. There aren't established standards and no one is protecting anything. Unless you can point me to something that says otherwise (although IE has standards for its UA string [2], if that's your beef).

> o And why is that somehow more important than allowing developers to
> have control over the user experience?

I don't see the connection. A UA string doesn't allow nor disallow control over the user experience. There are many other, better ways to do it.

> o What is gained by not allowing the developers to inform their users
> that some of the state of the art features will not be available and
> that they should install another browser in order to have them?

They can already do this via feature detection. It's far more reliable. Tools like "Can I Use" make it easy for developers who lack the scripting chops, and there are polyfills to support older browsers by "giving" them many of the features they lack. It's pretty much possible for any developer to do it. Progressive enhancement came from this struggle.

[...]
> The Navigator object standard is, to put it mildly, a complete mess
> and really has to be fixed.

I agree on the first point and disagree on the second point. It should be made obsolete.

[...]
> And as I stated in my original suggestion, the most sought after
> information is completely obfuscated and hidden for no security or any
> other objective reason.

What you see is the vestigial remnant of browsers needing to support poorly-coded sites that relied on UA detection. It's probably the best argument for why it should be made obsolete.

[...]

[1] http://blog.adrianroselli.com/2011/10/detecting-mobile-devices.html

[2] http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx

Received on Wednesday, 12 February 2014 16:04:10 UTC