Let’s Talk About Browser Support

Let’s Talk About Browser Support
Reading Time: 10 minutes

Browser support is one of those topics every web design and developer thinks about. It is a nonsense to start working on a project without addressing this issue. There is one potential problem. Which versions of browsers should you make your website fully compatible with? Should you support legacy browsers or focus on pushing the edge and moving forward? These are the questions every developer has to answer. Let’s take a look at it and find the right answers!

Table of Contents:

Double-edged sword of browser support

The power of technology

Pushing the edges slowly

Why Internet Explorer 8

Browser support and security

Exception to the rule

Beyond Internet Explorer

How this article came to life

Closing thoughts on browser support

Double-edged sword of browser support

What is one big problem with “extended” browser support? I think it is this one. The longer will we support very old browsers, the longer it will take before people replace them. In general, we don’t like changes. And, we like to keep what works. Keeping what works is easier and more comfortable than looking for something else, even something that might work slightly better. This goes far beyond than just browsers we use to explore all the gem the Internet has to offer.

Think about your text editor, phone, computer, car, clothes or table. Usually, these things have to stop working or break before we decide to replace them. Sure, we may find ourselves browsing through the catalog to see how the newest smartphone looks like. We may even think or fantasize about owning it, at least for a couple of seconds. However, we usually get back to the real world and stick to our old smartphone because, well, it still works.

Okay. How does this relate to browser support and why should we care about it? Let me answer this question with another question. If those websites you like to visit works, would you upgrade or replace your browser? Seriously. Would you install new version or browser, import all your data and extensions and customize its settings to fit your needs? And, what if your computer is running system that’s no longer supported? Would you really buy a new computer if everything still works?

You probably know where am I going with this. The average Internet user doesn’t see any reason to make a change if the majority of websites still work. This is the double-edged sword of browser support. Things have to start to break down before we decide to replace them. I mean literally break down. We are very good at adapting to slight discomfort. We will rather stay at work we don’t like than to find a different one. Looking for a new job is more uncomfortable.

The power of technology

This brings me to following question. Should we, web designers and developers, be more progressive? Should we start to “use” browser support to slowly push people to upgrade their browsers? And, what about their operating systems or devices? Very simple question that is difficult to answer. Also, is this even ethical? Technology gives us a lot of power. However, it is up to us to use this power with responsibility. Yes, I am still talking about web design and development.

Almost two months ago, I published a simple tutorial to get started with CSS grid. Now, imagine following scenario. What could happen if all web designers and developers would suddenly decide to use CSS grid as default for layout. And, if your browser doesn’t support CSS grid? Well, enjoy the look and feel of a broken web. I know that this is an extreme example. And, I’m not suggesting doing following this path. Still, it would be interesting to see what would follow.

I guess this would piss of a lot of people. Think about the latest browser usage statistics, or browser market share statistics. As you can see, for large portion of users the Internet could become almost unusable. So, this is definitely the right way.

Pushing the edges slowly

What I want to suggest is this. Yes, we should start pushing the edges of the web. However, it should be anything drastic, like throwing all versions of Internet Explorer out the window. We should do it in a slower pace. Let’s start to make the range of browsers we will support more narrow. Let’s talk in precise numbers. The first browser I would suggest dropping Internet Explorer 8. This browser is here since 2009 and many of you will agree that developing for it is a pain.

The problem is that there are still some people using this browser. So, if we want to build a website for everyone, we should make it compatible with Internet Explorer 8. Then, we should just wait and hope it this browser will disappear. Right? I don’t think so. Unless someone will find a way to “cure” death, you may not live long enough. Just take a look at the stats. There are people using even Internet Explorer 6 and 7. This is a pure masochism. Waiting and hoping is not a solution.

We have to say, explicitly, that we will support legacy browsers only to a certain degree. Then, we will move on. Legacy browsers such as Internet Explorer 8 and lower belong to museums. We should use them to show the dark ages of web design and development. Well, I think any version of Internet lower than 11 should be available to see only in museums. Can you imagine how great and easier web design and development would get?

Why Internet Explorer 8

Wait a moment. Why to reduce browser support specifically to Internet Explorer 8. Two reasons. First, we should start pushing the edges slowly. If you take a look at various front-end frameworks, Internet Explorer 8 seems like a good place to start. Both, Bootstrap 4 alpha and Foundation 6 provide support only for Internet Explorer 9 and higher. Bootstrap 3 does support version 8. However, documentation mentions a lot of compatibility issues with version 8.

We can see the same happening on the side of libraries. One of the most used JavaScript library, jQuery, supports only Internet Explorer 9 and higher. For version 8 or lower, you have to use jQuery 1.12. With Webpack, the story is the same again. Only Internet Explorer 9 and higher is officially supported. I can confirm this as was not able to make Internet Explorer 8 work with Webpack. So, in short, for all major players Internet Explorer 9 is the last supported version.

Second reason for setting Internet Explorer 9 is the last supported version is that it contains a lot of features. For example, you can use flexbox. Well, there is a ton of bugs, but it still at least works. This makes it easier to make website compatible with version 9. Imagine you would build a website on flexbox, calc, rems and box-sizing. Then, you would have to almost re-code it to make it fully compatible with Internet Explorer 8. As a result, you would almost double the code base.

This is probably also why people behind frameworks and libraries we discussed chose version 9. It is just less difficult to build something that is cutting-edge and make it work on 9, rather than 8. So, which version will be your choice?

Browser support and security

The last thing I want to briefly discuss is security. The biggest problem with legacy browsers is not that web designers and developers can’t show all their tricks. These browsers contain bugs and security issues. The biggest problem is that, after some time, these bugs and issues are not fixed. Browser support comes with expiration date. When browser meet its expiration date, developers stop working on it. No one tests it and no one releases new patches.

This could be the third reason for slowly pushing the edges. By giving people reasons to upgrade their browsers, we can also improve their security. We regularly read about computers being hacked or infected with some malware or virus. Security flaws in legacy browsers are part of this problem. It is hard to defend yourself against these threats if the wall you are using is full of holes. Then, your browser may be leaking data and you have no idea it is happening.

And, this issue doesn’t include use of legacy operating system. Using system that is no longer supported is a completely different story. This is especially true in the age when technology makes it easier and easier to find potential security flaws. On one hand, we have companies using Windows XP, Vista or 7. On the other, we usually have the same companies complaining about hackers and security problems. Don’t they think these two things are connected?

Anyway, if you want some ethical reason for narrower browser support, take this. Think about making your users more secure by encouraging them to upgrade their browsers. This can help us balance the ethical issue coming with use technology.

Exception to the rule

Just like with every rule, there are some exceptions. It is one thing to say you are going to make browser support narrower, and drop some browsers. However, what if some of your users are using that particular browser? Even worse, what if the number of users using that browser is quite significant? In that case, I think answering this question is quite simple and easy. Don’t drop that browser. Seriously. What did you think I will tell you?

You have a lot of users using legacy browser and they make a big chunk of your user base. Then, it is worth the time to make the website fully compatible with that browser. There are a lot of ways to make your website compatible with legacy browsers such as Internet Explorer 8. And, if a lot of your users use this browser, you should try every way or trick available. Your website is here for the user, not the other way around.

What if you are about to build a website without any data? What if your client never had a website before? Should you simply cut off some browsers because you decided to do it or you read it is a good idea? Not necessarily. It all comes down to doing a proper user research. Think about your target audience. Then, think about what technology these people use. Even better, find those people and simply ask them. Use these data to make the final decision about browser support.

For example, let’s say you are building website for old people, 60 years and older. Then, you don’t have to worry about using cutting-edge technologies. The majority of people in this group probably don’t spend their money on the latest gadget. Instead, I would make the website compatible with legacy browsers such as Internet Explorer 8. Maybe, I would even think about 7.

Are you building a website for teenagers? That’s completely different story. This audience loves cutting-edge technology. And, you can bet that many of them don’t even know there is something like Internet Explorer 8 or 9 … Or 10 and 11. If people in this group use browser from Microsoft, it will Edge. However, that is very unlikely. It will be rather Chrome, Firefox or Opera. In this case, I think you can push the edges quite far.

In the end, it is always about the user. Any time you are in doubt about browser support for your project, think about and talk with, the people who will use it. Then, use this information to make the website compatible with the right selection of browsers.

Beyond Internet Explorer

We spent a lot of time talking about Internet Explorer and we ignored the rest. The reason is following. People using other browser update them regularly, at least usually. Well, the majority of modern updates themselves automatically. And, these browsers have completely different approach to adopting new features. They are more progressive and you can achieve a lot just by using vendor prefixes. So, unless you are really cutting-edge, there is at least a minimal support.

Anyway, to answer your question, I would make sure the website is compatible with last five versions, maybe six. This applies to Chrome, Firefox and Opera. In case of Safari, I would aim for version 9 and higher. And, just to make sure. In case of Internet Explorer, it is version 9 and higher.

How this article came to life

Let me end this article with telling you about how it came to life. I spent last Saturday and Sunday with one of my clients on slack. We had an interesting discussion about browser support in the project we were working on. It was a relatively simple website. Well, it was simple in the terms of structure. Technology stack was a different story. We spent about four hours on call. Then, I spent another more than twelve hours testing and debugging the website.

Everything worked great. It was almost unbelievable. Well, until we got to … Internet Explorer 8. Then, I moved from paradise to hell. Unfortunately, the problem was not on the side of the CSS, or even JavaScript. Code base was packed with fallbacks and polyfills. Well, there were some issues, but they were easy to fix. The biggest problem was elsewhere. The website was built on svg graphic. This is not bad. I like to work with svg. I think it is a beautiful intersection of art and code.

The problem is that Internet Explorer 8 doesn’t support svg. Almost all graphic for the website was in svg, except a couple of photos. Me and my client had to choose. We could either drop Internet Explorer 8 or add fallbacks for all svg files. The only reason for extending browser support to version 8 was just a convention. Fortunately, not a single user was using it. So, client decided to drop it and focus on more important things. This experience inspired me to write this article.

Closing thoughts on browser support

I am very lucky to have client like this one. He took a look at the data, considered all the options and made his decision. It was quite a surprise and I have to admit that I had was in doubt. In a fact, I was willing to extend browser support for this project and make it compatible with Internet Explorer 8. I had no data and it would be a mistake. This is something I want to you to remember. It is not you or your client. It is also not about doing the smallest amount of work, or what is easier.

In the end, it is about users and providing them with great experience. In this sense, restricting browsers support may seem like a step back. We are pushing people to make some change. However, this allows us to use newer technology to create better experience. Let’s also don’t forget about increasing security and safety of our users. I think that if we should push people these are good reasons to do it. What do you think?

Thank you very much for your time.

Want more?

If you liked this article, please subscribe or follow me on Twitter.

Leave a Reply