There’s a lot of misinformation out there about various web browsers. Opera can/can’t do this. Firefox can/can’t do that. There’s only so much you can do to promote one product when you only know rumors or outdated facts about another.

Opera users: If someone told you that Firefox was better than Opera because it doesn’t have ads, you wouldn’t take them seriously. You’d know the ads have been gone since last year, and you’d wonder what else they have wrong.

Firefox users: If someone told you Opera was better than Firefox because Firefox won’t let you reorder tabs, you wouldn’t take them seriously. You’d know that Firefox 1.5 did just that, and you’d wonder what else they have wrong.

And neither of you will convince an IE fan that Opera is better because of tabs and a built-in search box because they’ll tell you that IE7 has both.

When you’re trying to convince someone that X is better than Y, and they know Y very well, you’d better know Y well enough not to make statements that the other person knows are false. When you do, you’ll lose credibility, and the rest of your argument — the part you do know well — will suffer for it. (I suspect a lot of software flame wars get started this way!)

So here’s my suggestion: If you want to promote Opera, go and download Firefox 1.5. If you want to promote Firefox, go and download the Opera 9 beta. Either way, try out the IE7 beta (if your Windows version will run it) or fire up Safari (if you’re on a Mac). Mess around with them enough that you’re familiar with how they work, what you can do with them, and how they handle your favorite web pages. That way the next time you face an IE fan (to the extent that IE has fans), or a Firefox fan, or an Opera fan, or a Safari fan, you’ll be armed with accurate information.

As for the post title — I don’t think it’s necessary for the major browsers to be enemies. I think there’s plenty of room for cordial competition rather than a cutthroat struggle. But “Know Your Enemy” is a better attention-getter than “Familiarize yourself with the competition.” 😉

*This post originally appeared in two slightly different forms on my blog Confessions of a Web Developer at the My Opera community and on my Spread Firefox blog.

It’s kind of redundant to post a “Get Firefox!” banner to someone already using Firefox, but it’s useful to show them an upgrade banner if they’re on an old version.  It’s also useful to show Firefox users a banner for Spread Firefox.

This can be done easily with PHP or other server-side scripting languages, but sometimes you have to use static HTML files.  That’s where client-side scripting becomes necessary.  Last month I posted some sample code that used document.write, which doesn’t work with XHTML.  (On top of that, the <noscript> blocks I used ended up causing validation errors because of their location!)

I’ve redone everything with DOM scripting, which will work with either HTML 4 or XHTML 1.0.

1. Put the following in a file called sfxlinks.js:

function replaceFirefoxLink(linkID) {
   if(linkNode=document.getElementById(linkID)) {
      var newLink=document.createElement('a');
      var newImg=document.createElement('img');
      var change=0;
      if ( 0 <= navigator.userAgent.indexOf('Firefox/0') ||
         0 <= navigator.userAgent.indexOf('Firefox/1.0') ) {
         newImg.setAttribute('alt','Upgrade to Firefox 1.5!');
         newImg.setAttribute('title','Upgrade to Firefox 1.5!');
      } else if (0 <= navigator.userAgent.indexOf('Firefox')) {
         newImg.setAttribute('alt','Spread Firefox!');
         newImg.setAttribute('title','Spread Firefox!');
      if(change) {
         var parentNode=linkNode.parentNode;

2. Use your regular Spread Firefox affiliate link and add a unique ID — let’s use id="FxLink" as an example — to the <a> tag.

3. Load the script in your document’s <head> section:
  <script type="text/javascript" src="sfxlinks.js">

4. Call the function in the body onload event using the ID you chose in step 2:
  <body onload="replaceFirefoxLink('FxLink')">

When the  page loads, the script will check the visitor’s browser to see if it’s an old version of Firefox or a current version of Firefox.  If it’s an old version, it’ll replace your standard button with your upgrade button.  If it’s a current version, it’ll replace it with a Spread Firefox button with your referral link.  Otherwise, it leaves the button alone.

This has a lot of advantages over the old version, including XHTML compatibility, no need for <noscript> blocks, easier validation, and it still degrades gracefully (if JS is unavailable or old, it leaves your normal button in place).

You can see it in action on my website, Flash: Those Who Ride the Lightning.

Originally posted on my Spread Firefox blog.

I thought I’d check my sites’ stats to see how quickly people are upgrading to Firefox 1.5. I’ve got a script I wrote a while back that totals hits by Firefox 0.x, 1.0.x, and now 1.5.x and shows the percentage of the latest version out of all Firefox hits.

I tried it on this month’s logs from the Alternative Browser Alliance first, since it’s a much smaller log file, and saw that Firefox 1.5 accounts for anywhere from 43% to 69% of Firefox users visiting the site on a given day. Then I checked it against Hyperborea, which gets a more mainstream audience, and found that only 15-24% of its Firefox hits were from users who have upgraded.

Sticking with the more mainstream site, I looked at some other statistics. While Firefox as a whole is doing quite well at 18.9% (plus another 1.4% for Netscape and 1.2% for Mozilla), there’s a shockingly large number of people still using Internet Explorer 5 for Windows. MSIE 5.0 and MSIE 5.5 are eachpulling 1%. That doesn’t sound like much, but there are more people on outdated versions of IE than any version of Netscape, and each IE version is pulling in more than all versions of Opera combined (0.9%).

This, frankly, sucks. MSIE 6 is a free upgrade that will run on any system that can run ether 5.0 or 5.5, and is a significant improvement over either. IE6, Firefox, or Opera will all run on even obsolete versions of Windows—and there are more ofthose than you might think as well! (I’m seeing 4.8% of traffic coming from Windows 98—more even than Windows Me.)

Internet Explorer 6.0 came out in October 2001, so people have had four years to upgrade, and 2.7% of IE users still haven’t upgraded. Maybe they can’t, because IT has locked their systems down. Maybe they don’t know there’s both a newer version and a wealth of alternatives. Maybe they don’t think it’s worth changing. Even IE5/Mac has its adherents after Microsoft abandoned it in favor of Apple’s own Safari. And while some might disagree, we’re stuck developing for it.

Firefox should have a faster upgrade curve than IE, if Dave Shea’s pre-installed/downloadable split holds true and people who make the effort to add a browser still make more effort to upgrade it. (It seems to be holding for Opera, at least, since the majority of Opera users are already on 8.5 after only a few months.) But I still see hits from Firefox 0.8 and 0.9, and I’ve seen a lot of people with that red update icon in the toolbar.  I have to wonder if the mainstream acceptance of Firefox may have altered the patterns that held during the IE6 era.

I’m hoping uptake of Firefox 1.5 will go faster. Aside from getting people onto auto-updates, it brings new design possibilities with SVG, canvas, etc. But I know there are a lot of fire-and-forget admins out there, and a lot of everyday users who just installed it once and don’t see why they need to upgrade. It’ll be interesting to see how SFX’s new dual mission will go.

Originally posted on my Spread Firefox blog.

The ridiculous Firefox/Opera rivalry (it’s software, not religion) has given rise to one annoyingly persistent meme: the belief that tabs are just MDI (Multiple Document Interface).

They’re not.

MDI, as implemented in many Windows applications and eventually abandoned by Microsoft, involves having a mini-desktop inside your application, with its own windows that you can minimize, maximize, and rearrange. If you have a taskbar-like interface it can look a lot like tabs, and you can certainly use it the same way as tabs, but it’s a different UI paradigm.

A tabbed interface is very specific. You have only one view at a time in your application window, and you switch between them based on a row (or column) of tabs along the window’s edge. You can look at it as a proper subset of MDI, but it is not the same thing.

Additionally, classical MDI uses one master window for the application. All documents appear in that window. Tabbed interfaces often (though not always) allow you to have more than one window, each with its own set of tabs. This makes it possible to group documents, web pages, etc. by category in a way that you can’t with a single-document interface or classic MDI.

So when people claim Opera had tabs first, they’re thinking of MDI—which Opera did have before Mozilla did. Tabs were showing up in browsers like Netcaptor and Galeon, however, long before they showed up in the Mozilla suite—and long before Opera hid its MDI capabilities under a tab-like veneer.

(reposted from Spread Firefox in response to Asa Dotzler’s post on the history of tabbed browsing)

Remember Mozilla Coffee? In the first month they offered it, RJ Tarpley’s Coffee raised $400 for the Mozilla Foundation by donating a percentage of the profits.

We ordered it a couple of times, and it was actually pretty good. I even picked up a Mozilla Coffee Mug at one point.

Alas, the website (formerly has vanished. There isn’t even a whois record anymore. I don’t know if the company went out of business or just shut down their web operations.

All I know is that Mozilla Coffee is no more. That, and I seem to have a collector’s-item mug.

Originally posted on my Spread Firefox blog.

Update: Ron Tarpley himself commented on my post at SFX on 12/15/2005:

Hey Kelson,

I just happened to stumble across this entry today. You are right, I did shut down the Coffee biz and Mozilla Coffee with it. It was and still is an awesome idea. My problem was order fullfillment. The roaster thought he could have a program in place to fullfill orders (packaging, labels, shipping, etc.) When that fell through, I ended up doing this in my garage at midnight and 5:00 am while trying to maintain my real job, be a husband, and a father! I held on for as long as I could because the coffee is awesome and folks like part of the profit going to The Foundation. I will explore this again with my roaster (they are expanding successfully in the South) and the great folks at Mozilla. Who knows, if this can be done better this time I think it could be huge. Combining Mozilla (Firefox) and Coffee……what could be better?

Ron Tarpley