The art of deprecation
Why we need to start this process
By Manuel Obregozo, Frontend engineer
This article will provide context and share different ideas and viewpoints about why maintaining support for old platforms is affecting productivity and deliverables of one the core systems we provide to different marketplaces (MP).
Current situation
We’re supporting Internet Explorer 11 (IE11), having stopped supporting IE10 in October 2020. Because technology keeps moving forward and because we’re driven by it, we need to keep our development speed up to date.
From a user’s perspective, since the majority of them update their devices and platforms on a regular basis, we must give them a better experience by dropping support for IE11, as it holds us back from moving forward with newer technologies.
Every time the question of dropping older browsers is raised, there is push back from stakeholders based on understandable concerns. That’s mainly because they’re uncertain whether this decision will have an impact on some of our end users. So it’s our responsibility as developers and managers to come up with a plan, explain our reasoning and explain why this needs to happen soon and why it’ll become even more urgent in the near future.
On the other hand, explaining to our customers the decision to no longer support IE11 is part of this deprecation package as well. While some people may not understand the technicalities, both users and stakeholders will be happy to know we’re putting our energy into optimising our products for the largest audience, fastest load times and future-proof features.
The point isn’t what we’re losing but what we’re gaining by deprecating.
User Impact
At Messaging, one of the core tech solutions in Adevinta, we own the software and infrastructure that sends over eight million messages every day and serves millions of customers worldwide. Up to twelve Marketplaces globally use our infrastructure and integrate their applications to enable chat on their websites.
As a core application, it’s our duty to offer an innovative solution to different large marketplaces and use our expertise to help them move forward and become more transactional.
As Max Lynch, CEO of Ionic — a well known and used Javascript framework, said:
“At this point, if your library is investing in supporting IE11 and isn’t charging a ton of money to users that need support for it, it’s probably a mistake”.
For library creators, IE11 support is an incredible time and cost investment that drags down whole projects. Based on market trends and analysis we did, there are only two ways to make continued IE11 support feasible:
A. Drop support.
B. Charge enterprises a large fee.
For businesses, this would result in significant monetary cost and velocity impact in the coming years as the only projects that would support IE11 would do so under expensive support contracts.
From our perspective, when looking at the data of all the users of our Messaging product, we can see that the percentage of them using IE is very low.
As evidenced in the above image, when combining all the MP’s traffic (last 24hrs), IE11 represents less than 0.2% of the total traffic and maximum 0.4%, when looking at MP’s individually. This is considered low given that the usual rate is around 2–5%, depending on the business model.
Developer Productivity — Labour/Cost
The continued support of IE blocks opportunities and leads to inefficiency.
Since Microsoft Teams stopped supporting IE in 2020, a lot of new features have emerged in the modern web. These features make the web faster and more accessible. Many features produced efficient ways to build websites — which don’t work in IE.
Most often, due to a lack of support in IE, we, as developers, tend to force backward compatibility by checking the existence of an API in the navigator before even using it. This promotes inefficiency and drives companies to create different experiences for users on unsupported browsers.
Moreover, this lowers developers’ motivation, impacts our productivity, increases the cost of labour and more generally keeps us from using state-of-the-art technologies. For those who aren’t developers, just hearing that IE11 doesn’t support modern JavaScript and CSS might not mean much, but most people understand that extra cost and time aren’t ideal.
Additionally, supporting IE11 may lead to simplifying the testing and quality assurance processes. Making sure everything is compatible with IE11 takes extra time for developers. This means the development team spends more time making a website that isn’t that good and few people use, instead of spending their time on new features and improvements. Time and investment that can be dedicated to the development of new features, tech debt resolutions and even innovative solutions will have a major impact and add more value on a larger scale for our users.
Last but not least, in order for a company to attract developers, the use of new technologies is important. It can trigger interest in our development projects and sell our platform to future Adevinta developers.
Security issues
IE has a reputation for bad security, but it’s got worse recently. Now simply having IE on your computer can expose you to security threats.
John Page, a security researcher, unearthed an exploit in the way IE handles MHT files that allow hackers to steal Windows users’ local data. Since MHT files are opened in IE by default on Windows machines, all you have to do is click on an email attachment to put yourself at risk.
Even more concerning is that when Microsoft was informed of the vulnerability, they “declined to consider the bug for an urgent security fix”. So, if you like not having all your local data stolen, consider not only dropping support for IE11 but also getting it off your computer completely. Additionally , as a business, there’s a good chance your users will get hacked and your sensitive business data exposed since IE11 is not secure or supported anymore.
More information about the security vulnerabilities here.
Current Use
According to a report from NetMarketShare, less than 10% of desktop and laptop world wide web traffic comes from IE and it makes up less than 3% of web traffic across all devices. It’s fair to assume that not many users are coming to your website from IE, but it’s a good idea to check into your site’s specifics.
Check the current worldwide use of IE11 here.
Considering the data, we wonder why we should keep using a tool abandoned by its creator?
Microsoft strongly recommends users to switch to Edge, which is a better, faster and more modern alternative. The company announced in Fall 2015 that “all the latest features and updates will only be available on Edge.” Chris Jackson, Principal Program Manager at Microsoft, wrote a rant on the perils of using IE and said that people have moved on. The truth is, IE is very difficult to abandon as a lot of devices still ship with IE11 and IE is still used as the default browser to run certain file types and protocols on Windows.
Testing Strategy
As mentioned before, having to support old browsers prevents us from moving forward with the tooling we use. It clearly impacts our plans to use newer frameworks or tooling as they don’t include support for IE11 making this tradeoff more difficult than ever.
Regarding our testing strategy, since we’re aiming to have a robust testing framework around the platforms and services we provide, having a limitation in the tooling we can use has a direct impact on our work.
Conclusion
In the end, decisions are always difficult, which encourages us to collect the necessary data to properly analyse this issue and understand why other companies were also going through this process.
As a result we’ve decided to stop supporting IE11. We already set a date and it’s been communicated to our team and stakeholders. We’ve seen that the adoption of this decision has been happily received and we can attribute that to the collaborative investigation and research we’ve done together to make this happen.