The W3C (World Wide Web Consortium) has posted a draft set of APIs that Web applications could one day use to store structured content offline.
The proposed standard, recently renamed as the Indexed Database API, will provide an interface that Web application developers could use to have a user's browser store database content for offline use, said Philippe Le Hégaret, who is the chairman of the W3C's Web Services Coordination Group.
Typically, today's Web application, such as a browser-based e-mail client or a calendar, will draw its user data from a database that is accessible from a network. In some cases, however, the user may wish to use the application while not connected to the network. Web applications could use these APIs (application programming interfaces) to store copies of the data in the browser itself.
The proposed standard "allows you to associate some values with a key, and allows you to retrieve those values using the key," Le Hégaret said.
Today, Web application developers must develop their own approaches to storing data offline. With this standard in place, assuming it gets adopted by the browser makers, the data storage can be taken on by the browsers instead of each application. "The browser will take care of managing the database," Le Hégaret said.
The idea of standardized offline data storage falls squarely in line with the W3C's overall goal of upgrading the Web from being just a platform for viewing static content into one for hosting data-rich, Internet-based applications. Offline storage is one component being tackled by the W3C's Web Applications Working Group, which aims to establish a group of standards that browsers could adopt for facilitating richer Web interaction.
The Indexed Database API standard, formerly known as WebSimpleDB API, is not the only set of APIs the W3C is developing for offline storage. At least one other standard is actively being built out. Web Storage also could be used for storing smaller sets of data offline. Web Storage, however, is not intended for storing "large amounts of data," Le Hégaret said.
The W3C has also worked up a third draft standard, called Web SQL Database. This is fairly similar to Indexed Database API, Le Hégaret said. The difference between those two is that Web SQL is restricted to storing SQL-formatted data, whereas Indexed Database API can ingest data from non-relational databases. Work on the Web SQL Database has seemingly come to a halt, however.
The group plans to vet the draft for another few months before issuing a last call for comments. After the feedback is gathered, from developers, browser makers and the W3C itself, the W3C will publish the proposed standard as a recommendation. Then it is up to the browser makers whether to implement the technology.
Indexed Database API is "a good candidate for independent, interoperable implementations," said Pablo Castro, a software architect for Microsoft's SQL Server group, in a blog entry.
"We are working on understanding the API, providing feedback to the W3C WebApps working group, and creating experimental implementations to explore the space," he wrote.