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.
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."
New to Git and distributed version control? Here are some Git examples and Jenkins-Git integration tutorials designed to help you master the popular source code versioning tool.
- The five key Git commands to master first
- Change a commit and manipulate commit history with this hard git reset example
- What happens when you git reset and push?
- Learn to undo a commit with git revert
- Use the git cherry-pick command across branches
- Change the default Git commit editor to Notepad++
- Where the Git configuration files are stored
- Make continuous integration part of your DevOps journey with this Jenkins CI tutorial
- Include Jenkins Git environment variables in your freestyle builds