Hi,

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 . appName")
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 ?

David

Reply via email to