The browser is always behind

A browser is an infinitely flexible interface, but is it the best interface for everything? Apps allow experiments in new interaction models

The browser is not the most advanced interface there is. It’s too easy to build the wrong features into something as flexible as a browser, and once a badly-designed feature gains traction it’s impossible to get rid of it. (See HTML5 drag and drop.)

So browser vendors are a tad conservative in what they support. JavaScript libraries are the main testing ground for innovation, and they’re as flexible as the browser, and can be written by one single developer.

In native development the vendor tries to force its ideas on developers; succesfully with iOS and Android, less so with other platforms. Browsers did that too back in the nineties, but meanwhile it’s developers who decide what future browsers will support by writing (or not writing) JavaScript libraries. HTML5, too, was started by developers, and not by the vendors.

We wanted access to DOM elements by CSS selector. Browsers didn’t support this, so we wrote scripts. Then browser vendors woke up and added native support in the form of querySelectorAll.

iPhone apps introduced swipe interaction for switching between pages (states?). The browsers can’t do it, and people started to write scripts to emulate the behaviour. Any day now the browser vendors will come to the remarkable conclusion that there should be a CSS declaration for swipe transitions.

So new interaction models will show up in native apps first, and will be copied to a JavaScript library if they’re interesting for web developers. The fastest browsers won’t catch up until a year later, because they first want to review the functionality. It’s more like three or four years before all major browser vendors support it, but once that’s happened it works everywhere.

By building a native app you win room for experiment, but lose the reach a web app offers. That’s nothing new, really, but it’s important to note that the browser is designed to be somewhat behind the state of the art, and makes up for it by its reach.