Nieman Foundation at Harvard
HOME
          
LATEST STORY
The New Yorker’s new weekly newsletter on climate change will try to break through the daily noise
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 50,000 who get the freshest future-of-journalism news in our daily email.
The New Yorker’s new weekly newsletter on climate change will try to break through the daily noise
“Climate is one of those big, overarching topics that feels essential to understand and also very overwhelming. The newsletter form seems like the right way to approach it because it narrows the focus.”
Spotify is gaining a podcast audience quickly. But is it an audience that isn’t as interested in news?
Data from Germany finds that Apple Podcasts users devote about 23 percent of their podcast listening to news shows — versus just 8 percent for Spotify users.
Feeling panicked about coronavirus? Media coverage of new epidemics often stokes unnecessary fear
For journalists, it’s worth remaining alert to the dangers of spreading fear — a highly contagious emotion — in the face of uncertainty.