GitHub engineers say old code, old browsers impact performance

Find out why code that supports old browsers impacts a website's overall performance and what to do about it.

A website's front-end performance should be the top priority for companies looking to improve conversion, according to GitHub software engineer Rachel Meyers. Unfortunately, performance is often overlooked or undervalued by management. "This is astounding because performance has a direct correlation to the interactions that you'll get, to the clicks that you'll get, to the page views that you'll get. If you're selling something it will track directly to conversion," Meyers explained. These business metrics are taken very seriously in most savvy organizations. The problem, according to Meyers, is that organizations are missing the causal relationship between performance and conversion.

Sometimes businesses don't really value the performance of their website, which is astounding because it is the best way to improve conversion.

Rachel Meyers, software engineer, GitHub

At Fluent 2014, O'Reilly's annual conference, Meyers and Emily Nakashima, a GitHub UI engineer, proposed a new way to improve front end performance. Their talk, "Everything is a Polyfill: Automate Deleting Code for Front End Performance," shed light on the impact old code has on the speed and functionality of a website.

Meyers and Nakashima will offer advice on identifying code that no longer serves the front end, using automation tools to delete it and, most importantly, making a case for front-end performance in organizations that underestimate its importance.

A new perspective on old code

Nakashima said that improving performance required a perspective change in regard to coding. "So much of it, it turns out, is actually temporary. It is revolving around specific constraints that might not last for a long time." For example, an Internet Explorer webpage in cascading style sheet (CSS) will have sections for IE6, IE7 and IE8. "That's extra CSS that oftentimes you're sending out in every single CSS file, not just the requests that are coming in from IE6 or IE8." In other words, the extra bandwidth spent on older browsers will slow down loading time on all the browsers. Simply pulling out the unnecessary pieces of code will speed up a website's overall performance.

Companies may be initially resistant to this idea because a lot of the deleted code will support old browsers that some customers still use. "I think a lot of people have an emotional reaction and they say, 'I always want to support all of my users, no matter how old their browser is.' But realistically, I think most companies end up looking at the usage of old browsers and drawing a line in the sand," Nakashima said.

She went on to say that automation tools can be applied to this problem in one of two ways. They can automatically delete code that reaches a predetermined expiration date, or they can send email reminders and notifications, raising company awareness of old code and its maintenance implications. A company should also consider conditional loading on the front end, which basically means selectively deleting polyfills for the customers that don't need them. "You can be smarter about how you load things and delete them for a subset of your users," Nakashima explained.

Getting company buy-in

While the automation of deleting old code isn't necessarily a complex undertaking -- it does not require specialized skill sets or expensive tools -- development teams may still have one roadblock to overcome: management. "It takes a little bit of company buy-in to optimize your site. Sometimes businesses don't really value the performance of their website, which is astounding because it is the best way to improve conversion," Meyers said.

Luckily, this organizational challenge can be overcome by raising awareness. With the fast-paced onslaught of social media, mobile apps and websites that compete for user attention, the benchmark for a website's speed and functionality has been raised. As Nakashima put it, "Social sites have lifted people's expectations for how fast they'll see new content on a site. I think it prepares them for this rapid pace of interaction that raised the bar for how fast performance should be."

It is this gap between a user's performance expectation and a company's valuation of performance that Nakashima and Meyers hope to close. According to Meyers, their talk at the Fluent Conference is one step in that direction. "Fluent is a front-end conference, so we have this audience that comes from many different backgrounds. Most of them don't work performance into their everyday thinking, and so it's a perfect audience for us."

Next Steps

Learn more about the industry's most popular DevOps tools

If you want to become a DevOps engineer, you'll need to master a variety of DevOps tools. Here are some popular tutorials to get you closer to achieving DevOps mastery:

Join the conversation

2 comments

Register

I agree to TechTarget’s Terms of Use, Privacy Policy, and the transfer of my information to the United States for processing to provide me with relevant information as described in our Privacy Policy.

Please check the box if you want to proceed.

I agree to my information being processed by TechTarget and its Partners to contact me via phone, email, or other means regarding information relevant to my professional interests. I may unsubscribe at any time.

Please create a username to comment.

Sounds like common sense. If you are still supporting old deprecated code for browsers that have hit their end of life, it's going to be slow. You may have many checks to test for. Every time you test for a browser and HTML version it uses resources. Supporting multiple versions of HTML is less efficient than supporting the current version only. If the browser was current we could skip all the checks being done to deliver the correct content more efficiently.