IT’S HARD TO find anyone who’d argue that websites load too quickly. Mobile pages constantly creak under the weight of complex visual elements and ad networks. It’s led to an ad-blocking boom, boutique speed-boost solutions from Google and Facebook, and now, a system from MIT that its creators claim trims page-load times by up to 34 percent.
Polaris, as its creators call it, is a product of MIT’s Computer Science and Artificial Intelligence Lab (CSAIL). And while its benefits vary based on the site deploying it, there’s maybe no comparable technology that’s as effective as it is universal. The only catch? Figuring out how to deploy it to the websites and browsers you use every day.
Putting It Together
The idea for Polaris was first hatched about a year ago, says lead author and MIT CSAIL PhD Ravi Netravali. The breakthrough, after years of thinking through the page load problem, came after he started focusing primarily on mobile.
“Because on mobile networks these delays are much higher than they are on wired networks, that’s where we focused our energy,” says Netravali. Previous high-profile efforts to speed mobile pages, like the SPDY protocol, or Google’s open-source Brotli algorithm, have focused on data compression. That’s helpful when bandwidth is scarce, but in many markets that’s not the most serious impediment to speed. The key isn’t how much comes through the transom, but how many trips it takes to get it there.
The creators of the new Polaris system claim that it trims page-load times by up to 34 percent. To understand how and why Polaris works, it’s important to remember that a web page doesn’t spring forth wholly formed. Every time you type in a URL, the site that eventually materializes comprises a mishmash of JavaScript, HTML, CSS, and more. More over, many of these items are interdependent, and your browser can waste precious seconds deciding in which order it should load which parts, and why. When downloading one object requires fetching even more objects, that’s known as a a dependency.
“If you load a page today, there are hundreds of objects that you have to load. There are shared states between them, they all interact; one object can write for something while the other object reads,” says Netravali. “That dictates the order that a page loads these objects.”
As you might imagine, it’s an inefficient process; the MIT team compares it to figuring out a business travel itinerary on the fly, versus having a list of cities ahead of time to help you plan the most practical route. Polaris provides that list, and acts as a travel agent. It maps all of these dependencies, enabling objects to download in a streamlined fashion, and cutting back on the number of times a browser has to cross a mobile network to fetch more data.
It’s not a cure-all for the entire web. For a relatively austere site like Apple.com homepage, made up primarily of images that don’t depend on one another, Polaris doesn’t show substantive gains next to using plain vanilla Firefox. Then again, sites like that tend to load quickly to begin with. It’s when web destinations get more feature-filled that Polaris really kicks in.
“For the New York Times homepage, Weather.com, these types of sites where there’s a lot of stuff going on, that’s where you see gains,” says Netravali. “When there’s a lot of objects on the page, that’s where Polaris can really help, because it’s important to prioritize some over the others.”
Those objects also extend to advertising network intrusions, which are responsible for much of the bloat that weighs down the web. Facebook’s Instant Articles and Google’s AMP have also tried to speed up pages by mitigating the ad problem, but Polaris acts as a complement to those efforts, without requiring any front-facing changes to the content of either the page itself, or the ads that run on it.
“If it turns out that the ads are very slow, because right now they’re coming super late in the page—which actually happens often, because if I’m CNN and I have an ad, I want it to come later because I don’t care if you see it right away or not—that leads to higher page load times,” says Netravali. “With Polaris, if there are resources available earlier in the page load, and it doesn’t actually interact with other parts of the page, Polaris will say [to the browser] OK, why don’t you get it right now?”
One last Polaris benefit? While it’s not the first dependency-tracker, it’s the first one to be browser agnostic. That means it could hypothetically work on any site, in any browser, through however many software updates. The question now is, will it?
Need for Speed
Polaris works, but not to your benefit. Not yet, anyway. Before it’s deployed in a broader sense, a few things need to happen.
First, websites have to sign on to run the software on their servers to generate the “dependency graphs” that give the JavaScript, HTML, images, and other elements their marching orders. Then, they’d like to convince web clients—the Chromes and Firefoxes and Safaris and Edges of the world—to incorporate Polaris as well.
“We didn’t modify the browser, and the reason for this was we wanted to be browser agnostic,” says Netravali. “In the future, things would be faster than they are today if this were integrated on the browser side.”
The MIT team will find out what kind of appetite their is on the browser end next week, when it officially presents its Polaris paper. The possibilities are intriguing, particularly because it’s the kind of technology that could represent a formidable competitive advantage to one company over another. Being able to promise up to a third increase in speed may be enough to prompt more than a few converts. On the other hand, the more ubiquitous Polaris is on the browser side, the more likely websites will be to go through the trouble of integrating it.
That’s a balance they’ll have to negotiate eventually, but for now Netravali is just focused on getting the word out.
“At the end of the day, our main goal is as many people using this as possible,” he says. With those kinds of performance improvements, let’s hope they achieve it.
source: http://www.wired.com/2016/03/mit-polaris-faster-web-pages