The Central Office of Information is the UK Goverment’s centre of excellent for marketing and communications. It is very encouraging that the department is producing a browser standards document and there is much to admire in the COI’s Browser Standards Draft. The desire to provide a consistent experience to users of Government Websites is a commendable aspiration. The document outlines how Government sites should be required to support multiple platforms and gives a good overview of the issues at stake for non-technical readers.
The metric chosen to define a browser standard is browser usage on a site by site basis.
Your browser standard must be based on the most popular browsers accessing your website.
Furthermore it is advised that browser standards are based on target audience demographics.
Different target audiences have different browser preferences. For example, students are more likely to use Firefox than corporate or business users. Therefore, browser standards should also take into account target audience demographics.
In my opinion this is just plain wrong and the document has failed to understand the nature of the browser market in general, and the efforts that browser vendors (including Microsoft) have been making to converge browser capabilities using Web Standards rather than diverge capabilities using proprietary technologies.
During the browser wars of the late 1990s Netscape Navigator and Internet Explorer went head to head with a series of different technologies that meant that many sites advised visitors to use one browser or the other to ensure that the site functioned correctly. This is the kind of philosophy that would support a browser standard based on usage on an individual site. Thankfully this situation no longer exists.
The W3C and the browser community in general have worked very hard to bring the browser market together so that site producers can broadly use a defined set of standards and enjoy consistent display in any browser. There are quirks in browsers but the key message is that we have gone beyond the issues of the late 1990s to arrive a situation where standards based websites do not need to worry about whether or not a users experience is consistent.
Here’s where I feel the draft document is wrong:
However, there are a large number of different browsers on the market and to support all of them would be impractical and inefficient.
This statement is taken to mean that as there are so many divergent browsers we should create a standard based on the browsers that are used on a single site. But the internet is not just single sites. It is a large cohesive network of sites that live and breathe together. We have a set of standards that make creating websites practical and efficient and we have a set of browsers that largely support and interpret these standards correctly. So my point is that we should focus on producing Browser Standards based on convergence and not divergence to reflect the status of the browser market.
The work that this document is attempting to do has already been done by one of the largest players on the Internet - Yahoo!. Yahoo’s Graded Browser Support has become a defacto standard on the web. It bases browser support on capability and not on usage. I won’t duplicate the explination here - there are details on the Yahoo’s Graded Browser Support page.
In the GBS We have an excellent framework we can use that covers the overwhelming majority of the browser market based on browser capability.
My opinion is that the COI has got this draft very wrong and that it needs to be rewritten to base browser support on capability and not usage. Failing to do so would be a serious misunderstanding of the efforts that the browser market has been making to make it easier for site producers to produce consistent, multi-platform websites.
I seriously hope the COI will reconsider this position. There are many others who agree with me. You can add your weight to the argument by reading and responding to the consultation before October 17th.
Have an update or suggestion for this article? You can edit it here and send me a pull request.
Using HashiCorp Vault with LDAP
How to use HashiCorp Vault to setup an LDAP backed secret store with read-only access for users in groups and read-write access for specific users
Linux and Unix xargs command tutorial with examples
Tutorial on using xargs, a UNIX and Linux command for building and executing command lines from standard input. Examples of cutting by character, byte position, cutting based on delimiter and how to modify the output delimiter.
Copy a file in Go
How to copy a file in Go. The ioutil package does not offer a shorthand way of copying a file. Instead the os package should be used.