from the local-storage dept
A couple of weeks ago TechCrunch had a good write-up of the move toward open local storage APIs in web browsers. As websites have come to look more and more like applications rather than static pages, they've begun to bump up against the limits of what today's web browsers can do. Developers have responded by using a variety of proprietary plug-ins and workarounds to expand the browser's functionality. One example of this is local storage. There aren't a lot of good options for applications that want to store significant amounts of data client-side in a way that will continue to be available if the Internet connection goes away. Google has Google Gears, while Adobe has Flash. Each offers local storage, but neither is compatible with the other, nor are their APIs likely to be adopted by other browser vendors in the future.
Luckily, as part of the HTML 5 effort, it looks like the major browser vendors are moving toward a set of open APIs for local storage that will (theoretically, at least) enable developers to write an application targeting this functionality and have it work on any modern browser. It appears that the latest versions of Firefox largely already support the API, and support has been added to recent builds of WebKit, the foundation of Apple's Safari browser. The big laggard is Internet Explorer, which has some but not all of the functionality. But even IE users have the option of installing Google Gears, which has promised to add HTML 5-compliant local storage APIs. The broad support of these APIs by other browsers, along with the fear of giving the edge to its arch-rival Google, will put a lot of pressure on Microsoft to jump on the bandwagon.
What's really interesting about this is that browsers are starting to resemble operating systems in their own right. One of the most fundamental features of operating systems is to provide a consistent interface for data storage. OS developers call it a file system, rather than "local storage," but the concept is the same. And as websites come to increasingly resemble full-blown operating systems, I think browser vendors are increasingly going to have to solve the same kinds of problems that operating system vendors do.
For example, it has become increasingly common for my browser to slow to a crawl because one poorly-written, JavaScript-heavy website is sucking up all the CPU. Just as operating systems have preemptive multitasking to prevent one application from bringing the whole system to a crawl, browsers should have mechanisms to prevent one misbehaving website from bringing my browser grinding to a halt. Safari has an extremely primitive version of this - I'll sometimes get a dialog box informing me that a particular website's Javascript is creating problems and asking if I want to stop it - but there's a lot of room for improvement. The browser should automatically limit the amount of CPU one website can use when others are waiting. And I should be able to call up a "task manager" that shows me all the websites I've got open and gives their CPU and memory usage. When websites begin to resemble full-fledged applications, browsers are going to start behaving like full-fledged operating systems.
In a sense, this is the belated fulfillment of Netscape's "middleware" strategy to make the web browser the new operating system. As detailed in the Microsoft antitrust saga, Netscape's hope (and Microsoft's fear) was that the browser would supplant the operating system as the default platform for user applications. That's now starting to happen, although it didn't happen fast enough to save Netscape.
Filed Under: browsers, mozilla, operating system, storage