Fog Creek Software
Discussion Board

"Trivial" Things

"...any other site that I discover that doesn't work I just close the tab and move on - they've lost my business.  The dumb thing is that usually it's some trivial thing that would have cost them minutes" -Dennis

Inspired by this statement, I decide to test my web site and web applications against all the browsers out there in the wild.  A quick check of Google, etc. reveals a nice list:

IE 5.x
IE 6.x
Netscape 3
Netscape 4
Netscape 5
AOL (do they still have a one-off?)
Avant (?)
Galeon (?)
Lynx (can't ignore the blind)

Did I miss anyone?  Are all these browsers free?

Wow!  That's not so trivial after all.

I'm going to need a Windows box, Linux box, and a Mac to test all those browsers.  Or I could buy VM Ware (it only $200).  Do I have to buy each OS I install under VM Ware?

Do I need to test all common video resolutions and color depths?  Probably, just to be safe.

Oops.  I forgot.  Some blind people use screen reader software.  I better buy copies of all those and test the sites with them.  Another Google search reveals:

Home Page Reader

Hmmm.  That's about $1600 (USD) right there.  Add in VM Ware and some operating systems.  Probably between $2000 and $3000 (WAG).

Next, I have to install and configure each browser.  I hope they play nice or I'll need a VM Ware instance for each. 

Then I need to test each site/web application with each browser.  Say, 4 applications times 20 browsers/readers.  That's 80 "compatibility" tests...  Assume 1 hour per test...  I sure hope I don't find any problems that I'll need to fix.  But, thankfully, if I do, each problem will only take "minutes" to fix.  Hmmm.

Aw, forget it.  That's too much time and money.  I'm just going to test under IE and NN.

Sorry, Dennis, if my site doesn't work for you, I guess I lost a potential customer.  But, then, you're used to that sort of thing, aren't you?

Tuesday, June 15, 2004

Our company runs a popular website -- we get hits from every browser imaginable, even WebTV!

We do have Mac to test on, but we rarely do it.  We also don't test in Konqeror or other weird browsers. 

However, our site works in all those browsers!  How is this possible, you say?  We listen to our visitors and deal with their complaints.  It doesn't take long before we've solved all the issues.

We had a nasty bug with Opera because it doesn't behave like all other browsers on a certain piece of Javascript.  I had to find a completely different way of handling it.  But I fixed it, and I didn't even need to install Opera!

Some browsers, we just do not support.  We don't support Netscape 4.x -- it's like 7-8 years old now and making it work generally means breaking everyone else.  But if a Netscape 4.x user complained about something and it's an easy fix and it didn't break anything else, I'd do it.

Almost Anonymous
Tuesday, June 15, 2004

Not nitpicking the point, which I generally agree with, but as a matter of information:

I'm pretty sure you could aggregate NN > 6, Mozilla, FireFox and Galeon into a single test as they all share the same markup rendering engine, Gecko, and be reasonably safe.

Likewise, AOL, since version 4(?), uses whatever version of IE is installed on the user's machine to render pages inside its "browser."

Anyone feel free to correct me if I'm wrong.

Tuesday, June 15, 2004

Whoa! Chill, guys. Civility, remember? This isn't /.

And yes, every professional software shop where I've ever worked had a raft of boxes in QA with every browser/OS/whoopsie-doodle configuration you could ever imagine and they tested our apps/corporate web pages/whatever on everything. My boss got the bug reports, triaged them with the PM, and decided what was cost-effective to fix and what wasn't, just as our Honourable Host recommends.

Michael Ealem
Tuesday, June 15, 2004

Relax - most of those use 1 of 2 rendering engines - either gecko (the netscape/mozilla family) or IE's (including AOL).  Opera has it's own of course and Safari uses a tweaked version of KHTML (from the KDE project).  Such as you might find in Konquerer.

So IE, NN / Mozilla and Opera should cover you for the windows ones...  and a knoppix cd should let you test the unix/OSX ones.  Easy.

a cynic writes...
Tuesday, June 15, 2004

Wow.  That sounded more caustic than intended.

The main point of my post is that having successful cross-browser rendering is not trivial (although it should be).

Tuesday, June 15, 2004

"Sorry, Dennis, if my site doesn't work for you, I guess I lost a potential customer.  But, then, you're used to that sort of thing, aren't you?"

How bloody inane. There are generally two types of sites out there (this covers the overwhelming majority of pages):

-Sites that only work in IE
-Sites that work in every _modern_ browser with only trivial issues or differences (and bringing up resolution and colour depths just reeks of desperation to make a poorly thought up and supported view)

The difference between the two is often trivial and myopic, and is usually made by a development group that excuses their own laziness under the ridiculous support that "If it doesn't work prefectly in every browser then it might as well only work in one browser".

Dennis Forbes
Tuesday, June 15, 2004

You said (correct me if I'm wrong) that if I can get my site to work with Netscape or Mozilla, it will work for any modern browser.  I would be surprised if this is the case.  But, I've been wrong before.

More to the point, you believe that adding just one browser platform to the testing process is "trivial."  As I see it, you would need to add more than one to fully capture the remaining 8% of the market that you are championing.  In either case, I do not see this as trivial.

FWIW, I test all my apps under Netscape and IE.  Just (recently) adding Netscape increased my test cycle dramatically.  (I am a one-man shop.  No corporate test labs for me.)

Again, I apologize if it came across as a personal attack.  It was not meant to be.

Tuesday, June 15, 2004

It's just like a bunch of geeks to make such silly technical arguments.

It's about the money, guys.

Every site is going to be different because every company has differing amounts of money to spend developing a web site. If you are a huge, multinational corporation then your site better work in almost any browser. Ya got the cash.

If you're a small company with limited resources then you might make some shortcuts that only work in IE. You'll make the shortcut because sometimes there are things that can be done very quickly in IE that might not work so well in older versions of Netscape.

Tuesday, June 15, 2004

(oops, hit ENTER too fast)

I've seen techies spend an inordinate amount of time pursuing the Mecca of 100% browser compatibility while completely ignoring the other facets of marketing.

100% browser compatibility is nice, but it's not the most important thing in the world. If is to you, then make sure you aren't running the business because you don't have what it takes to make business decisions.

Tuesday, June 15, 2004

"100% browser compatibility is nice, but it's not the most important thing in the world. If is to you, then make sure you aren't running the business because you don't have what it takes to make business decisions. "


Christopher Hawkins
Tuesday, June 15, 2004

"100% browser compatibility is nice, but it's not the most important thing in the world."

Of course this is true, just as it's true that no QA process could guarantee that every Win32 app will run flawlessly on every variant of Windows out there. Nonetheless this doesn't preclude a development mindset, from the outset, that you might as well use the common set of functionality where it doesn't adversely affect your design. When people talk about the huge undertaking of making a site "cross-platform" (ergo standards compliant), it's usually because they're heavily invested in one platform and at that point it is a massive undertaking. With the proper approach from the start, however, it really isn't much of an investment.

Dennis Forbes
Tuesday, June 15, 2004

I think taking the step towards compatibility is much less complicated than some are making it out to be.  Who says you have to set up elaborate testing environments to "make sure" everything works everywhere?  I have come to believe that the web savvy of the general public has matured to the point where I am comfortable taking this approach:

People no longer care about being *wowed* with things like gratuitous Flash and DHTML fly-out menus and mouseovers.  Many people have even grown to be annoyed by these things if they infringe on the speed and ease-of-use in any way.  I was originally a desinger, not a developer, and I myself prefer simple, clean, and elegant as a mark of professional design much more than flashy and "interactive".  Keep the GUI simple (not ugly, just as simple as possible), and only use client-side scripting when there is NO OTHER OPTION and the feature performs A NECESSARY FUNCTION.  Even in those cases, you can often find out with some googling what kind of compatibility that bit of scripting will have amongst browsers.  In the end, if the feature is necessary and appropriate for the application, and you have written in the most cross-compatible way you can find, let it go.  At that point, I'm willing to accept that a small percentage of users will be alienated.  The hope is that you have created an app that is actually useful and solves some kind of problem with grace, in which case your target users would then be able to weigh the pros/cons of installing a free browser that is compliant.

Clay Whipkey
Tuesday, June 15, 2004

*  Recent Topics

*  Fog Creek Home