Even more concerning than browser-specific websites is seeing browsers ship non-standardized features just because they want them, not behind any vendor prefix or flag. There was a time when web developers would have got out the pitchforks if a browser was doing this, but I sense some complacency seeping in.
These days, the vibe is more centered around complaining about other browsers lack of support for things. For example, one browser ships something, we see one green dot in caniuse, and we lambast the other browsers to catch up. Instead, we might ask, was it a good idea to ship that feature yet?
Via the Verge, Chrome is turning into the new Internet Explorer 6. I’ve been saying this for a while, and often get poo-pooed by folks who really like Chrome. Let me expand on that a bit and explain what I mean. (First, go read the article, it lays some good groundwork.)
The big response I hear is “Chrome is standards compliant, so if only Chrome is supported then the others need to catch up!” There are several browsers that claim to be standards-compliant. This is fine, and a good aspiration, but is also a bit of a half-truth: in reality browsers are partially compliant. This is because standards continue to evolve, and it takes time to implement those standards, and literally no browser is actually 100% compliant with current standards. Further, different developers are going to prioritize different parts of the standard, so while Chrome might have one feature implemented, Firefox implemented one Chrome doesn’t have, and Safari might have a different feature than either of them. Each of those features are standards compliant.
Part of the issue, and why articles like the one linked above are starting to crop up, is developers look at the new shiny in Chrome specifically, and develop around that, ignoring all other users and browsers. While there’s room for experimentation and trying out new features, putting sites into production without considering the impact on users that don’t have the features Chrome chose to implement first is bad for the web (and frankly bad for business). This isn’t specifically Chrome’s fault, mind you — the same could be said for sites using features only Firefox or Edge or Safari support, without including a fallback. However, since Chrome has the marketshare, the issue becomes much more prevalent with Chrome.
The other response that comes up is “if it works in Chrome then it’s the others that are broken.” Sometimes that’s the case, I’ll happily concede, but frankly not as often as people make it out to be. There are no shortage of bugs in all browsers, and Chrome is no exception (just in the Chromium public bug tracker, bug IDs are about to crest 800k, of which 57k are still open and active). This means you are going to work around quirks and issues in their implementation of a particular feature, even longstanding parts of CSS or HTML. This is an unfortunate but unavoidable part of web development. The issue (again) is when you only fix the issues around Chrome, or assume Chrome’s incorrect behavior is what should be expected, and leave a broken experience for all other users.
This all leads to a result of sites saying “Best used in Chrome!” or having broken functionality in other browsers without even a note, or even just blocking use with other browsers. That is what people are talking about with Chrome becoming the new IE6. It isn’t really Chrome’s fault it’s turning into IE6, but it doesn’t change the fact that as long as developers treat it as the gold standard and ignore other browsers, that’s what it will become.
(This, of course, isn’t even getting into the shift at Google to start making their newer services Chrome-ONLY, which is the next phase of IE6-ification. Some have received claims of eventual compatibility with other browsers, but others have not. While as a company they’re entitled to make those sorts of decisions, there’s nothing “standards compliant” about that sort of behavior, and earns them every bit of IE6-comparisons they receive.)
While there are a variety of methods to view the web, the vast majority of people use only one of a few options: Internet Explorer, Firefox, Safari, Opera, and (johnny-come-lately but gaining market-share fast) Chrome. While it’s fantastic that each of these browsers are doing well enough to be considered major players, the problem is that they all have some pretty serious failings.
The problems with IE are well documented, and frankly given that it’s Windows-only, I’m going to gloss over it here by simply saying: don’t use it unless you have to. Don’t support it unless you have to. Just. Don’t. This may change with the upcoming IE9, as there’s been a BIG push by developers to get Internet Explorer up to date and standards compliant. If even half the features and support Microsoft has promised actually make it into the final product, Internet Explorer may well be worth another look. In the meantime, take a pass.
Next up is Firefox, a very popular open-source effort run by Mozilla. It’s free, it’s open source, it’s cross platform, there are lots of themes and profiles and extensions you can get for it to make the browser do more, all of which makes it the darling of the geek community. It isn’t without its faults, however: the same extensions that make Firefox useful often contribute to browser instability, but Firefox without extensions is… well, lackluster. Which is to say: a plain copy of Firefox is a perfectly serviceable browser, but lacks anything to set it apart from other major browsers. That coupled with one of the slower load times and a rather substantial resource footprint makes it a less than ideal solution for someone trying to run a lean, stable system.
While Safari doesn’t have anywhere near the usage rates of IE or Firefox, it’s still a major contender in the browser wars, for three reasons: 1) It’s the default browser on every Mac system, and has the highest browser rates on Macintosh computers; 2) It’s the default (and until Opera Mini managed to strongarm their way onto it, only) browser on the iPhone, iPod Touch, and iPad; and 3) It’s cross-platform and free. I’ve been a diehard Safari user since it came out, only occasionally switching to Firefox or Camino. However, as they’ve continued to add more features, the overall quality has (in my opinion) gone down. Reports of stability issues are prevalent on the Windows version, and I’ve been discovering massive resource consumption on my Mac. Since Safari 5, the memory footprint has grown significantly, causing repeated beachballs for the most basic browsing tasks because my laptop, with 2gb of ram, was out of memory. (My frustration with this is actually what has prompted this post.) I can only assume it’s a memory leak that slipped past them, because I cannot fathom how that sort of resource consumption would be acceptable for a shipping product.
Opera is a trooper from the old browser wars. While it has incredible market penetration on devices and globally, as a desktop web browser it didn’t really get a strong foothold in the U.S. They’ve continued to improve the browser over a number of years (the current version as of this writing is 10.60), and at this point boast one of the most standards compliant, fastest browsers on the market, with a ridiculous amount of features. Which is the problem: there are so many features and customizations and tie-in services like Opera Unite and Opera Link that it’s incredibly easy for the average user to get mired in unwanted complexity. Additionally, while they have support for widgets (which can even work as standalone applications from the desktop), I had trouble finding any plugins to fix some egregious oversights (despite all those features, Opera tends to only play with itself — service integration with third party options like Evernote or Delicious are non-existent). Some of the interface I found cumbersome, but I was willing to work through that (all browsers have some quirks, after all), but was off-put by the sheer number of browser themes that were for Windows only, leaving Mac users very few options to try and find a more suitable interface.
The last of the “big” browsers I wanted to mention was Google’s foray into the browser market, Google Chrome, and its development sibling Chromium. Despite being very new, Chrome has already gained a significant market share in terms of browser statistics, and not without reason: it’s fast; it breaks page viewing into separate processes to keep the entire browser from crashing when one page hits bad code; and, well, it’s made by Google. Frankly, while I appreciated some of the features of Chrome, I found it to be an incredibly slipshod application. The user interface was inconsistent and unclear on numerous occasions, with the preferences window being a morass of poorly explained buttons and hidden panels, and their handling of tabs becoming utterly useless once you get much over 20 tabs open. It’s easy to start cutting them some slack by saying “It’s a beta,” but let’s be realistic here. Google has made a point of hiring some of the smartest, most talented, capable people on the planet, and invested millions into the development and marketing of Google Chrome already. A product with that sort of backing feeling this slapdash is embarrassing for them and frustrating for the user. (Final gripe about this: despite their session-splitting to help prevent browser crashes, Chrome crashed on me when I tried to quit.)
So there you have it, the biggest, most popular browsers out there. The reality is that they all have MAJOR FLAWS, and there is major work that should be done on all of them. The bright side is that each of these browsers is under active development, so a lot of the work that needs to be done will be done. Until the problems are fixed, however, I’m inclined to look into one of the numerous smaller browser projects being developed out there, and hopefully find a diamond in the rough that blows the big boys out of the water.