9

I'm working on a site for my company which, up until a certain point, was an Internet Explorer-only site for various reasons, mainly that when the site was originally conceived IE had a 90%+ market share so the work to get it working in other browsers just didn't make sense.

Now that we live in a more diverse browser economy we're doing the work to get the site working everywhere, and as luck would have it a decent chunk of it just happens to already work.

However, one issue we're struggling with is the issue of what to support and what not to support. For starters, non-IE browsers release much more frequently than IE did, and you don't know which versions are still in the wild. There's been basically three versions of IE released in the last decade, and IE6 is still supported until 2014. But there's an update for Firefox every other day, Apple updates Safari more or less annually. And then there's Chrome.

Chrome has gone from 0.2 to 9.0 in a little over two years. 7.0.517 was released a month and a half after 6.0.472. There's three different versions out right now, a stable, a beta, and a dev. And the dev version of 9.0.587 was actually released before the latest beta version of 8.0.552.

With IE we've had the situation arise where we have to support an old version because the IT department of the company in question does not allow the employees to upgrade. With non-IE browsers I'm thinking we'll adopt the line of "update to the latest or we can't help you" but I'm not sure how effective that is.

Also, my company does some amount of artificial limitations. For example we have a product aimed at companies so we don't support "Home" versions of Windows (i.e., XP Home, 7 Home Premium) even though there's no technical reason we couldn't.

When my company starts asking "what version or versions of Chrome do we support", how should I answer?

Tom Kidd
  • 827
  • 9
  • 16
  • 6
    Do ***not*** support beta builds of chrome. Period. I should probably make this an answer, but supporting Chrome betas is akin to publishing software that takes advantage of all the features that MS BOB had to offer. They don't last long, they are buggy beyond belief and there is absolutely NOTHING wrong with telling people that stable versions of Chome are supported. Try filing a bug on meta.stackoverflow.com and be sure to note you are using a Chrome beta, then delight while Jeff Atwood explodes. – Tim Post Nov 29 '10 at 17:30
  • @Tim: I agree, I guess I was mainly asking if there should be any real consideration for older versions. – Tom Kidd Nov 29 '10 at 17:40
  • I'm not sure what your applications use, or what they require, but the CSS rendering and DOM handling by Chrome (and Opera) is superb compared to IE (or IE may have gotten better, I'm not sure). A great deal of code that I have seen (you can look at the source code for google apps via Inspect Element... among other things) just has a few conditionals at the beginning to decide if the user is using IE or a "modern" browser. I think that most developers would probably disagree that you should be adding code to _support_ other browsers, rather, the extra "support" elements are usually IE hacks. – sova Nov 29 '10 at 19:03
  • @sova: Nope, IE still is rather problematic -- even when I use GWT (Google Web Toolkit). FireFox and Chrome/Safari will be very similar as Mozilla switches to Webkit. Leaving Microsoft, to once again, implement the W3C the way they "see" best. And most web development kits have IE (IE6) specific implementations to just handle the quirks, there's just no way around it. – Lam Chau Dec 23 '10 at 12:29
  • On a side note, Chrome is portable and you can truly just zip it up and say "this version". It can exist independently of the installed/default version -- it's like bundling a version specific JRE with your Java app (not a great way, but is a possibility). – Lam Chau Dec 23 '10 at 12:34
  • Yeah I basically said that IE is the problem; I was disagreeing with the idea of _supporting_ alternative browsers when it is really IE that needs _supporting_ since it tends to render things differently (and incorrectly). – sova Dec 23 '10 at 12:40

4 Answers4

14

Chrome's new version adoption rate is really fast because of their automatic upgrade. Way faster than IE and even quite a bit faster than Firefox. Generally, if you are supporting the latest stable build of Chrome, you should be fine. It is literally only a matter of days or weeks before a new stable version almost totally replaces the old.

alt text

Edit: Graph from How Google Keeps Chrome Fresh

TaylorOtwell
  • 2,657
  • 1
  • 21
  • 26
  • 1
    +1 for the nice graph - where's it from? – AShelly Nov 29 '10 at 17:48
  • I'm highly impressed by this. It's probably worth noting (if it's true) that the early build-up of a new version before the mass-adoption is test builds rather than full releases, and so probably not necessary to support. – Armand Nov 29 '10 at 17:57
  • @Alison - that is my guess regarding the early build-up as well. I'm thinking it must be beta and dev channel adoption. At a .NET user group meeting, I saw a graph that had all the adoption rates for all major browsers on a single graph. I'll try to hunt that down. – TaylorOtwell Nov 29 '10 at 18:02
  • For a more up to date graph, see [the original at getclicky.com](http://getclicky.com/marketshare/global/web-browsers/google-chrome/) – 8128 Nov 29 '10 at 20:09
  • 1
    This works well for Chrome but would never work for IE. IE is the majority browser in the enterprise and IT guys don't like updating to new versions without careful consideration, or their head will explode. – Craig Nov 29 '10 at 22:09
  • Good god that adoption rate is fast. In with the new, out with the old I guess – TheLQ Nov 29 '10 at 22:26
  • @Craig: that's pretty much the whole point of this question, yes. – Dean Harding Nov 29 '10 at 23:26
  • What, exactly, is this graph showing? (Kids: Remember to label your axes!) – Maxpm Apr 22 '11 at 07:04
5

Chrome, Safari, and others use WebKit as the core (see http://en.wikipedia.org/wiki/WebKit#Usage ). What this means is that making things look good in Chrome will make it render the same in all those other browsers. Firefox uses another rendering engine. Bottom line is that they are all standards compliant browsers. Even IE has been stepping up to the plate with IE 8 and now IE 9. Standards compliance means it's a whole lot easier to make things look the same and behave the same across all the browsers.

The good news is that a bunch of people have done a lot of work to build cross-browser capable CSS and Javascript. If you use these frameworks, you stand a good chance of not having to worry too much about cross-browser issues.

The shortlist of CSS frameworks:

The shortlist of Javascript frameworks:

Newer versions of browsers make more of the current HTML/Javascript/CSS standards work. As long as you stay away from the cutting edge stuff, you will have no problems. HTML 4 and CSS 2 have the most support. If you use something from the newer standards (like HTML 5, currently in development or CSS 3), then provide fallbacks to the known standards. In short if you put the fallback in your CSS first, and the enhanced look second, the browsers that support that CSS setting will use it and the ones that don't will use the fallback.

Short Answer

Say you support web standards X: HTML 4, CSS 2, etc. instead of saying you support specific versions of a browser.

Berin Loritsch
  • 45,784
  • 7
  • 87
  • 160
  • 1
    Another javascript framework is BBC glow. – TRiG Nov 29 '10 at 17:38
  • If you search for CSS framework or Javascript framework you'll find plenty I didn't mention. – Berin Loritsch Nov 29 '10 at 18:47
  • @TRiG: I didn't know about BBC glow, the widgets documentation is nice and clean, and the examples are sweet! Really neat framework – sova Nov 29 '10 at 18:58
  • I like your answer and I upvoted it, but you do have to be careful about saying something to the effect of "I support standards, not browsers". Asking your customers to change browsers is basically asking your customers to go elsewhere. – Tom Kidd Nov 29 '10 at 23:18
  • 1
    To be clear, using the CSS and JavaScript frameworks allow you to concentrate on building a site. They take care of the tricky incompatibilities and adjust the rendering so that the pages look and behave properly on every reasonable client. Usually reasonable client means IE 6 or better, and all standards compliant browsers. You may have certain features disabled on the older browsers, but the site will still work. – Berin Loritsch Nov 30 '10 at 12:51
0

This is just my personal opinion as one who has been developing websites for some time, but I feel that the best you can reasonably hope to do (depending on time or budget constraints, of course) is aim to accommodate all of the most recent public browser builds. Despite Chrome's rapid update schedule, the rendering and interpretation stays pretty consistent thanks to the Webkit engine which powers by both Chrome and Safari.

Don't worry about supporting non-public releases of browsers, they aren't official for a reason and developing against them is likely to cause more pain than good in the long run.

Nathan Taylor
  • 1,598
  • 17
  • 20
0

The thing about Microsoft's browsers is that IE6 was largely broken in terms of web standards and general quality. Getting to version 9 has been like turning a cruise liner round and each major version has been a significant change to get there.

Chrome has had great standards support from day one. Chrome also has a different versioning model to IE. Its major versions aren't that drastically different from version to version compared with IE. From a day to day perspective users don't even notice they're using a different version.

This is pretty much true for Safari (which also uses Webkit) and Firefox. Be a bit more careful with Opera.

In a nutshell, most major none IE browsers won't cause you any problems. Focus resources on managing 4 different versions of IE!

The answer to the question is: we support the latest version

Phil Mander
  • 321
  • 2
  • 6