[whatwg] A more detailed NavigatorID interface

David Bruant bruant at enseirb-matmeca.fr
Wed Dec 30 07:01:02 PST 2009


The "6.8.1 Client identification" starts with an explanation dealing 
with browser-specific bugs and limitation ("browser-specific features" 
are missing, aren't they ?) that Web authors are forced to work around.

A very interesting project dealing with these browsers specific 
implementations is TestSwarm : http://testswarm.com/

As you may notice, the web browsers are classified this way :
1) Operating system
2) Web Browser (the equivalent of the current "window . navigator . 
3) Version (the equivalent of the current "window . navigator . appVersion")

In my opinion, the TestSwarm approach is relevant because a user agent 
with the same "appName" and "appVersion" can have OS-specific bugs. 
However, in the NavigatorID interface, there is currently no way to 
detect the operating system. The current way to detect the operating 
system is to use the userAgent String. However, this can be freely 
overridden in some browsers. As a consequence, this string cannot be 
relied at all for OS detection.

To allow OS-specific bugs detection, a property could be added to the 
NavigatorID interface.
window.navigator.operatingSystem ? opSysName and opSysVersion ? Name, 
SubName, Version, SubVersion ? Something even more detailled ?
It would certainly also be the role of the spec to list the operating 
systems, specify the concordant strings and/or give a rule for future 
and unknown version and operation systems.

Any opinion ?


More information about the whatwg mailing list