Simply No Excuse

Almost 13 years ago, I was a member of Netscape’s Technology Evangelism team tasked with helping promote a web based upon standards that could be accessed by anyone, using any browser on any operating system. Netscape is no more and the web is a much different place than it was in late 2000. In 2004 Firefox showed that alternative browsers were a reality and opened opportunities for others such as Apple’s Safari and Google’s Chrome. Apple and Google brought alternative devices such as smartphones and tablets to the web that were inconceivable in 2000.

Imagine my shock and dismay when I saw the headline from The Atlanta Journal-Constitution “Oregon exchange works with only one browser” in my Google Alert for Internet Explorer.

By limiting their web site to Internet Explorer, the State of Oregon forces their citizens to use not only Microsoft’s Internet Explorer, but also Microsoft’s Windows operating system. Users of Firefox, Safari, Chrome, OS X, or Linux are excluded from using a public web service to obtain a Federally mandated insurance policy.

There is simply no excuse for an Internet Explorer only web site to be developed in the 2013!

As I said over ten years ago:

The future belongs to developers and browsers which support standards. If you fail to take advantage of the coming change in browsers, your competitors will eat your lunch. Once that happens, the only place your web site will be found is on the web archive.

Yahoo! and the evils of Vendor/Version Browser Detection

Vendor/Version browser detection strikes again!

When attempting to view the new Yahoo! home page in the development version of of Firefox 2 (also known as Bon Echo), I was presented with the following lovely page:

New Yahoo! Homepage in Bon Echo

If Yahoo! had made the requirement to be any Gecko-based browser based on branch 1.8 or later (which includes Firefox 1.5), then I would have been able to see their new design without having to fudge my user agent.

If you must restrict access to specific Gecko versions, use something like getGeckoRv() which can be used to detect the version of a Gecko-based browser independently of its branding or vendor/version.


MSNBC and the evils of Vendor/Version Browser Detection

bug 334957 is an example of the evils of Vendor/Version browser detection in action.

MSNBC uses a script to implement their pull out menus using DHTML. The menu works fine in IE and Firefox, but fails in Camino, and the recent developer builds of Firefox such as Bonecho (Firefox 2) and Minefield (Firefox 3) as well as Safari due to Vendor/Version browser detection.

The support droids at MSNBC claim that they since they support 99% of browsers and only support released browsers, there is nothing they can do to fix their script.

How ironic since their stupidity forces browsers like Epiphany (a browser which embeds Firefox on the Gnome desktop in Linux) to include Firefox in their user agent strings which artificially inflates the reported marketshare of Firefox.

You may be interested to know that in order to support any Gecko-based browser with their pull-out menus, all they would have to do is change

nm_bFM = ((nm_bWin && nm_nIE >= 5.5) ||
(sUa.indexOf("Firefox") > 0)) &&
(sOTyp != "static") && (sOTyp != "javascript");


nm_bFM = ((nm_bWin && nm_nIE >= 5.5) ||
(nm_nNN >= 6)) &&
(sOTyp != "static") && (sOTyp != "javascript");

As an added bonus, this would allow the menus to work in Safari.

Remind me to blog about MSNBC’s policy of requiring Internet Explorer to view Videos even though other news sites support Firefox. Freedom of the press… hah!


Browser Detection Part Doh! (will I ever learn?)

Recently, I wrote about browser detection complaining about vendor/version detection strategies…

While converting my old “Your browser is out of date” messaging on this site from using a page redirect to an in-page message div, I realized that I had messed up my own browser detection for the latest released versions of Gecko-based browsers. doh!

It just goes to show that detecting vendor/version is problematic and should be avoided unless you have a very good reason.

If you are interested in the code, you can check it out. Let me know if you find any errors in this version.