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') ) {
         change=1;
         newLink.setAttribute('href','YOUR_UPGRADE_LINK');
         newImg.setAttribute('alt','Upgrade to Firefox 1.5!');
         newImg.setAttribute('title','Upgrade to Firefox 1.5!');
         newImg.setAttribute('src','PATH_TO_BANNER');
      } else if (0 <= navigator.userAgent.indexOf('Firefox')) {
         change=1;
         newLink.setAttribute('href','YOUR_REFERRAL_LINK');
         newImg.setAttribute('alt','Spread Firefox!');
         newImg.setAttribute('title','Spread Firefox!');
         newImg.setAttribute('src','PATH_TO_BANNER');
      }
      if(change) {
         newLink.appendChild(newImg);
         var parentNode=linkNode.parentNode;
         parentNode.replaceChild(newLink,linkNode);
      }
   }
}

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.

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 www.rjtarpleys.com) 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