Pixel Envy

Written by Nick Heer.

‘Polaris’ Framework Loads Web Pages One-Third Faster

Adam Conner-Simons, writing for the MIT news blog:

What Polaris does is automatically track all of the interactions between objects, which can number in the thousands for a single page. For example, it notes when one object reads the data in another object, or updates a value in another object. It then uses its detailed log of these interactions to create a “dependency graph” for the page. […]

Polaris is particularly suited for larger, more complex sites, which aligns nicely with recent trends of modern pages ballooning to thousands of (JavaScript-heavy) objects. The system is also valuable for mobile networks, since those tend to have larger delays than wired networks.

Unlike the AMP project, this doesn’t target web pages that should be small but are bloated with excess objects and scripts. Polaris seems like it’s built for pages that are necessarily large, like the homepage of a newspaper or an online store with lots of items on a single page.

I appreciate any effort to speed up an increasingly-sluggish web, but I have a nasty feeling that any speed gains will be temporary, and superseded as soon as some marketing technology company sees the now-available bonus bandwidth as a way to track users to an even greater extent. That’s what has happened before, and that’s the way it’s going to go in the future. The number of marketing technology companies has steadily increased until 2015, when there was a reported 98% increase. The 2016 version of that infographic hasn’t been released yet because the guy who makes them says that there are far more this year. Gross.

Which, in a way, brings me back to Polaris. While I appreciate any effort to speed up the web, I know that this is just an excuse for some to stuff yet another tracker or two into every page. The best way to make a fast webpage is, as ever, to reduce the amount of stuff on it to the bare minimum, and optimize the hell out of whatever is left over. In a way, Polaris solves the wrong problem; it gives bad developers a reason to add complexity.