Nieman Foundation at Harvard
HOME
          
LATEST STORY
“Media is broken,” so Medium’s launching a $5/month member program that offers small upgrades
ABOUT                    SUBSCRIBE
March 9, 2016, 10:07 a.m.
Mobile & Apps
LINK: web.mit.edu  ➚   |   Posted by: Shan Wang   |   March 9, 2016

Users — and publishers — were complaining about news sites’ slow load times long before initiatives like Facebook’s Instant Articles or Google’s Accelerated Mobile Pages came along with plans to cut drastically pageload times.

“Mobile web performance is bad — I challenge you to find someone who disagrees with that,” Mic’s chief strategy officer Cory Haik told me last month when we chatted about the official rollout of Google AMP. “When our pages load too slowly on mobile, as a publisher, we’re losing an audience, and that is painful.”

Researchers at MIT’s Computer Science and Artificial Intelligence Laboratory have designed a new system that, in experiments, cut down on load times for webpages by 34 percent (the median percentage decrease found in a range of tests). They’re calling the system Polaris: it’s a “dynamic client-side scheduler that is written in JavaScript and runs on unmodified browsers” (that is, not specialty browsers like Amazon Silk or Opera Mini).

When loading a page, a browser grabs and evaluates objects — HTML files, JavaScript, CSS, fonts, images — then loads them in some order, defined both by how the code is structured and the browser’s own internal rules. A complex page might require several “trips” across a network to fetch all this data, and these multiple trips are not carried out very efficiently. As the paper explains:

Thus, loading a webpage requires a browser to resolve a “dependency graph”; this partial ordering constrains the sequence in which a browser can process individual objects. Unfortunately, many edges in a page’s dependency graph are unobservable by today’s browsers. To avoid violating these hidden dependencies, browsers make conservative assumptions about which objects to process next, leaving the network and CPU underutilized.

With a Polaris-enabled page, however, the system figures out how to more efficiently load a page by relying on a more accurate dependency graph, reducing the number of network trips. This graph of three sites shows how Polaris reduces pageload times (average reductions relative to baseline loading times):

polaris-load-reduction

The code hasn’t been made available publicly yet, but the researchers are figuring out how best to release it for general use, according to a spokesperson.

You can read the full paper, co-authored by Ravi Netravali, Ameesh Goyal, James Mickens, and Hari Balakrishnan, here.

Show tags Show comments / Leave a comment
 
Join the 35,000 who get the freshest future-of-journalism news in our daily email.
“Media is broken,” so Medium’s launching a $5/month member program that offers small upgrades
“Let’s stop relying on ad buyers and social media echo chambers to determine what we put in our brains —  which is just as important, or more so, than what we put in our bodies,” Ev Williams says.
From coal to broadband to Trump’s budget, The Daily Yonder reports on rural life for the people actually living it
“Rural is like good art — you know it when you see it.”
Want a calmer place to discover and discuss The Washington Post’s reporting? Try this Facebook group
“There’s a reason the group’s called PostThis — we want people to take stories we share there and actually post them to their own networks.”