Browser makers, grappling with outmoded technology and a vision to rebuild the Web as a foundation for applications, have begun converging on a seemingly basic by very important element of cloud computing.
That ability is called local storage, and the new mechanism is called Indexed DB.
Indexed DB, proposed by Oracle and initially called WebSimpleDB, is largely just a prototype at this stage, not something Web programmers can use yet. But already it’s won endorsements from Microsoft, Mozilla, and Google, and together, Internet Explorer, Firefox, and Chrome account for more than 90 percent of the usage on the Net today.
“Indexed DB is interesting to both Firefox and Microsoft, so if we get to the point where we prototype it and want to ship it, it will have very wide availability,” said Chris Blizzard, director of evangelism for Mozilla.
And standardization could come. Advocates have worked Indexed DB into the considerations of the W3C, the World Wide Web Consortium that standardizes HTML and other Web technologies. In the W3C discussions, Indexed DB got a warm reception from Opera, the fifth-ranked browser
Indexed DB brings the database approach to browsers, but keeps the interface at a very low level.
Microsoft and Mozilla are in agreement that this strategy is the right one. Programmers can choose to build a more sophisticated interface on top out of the raw materials of Indexed DB. They’ve done just that with browsers’ JavaScript program technology, building libraries such as jQuery, Dojo, and YUI that are widely used to build sophisticated Web.
“What we’ve learned from the recent history of the Web is that putting out simple APIs [application programming interfaces] that push decisions and complexity to the edges is a strategy that works. The way that the Web works today is that programmers aren’t using a lot of browser APIs directly. Instead they are using jQuery or Dojo or one of the other libraries that are out there for doing cross-browser and cross-version compatibility,” Blizzard said. “We think that instead of delivering an API that’s complicated and underspecified that will cause browser vendors and developers to have to struggle with incompatible APIs, that we can deliver something that is simple, well-specified and understood that developers and people building Web browsers can build on.”
It’s not clear yet what Opera will do, but McCathieNevile had words of praise in the W3C meeting. “We found Nikunj to be more to our liking,” he said, according to the meeting notes, referring to Indexed DB, which was written by an Oracle employee, Nikunj Mehta.
Apple declined to comment about its support for IndexedDB.
However, if IE, Mozilla, and Chrome support Indexed DB, and it becomes a W3C standard, it’s likely Apple won’t have much choice, because programmers will begin to use it.
Happily for Apple, Google has detailed its approach in a Chrome design document and has begun checking Indexed DB code into WebKit, the open-source project that underlies both Safari and Chrome. That means Apple will be able to adopt a tested version of the technology relatively quickly.
Indexed DB isn’t a sure thing yet, to be sure, and the drawn-out history of LocalStorage shows that being established in the standards process isn’t everything.
But Indexed DB has powerful allies in the right places and is on its way to being technology Web developers can at least start trying. With time, it stands to become a key part of the Web application world.