HTML5 Transfers Application Power from Server to Browser

Engineering plans storage, 2001

Engineering plans storage, 2001So far, the talk about HTML5 has focused on whether and when it will “kill Flash.” Because of that, the pretty eye candy that CSS3 provides — complex color gradients, animations, 3-D transformations and more — have received most of the attention. But however much CSS3 matters to Adobe and to the legions of web designers who now have shiny new tools in their box, it’s not an industry-transforming technology.

For that, you have to look at the other parts of HTML5 standards, the ones that deal with data storage and persistence, specifically: HTML5 webSQL, local storage and cache manifests. Essentially, these technologies allow a website to tell your browser to store a local version of your web pages and your data. Once you have a local copy, you can then use the website even when you’re offline.

At first look, this seems like a minor detail. There are plenty of utilities that allow you to save web pages to read offline, and websites already save cookies on your local computer to track your state. But we think that these are different. For one, they’re going to be built into browsers quickly: most smartphone browsers will have them within the next year. Once developers begin designing web applications that can operate completely offline, there could be a whole chain of changes set in motion.

In the extreme case, the software server could simply evaporate, its place taken by a smarter database. From a world of thin clients and fat servers, we could move to a world of fat clients and fat databases.

Could this really happen? We think it could because it’s happened a few times before. From a certain angle, each of the last computing generations has had a pendulum swing from server- to client-side processing.

In the mainframe age, data and application state were stored at the server tier, and the client device was a stateless (and therefore cheap) terminal. But in the client-server era, application logic moved down from the server-side to the end-user workstation. Fat native apps running on expensive workstations stored data and app state and connected directly to server-side databases.

In the web era, we returned to the mainframe model of thin clients and fat servers. This happened for a few reasons. First, the 1990s’ browser was very difficult to use as an app platform: Layout and JavaScript engines were both inefficient and unstable in the broadest sense. Second, UI capabilities were highly limited. But perhaps most important, you couldn’t store much in a cookie, or use anything offline. As a result, the browser became a free, dumb terminal for displaying whatever UI was generated by the server application. Server software makers prospered, and the client side shrank in stature and strategic importance.

But now, HTML5 heralds the return of state and application processing to the client-side device. The fat app server that we’ve needed for the last 15 years to process business logic and build web pages could slim down drastically. It could even disappear into the database.

This is the extreme case, of course. Server software will continue to remain indispensable for complex enterprise applications that have to orchestrate large numbers of services or can’t trust the browser to process application logic securely. But for mainstream business applications, and for a large number of consumer applications, this certainly looks like the future to us.

Michael Mullany VP of products at Sencha. Prior to Sencha, he held product and executive marketing roles at influential Silicon Valley market pioneers Netscape, Loudcloud and VMware.

Photo courtesy of the Seattle Municipal Archives on flickr.

Related content from GigaOM Pro (subscription req’d):


Comments have been disabled for this post