Tue
29 Mar 2005
8:00 pm
The Future of Ajax: Offline Web Apps
Posted by shimon under computers/programming languages/Javascript and DHTML , kind of writing/predictions1 Comment
Ajax stands for asynchronous Javascript and XML. It's a set of techniques for building web applications that don't need full page refreshes to transfer data to and from the server. Instead, they package it up as XML, send it in the background using the XmlHttpRequest object, and use the Javascript DOM to load the new data into the page. The result is a web-based application that can support fine-grained interface changes as well as larger-scale page changes, more like a desktop application.
What just struck me is just how similar this really is to a desktop application. The UI runs in code on the client, and only relevant data moves to/from the server. You could almost describe the server as a disk storage abstraction layer.
As soon as web application developers start to realize this, look for some of them to leverage their investments in ajax to turn this web apps into desktop apps. If you're sending a bunch of asynchronous requests, why not just queue them up and send them later when you're connected? If internet bandwidth isn't literally ubiquitous in a couple of years, this will still be a problem worth solving.
If you're a programmer, you are probably at this point thinking, "Shimon, you eeeeeeeeeeediot, you can't run ajax apps offline and queue things up because javascript can't save files." This is really an arcane technical reason, and one that could probably be worked around, but that doesn't actually matter. Javascript can store persistent data on your disk, in the form of cookies. Sure, there are limits to the size of cookies, but you could just generate lots of them—with little cookie allocation tables and parity checksums, like a little cookie RAID storing your to-do list items. Kluge? Hell yeah! This is javascript, after all.
So… keep an eye out for the next big thing: Save-As deployment!
Full Entries RSS