I recently watched a talk given by Kyle Simpson at the HTML5.tx conference on February 2nd, 2013: Browser Versions Are Dead. It’s a little less than an hour long, but I think well worth the time. Basically, he explains why developers need to quit blaming browsers for their problems. An idea that I completely agree with and hope other developers take to heart.
HTML5.tx 2013 Conference: Browser Versions Are Dead by Kyle Simpson
Some highlights from the talk…
If you don’t feel like watching the forty something minute video, here’s some highlights:
Lies & Truths
Lie: Browser versions still matter.
Truth: A browser version is just an arbitrary marketing label, features is what matters.
If you’re not feature testing something, it’s going to break.
Quit worrying about testing in the multiplitude of browsers versions and instead start integrating feature testing on your site. A great utility you can use to do this is Modernizr. This will save both time and headaches while allowing you to use some of the latest features HTML5 and CSS3 have to offer.
Lie: This site has to look, feel, and behave the same in all browsers and versions.
Truth: Browsers are different on purpose.
Browser venders approach and explore problems differently. A great example of this is vendor prefixes (i.e. -webkit-, -moz-, -ms-, -o-). If venders were trying to be the same, we wouldn’t be having this debate. And yes, of course many bosses, clients, etc. tell you,
this page must look and function the same in all browsers. Well, this is something we’ve gotta start speaking out about and fighting against.
Lie: Every user matters.
Truth: User importance is complicated.
Get ready for this, the customer isn’t always right. What?! It’s true and Kyle makes a great argument on this (take a look at the video around the 18:16 mark). If every user truely mattered, you would have to build sites that worked and looked the same in ancient browser like Netscape. Yup, people are still using it. In reality, the users that are using those antiquated browsers don’t matter to you. So, every user doesn’t matter.
IE Sucks! Let’s blame the browser is a common excuse among many developers. I’m sure most of you have came across sites that give some kind of notice telling the user their browser is outdated and they need to upgrade it. Isn’t it a little crazy that we’re telling our users they need to do something in order to use the site. Aren’t we building the site for them? A great unbiased article I suggest every developer read is It’s Time To Stop Blaming Internet Explorer by Nicholas C. Zakas.
Users suck! This one goes along with blaming the browser. Ever heard of the Internet Explorer 7 Tax? Basically, an online electronics store was going to change an additional fee to users that we’re using outdated browsers. It never actually happened, but what a ridiculous idea. What’s poor ‘ole grandma gonna do when she wants to buy something, lives on a limited budget, has no clue how to update her browser and get’s charged an extra fee because of it. Again, aren’t we building these sites for our users? Seems many are focused on building sites for themselves, not the other way around.
It just takes so much time and effort to make IE work. Yes, it does take more time to get your site looking and acting the same way across all browsers, but here’s an idea and the whole point of Kyle Simpson’s talk… it doesn’t have to be. Just because you can’t do rounded corners in IE6 doesn’t mean you’re going to lose a conversion because of it. The reality is, it’s usually only the developers and designers that notice these minor issues. Unless you’re site is about rounded corners, I highly doubt not having them on older browsers is going to be a problem. Of course, the higher ups that make the decisions will say it must, but again, as developers this is where we need to start speaking up and fighting the good fight. Explain to them the monetary benefits of not spending hours and hours getting older browsers to work. Use language they’ll understand… not code talk.
Web technology isn’t ready. False! A recent famous account of this is when Mark Zuckerberg of Facebook came out and said it HTML5 isn’t ready. They tried and failed to build their Facebook app using HTML5. Guess that means if Facebook can’t do it, it can’t be done. Not! Some Austin developer’s went out and built the entire Facebook app on their own using HTML5 technology as an in your face to Zuckerberg. Perhaps it’s just that Facebook just doesn’t have the right stuff.
Technology is not the problem.
So what’s a good solution for outdated browsers? Instead of telling our user’s they’re doing it wrong, let them know what they can expect. Don’t say, go download this. Say these features will be available and these won’t. Inform your user’s instead of putting them down and telling them their doing it wrong. Let’s spend that time trying to get sites to look the same in all browsers and spend it improving the web as a whole.
- Embrace differences, quit blaming browsers
- Use feature detection
- Tell users what their browser support and what it doesn’t
- It’s the user’s choice on how they view the site, not your’s
- It’s OK if something works in one browser and not another
- Regressive fallbacks are OK
- Use progressive enhancement
- Instead of ‘responsive design‘, shoot for ‘reactive‘ design
- Retrain your bosses and clients (the customer is not always right!)
Learn your craft and get over it!