Evangelism & Mozilla 11 May 2006 08:06 am

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");

to

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!

/bc

Spider 08 May 2006 04:28 pm

YASU 0.0.1.16

Yet Another Spider Update which fixes a problem in branch and trunk builds where the Spider failed to follow links when run as a remote XUL application. See What’s New for the details.

We are now at 0.0.1.16 and counting. At this rate, we should make PI by the end of the year.

General & Mozilla & Testing 06 May 2006 03:26 am

Test Automation for Firefox and Thunderbird

I have started a thread in mozilla.dev.quality (nntp|Google Groups) on an automated testing project for Firefox and Thunderbird. Topics include:

  • Execution Environment
  • Directory Paths | CVS Locations
  • Nightly Build Installation
  • Building
  • Profile Creation and Initialization
  • Test Invocation
  • Result Reporting

If you have experience with automated testing frameworks and are interested in helping out, please join the discussion.

General & Mozilla & Testing 03 May 2006 11:24 pm

Spider 0.0.1.15 Released

An update to Spider which fixes a problem in trunk builds where the Spider failed to follow links whan run as a chrome XUL application is available. See What’s New for the gritty details of the changes.

General & Mozilla 02 May 2006 02:22 pm

Firefox 1.5.0.3 released

A security update to Firefox 1.5 has been released. All users of Firefox 1.5 should update to 1.5.0.3.

If you already have Firefox 1.5 installed, you can easily update by clicking Help -> Check for updates. You can also download the full installer from www.mozilla.com.

The User Agent String sidebar has been updated to include Firefox 1.5.0.3.

Evangelism & Mozilla & Testing 26 Apr 2006 05:50 pm

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.

Evangelism & Mozilla & Testing 22 Apr 2006 01:49 pm

User Agent String Sidebar updated

The ua sidebar has been updated to include user agent strings for Firefox 1.5.0.2, Firefox 1.0.8, Mozilla 1.7.13, BonEcho (Firefox 2), Minefield (Firefox 3), SeaMonkey 1.1, SeaMonkey 1.5, Camino 1.0.1, and Internet Explorer 7.

If you already have the sidebar installed, you will automatically see the changes.

/bc

Evangelism & Mozilla 21 Apr 2006 10:50 pm

Browser Detection Part Duh (will they ever learn?)

Recently, mozilla.org began changing the User Agent strings of the development versions of Firefox on the Gecko 1.8 branch and the 1.9 trunk to reflect their eventual release some time far in the future as Firefox 2 and Firefox 3. As has been the case for many years, these builds were not publicly promoted by mozilla.org and the version numbers had an a1 appended to the version number, e.g. 2.0a1 and 3.0a1, to signify that these builds were only for developers and members of the community who regularly use, develop and test on the development branch and trunk.

What has changed in the last few years is the increased popularity of Firefox has made it a target of those who attempt to generate ad-related income through unofficial announcements geared to drive traffic to their sites. These attention whores claimed prematurely that Firefox 2 and Firefox 3 had been released which resulted in their sites being prominately promoted on popular sites. I am sure they earned significant sums from their deceptive announcements but they also caused harm to the Mozilla community by misleading the general web population into thinking that the unstable development versions were ready for public use.

In order to prevent this from happening in the future, mozilla.org has changed the branding of the browser on the 1.8 branch to BonEcho and the browser on the trunk to Minefield. The User Agent strings now look like

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060421 BonEcho/2.0a1

and

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060421 Minefield/3.0a1

As a result, a number of web sites that use outmoded Vendor/Version browser detection strategies are now broken in BonEcho and Minefield. Examples of sites broken by this change can be found in bug 334967.

Strangely enough, this is a good thing!

Back when Netscape 6 and Mozilla M18 were new to the web, one of the biggest problems the Mozilla Evangelism project faced was broken web sites as a result of browser detection written for a world where there were only two browsers: (IE and Navigator).

In Browser Detection and Cross Browser Support I attempted to educate web developers about the hazards of Vendor/Version browser detection, but it appears I failed. All that seems to have changed, is that due to the increased popularity of Firefox, the web developers simply added additional Vendor/Version detection for Firefox. This has long been a source of problems for other unofficial Gecko browsers such as the excellent browser Camino for Mac OS X as well as Minimo, a browser for mobile devices. As you can see from a query for Tech Evangelism bugs referencing browser detection, these issues far outnumber the problems listed in bug 334967.

Hopefully, one side-effect of these changes will be the decrease in the use of Vendor/Version browser detection and the increased support for alternative browsers such as Camino and Minimo.

If you are a web developer who has forsaken the discredited Vendor/Version browser detection strategy, you are to be congratulated since these changes will not affect your sites.

If you are a web site owner who is not affected by these changes, you should appreciate your web developers for having created a future-proof design.

If you are a web developer who still uses Vendor/Version browser detection, then your sites may not work in the development versions of Firefox 2 or Firefox 3 or alternative browsers such as Camino or Minimo and you have only yourself to blame.

If you are the owner of a web site that has been broken by these changes, you should seriously review the processes, people and firms who create such fragile web sites that must be reworked every year or so to support new browsers.

/bc

Disclaimer

I work for Mozilla Corporation however the views expressed in this post are my own and are not those of anyone else but myself.

Mozilla & Testing 21 Apr 2006 04:16 am

Spider 0.0.1.14

Spider 0.0.1.14 has been released. It contains a minor change to prevent multiple invocations of the init function in spider.js when loaded in Thunderbird’s preview pane.

Extension updating is still borked. :-(

Mozilla & Testing 20 Apr 2006 01:38 pm

Spider 0.0.1.13

I did a quick release of Spider last night to support loading it in Thunderbird. No other changes were made.

Unfortunately, the update mechanism didn’t work so I will need to figure that out and post a new version. If you know what I did wrong, I would appreciate hearing from you.

I am seeing strange behavior when loading Spider into Thunderbird’s preview pane where Spider automatically reloads itself many times very quickly, so there will be an update soon which will hopefully fix the issue.

/bc

« Previous PageNext Page »