Original URL: http://www.theregister.co.uk/2014/01/13/my_browser_wishlist/

Faster, more private, easier to read: My 2014 browser wishlist

Five features for developers users

By Scott Gilbertson

Posted in Applications, 13th January 2014 08:32 GMT

The web browser ceased to be a "browser" some time ago. These days browser is really the runtime of the web. As such, web browsers and browser makers seem to spend more time these days optimizing their runtimes for developers.

Every time you turn around there's a new JavaScript compiler, support for a still-not-actually-a-standard web "standard" or a new tool designed to make building web sites easier. As a web developer I love all this new stuff. Chrome especially has really been focusing on developers lately. Did you know you can point Chrome to a folder of Sass files, and then edit the Sass files *in Chrome* and see your changes reflected in real-time?

To someone who started developing for the web when Internet Explorer's view source tool handed off the source view to another app, Chrome's powers are nothing short of magical.

Like every developer though I also use a web browser to, well, browse the web. Unfortunately, it feels like browser makers have been devoting decidedly less energy to this side of the user experience.

It's great that web developers have all these cool new tools and can continue to build innovative and useful sites that can do all sorts of fancy things, but the user in me wants some of the same attention. Browser makers' focus seems to swing on a great pendulum; at the moment the pendulum has swung way out of web developer land. I have no doubt that eventually it will start to swing back and browsers will return some attention to more user-facing features.

With 2014 here and another round of browsers updates due, here's my list of things that would be nice as a web user to see alongside all the great new standards, faster JavaScript engines and awesome developer tools that we should expect.

Improved privacy controls

Privacy is a huge can of worms, but very simply I want a better way to manage the data that leaks out as I browse the web - especially on mobile.

The amount of privacy controls varies greatly between browsers, but none are ideal. Currently no browser defaults to protecting your data in any real way. Safari is probably the best of the bunch since it at least blocks third-party content out of the box.

But browsers' current so-called privacy tools all look like the half-hearted piles of c**p they are next to actually useful, third-party add-ons like Ghostery, DoNotTrackMe and NoScript.

To browser makers I say this: it's a cop-out to leave something as fundamental as privacy to third parties. It's time to start looking at the lack of privacy tools for what it is - a bug in your software. Especially you Firefox, for all your lip service to privacy, the actual tools in Firefox are as pathetically absent as they are in Chrome.

And please don't tell me about the Do Not Track proposal. Users don't want ineffectual hand wringing that seeks first and foremost to placate the advertising industry. Do Not Track is a bad joke and should be left where it belongs, in the dustbin of web history.

Real privacy looks like this: by default the browser blocks everything. The user decides how much they want to share with the sites they visit.

As part of the installation process the user chooses which of the dozen or so most trafficked sites they want to trust. For example, I might say OK to Twitter. Then all of Twitter's scripts, trackers and various beacons can load. If I don't do anything then everything gets blocked. And nothing from third-party ad companies is loaded, ever, period.

While having the user choose to allow some of the two dozen or so most frequently visited sites during installation seems workable, I admit the user interface for managing other sites gets a bit trickier. One idea would be to just pop up an overlay to ask the user if they trust a site. Do it the first time that site is requested and save the setting for future visits. That's more or less what all the third-party tools are already doing.

Preferred caching

This is a somewhat obscure technical detail, but implementing it will make the web feel faster for end users. And faster is almost always better.

This works off the same premise that makes adding sites to a privacy whitelist much simpler than it seems - we tend to visit the same sites over and over again. New sites are the anomaly, not the rule.

To increase the speed at which these frequently visited sites load, browsers should aggressively cache the resources associated with them. While this is useful in any browser, it's probably most useful on mobile devices where networks are constrained and data is often changed on a per-megabyte basis.

Need for speed

Nearly every browser already knows which sites you visit most frequently, it's how browsers populate their little "speed dial" features. The only difference is that instead of just remembering them, they also cache their stylesheets and other data. As with the speed dial idea there should also be a way for users manually add sites to the preferred caching list, but that could be well buried for advanced users. The primary mechanism would be totally transparent to the user.

Browsers already do heavily cache sites, at least to a certain extent. For example, instead of downloading the stylesheets, each time the browser just fires of a quick request to check if anything has changed since the last time it downloaded the stylesheet. Currently the browser does this for all sites, but the cache is a fixed size, which means sites with tons of data can force the browser to flush out other sites.

Preferred caching would ensure that the browser never flushes out the caching for your favorite sites. It also ups the caching ante a bit to eliminate even the quick resource check. Instead the stylesheets are treated as a local asset and load much faster, without any network requests (sites can bust this caching by renaming resource files).

As speed guru Steve Souders writes regarding preferred caching, "A key factor for getting web apps to perform like desktop and native apps is ensuring that their static content is immediately available on the client." That's exactly what preferred caching enables.

As Souders notes in an older blog post outlining the concept, Internet Explorer already does this, as least to some degree, but what would be really nice is if this caught on with mobile browsers.

A responsive image solution

Most users have probably never heard of responsive images, but everyone wants this one - developers and users alike - because everyone wins when sites load faster.

Simply put, there should, be a way to deliver smaller images to smaller screens and limited bandwidth devices and larger images to devices that warrant them.

The hard part turns out to be a very complex and tricky thing to solve with many different possibilities on the table.

There have been numerous proposals for how to solve the problem and browser makers and web developers have been working on the problem for over a year now with no real solution yet in sight.

I happen to be rooting for the Client Hints proposal, but anything is better than nothing.

Reader view AKA: Saving developers from themselves

Just as browsers should protect our privacy, so they should also make the web a less reader-hostile place.

I'm currently on a 15-inch laptop and when I visit, for example, CNN.com to read an article very little of the screen is actually devoted to the article - see below.

CNN screenshot

CNN: you iz doing the readable web wrong

It's become such a running joke that there are whole websites dedicated to pointing out this bit of design idiocy.

A "reader mode" fixes the problem by extracting the main content and then reformatting it with some nice clean, readable type. It's especially nice on mobile devices where screen space is limited and small fonts are even harder to read.

Apple's Safari already does this wonderfully; Chrome, Firefox and IE – they just copy it (Firefox has on mobile, but not on the desktop). If you don't want to wait for browsers to add this feature, you have to go to the extra effort of installing extensions like iReader or just use the Instapaper bookmarklet.

Universal sync tools

This is purely a pipe dream, but it would be nice if open tabs and browsing history synced across browsers. In the course of a usual day I end up using Chrome and Safari on my Mac, Opera on my Android phone, Safari on iOS and Chromium on Linux. Is it so much to ask that some mechanism might give me access to my open tabs across browsers and devices? Perhaps a universal format along the lines of bookmarks files, combined with Dropbox, could solve this problem.


There are other things it would be nice to have - an easy and universal way to turn sites into "apps" for instance, something that can still be cumbersome on mobile platforms. Or perhaps some more fine-grained ways to control how much data is downloaded when you're on constrained mobile connections.

What's perhaps most encouraging is some of the features I’d like to see are today via some third-party tool. Many features we take for granted today began life as third-party tools. Others, like privacy, meanwhile are a work in progress, it seems.

Let’s just hope more of the features I, and you, would like to see end make the final cut. ®