Subscribe to our mailing list

* indicates required
Close

Wednesday, December 02, 2009

Will HTML5 be SQL-free?

The Los Angeles Times story about Google deprecating Gears in favor of "HTML5" got quite a bit of attention in the Twitterverse yesterday, and has the blogosphere abuzz now, as well.

There are several interesting aspects to the story. One is that the name Microsoft doesn't come up at all. Instead, Apple figures rather prominently in the Times story. In fact, the Times's depiction of Google, Apple, and W3C deciding the fate of the post-2.0 Web evokes images of the Big Three debating Europe's postwar reorganization at the Yalta Conference. One gets the (fanciful) impression that Microsoft's future is, to some extent, being decided without anyone from Redmond being present. Of course, that's not quite true. ;)

Another interesting aspect of the Times story is that it talks about HTML5 wrapping the various technologies that will (ostensibly, soon) make Gears superfluous, when technically speaking, many of the functionalities being attributed to HTML5 in the Times story are, in fact, not part of the HTML5 specification at all. They are part of various other WebApps Working Group specs.

Be that as it may, the decision facing the browser-makers at this point is what kind of offline storage to use for browser-mediated web apps. Specifically, will the underlying store support SQL, or not?

This is (trust me) a Huge Hairy Issue -- HHI(tm) -- and don't let the Times or anybody else tell you otherwise: It's far from being settled yet.

HTML5 talks about SQL quite openly. And it appears Opera, Safari, and (soon) Chrome are implementing WebDB, which is a SQL database in the spirit of the (emerging) Web SQL Database spec. But that's not to say WebDB is a traditional SQL database. It implements SQLite, which is another beast entirely.

Know well, though, not everyone wants SQLite -- or SQL, for that matter. In fact,
Microsoft's Adrian Bateman has stated that Redmond probably will not go that route. In a WebApp WG teleconference, Bateman said:
Microsoft's position is that WebSimpleDB is what we'd like to see
... we don't think we'll reasonably be able to ship an interoperable version of WebDB
... trying to arrive at an interoperable version of SQL will be too hard
WebSimpleDB, also known as the Nikunj proposal (in deference to the author, Nikunj R. Mehta, of Oracle Corporation), proposes a key-value store of the NoSQL variety. And interestingly enough, this approach is getting serious consideration not only from Microsoft but from Mozilla as well. (In the aforementioned teleconference, Mozilla's Jonas Sicking said: "We’ve talked to a lot of developers, the feedback we got is that we really don’t want SQL...")

It's too early to know how it will all play out. About the only thing that's certain at this point is that Google has (thankfully) decided it's more important to back-burner proprietary approaches to web-app infrastructure than to stay on board with mainstream industry standards, even if those standards are (in some cases) still quite fluid and ill-formed. One hopes Microsoft will learn this lesson too. Otherwise? Yalta will decide.


7 comments:

  1. Wow - Adding an RDBMS to HTML 5 seems nuts. RDBMS is so archaic - surely some kind of OODBMS would be better if you have to have a DBMS in HTML 5 at all.

    ReplyDelete
  2. Doesn't it seem more likely that the W3C will become irrelevant if it disregards 99% of the web browser market share. Maybe they'll have a niche documenting standards for a minor vanity cell-phone maker.

    As for Google, they have a popular webmail client (because it gives you lots of storage space), and a formidable banner ad network, but I don't see users dropping their featureful browsers so they can load more banner ads which track their usage better and have access to their computer's hard drive.

    Rich internet apps have a place. And HTML can be used to display them. And it will, sometimes. But HTML5 won't matter. It doesn't do what's needed for display and it tries to do what's not even wanted.

    Not to say the Microsoft is a saint in all this. They just have their own competing implementation that they want to remain incompatible. They have an incentive to not let Adobe or someone else (It won't be Google or Apple) build browser-embedding apps that could potentially be cross-platform.

    ReplyDelete
  3. Today Safari, WebKit, Google Chrome (dev builds) and IPhone/IPod/Android (haven't checked Pre) all support HTML5 local database (i.e. sqlite).

    Key / value storage is a different thing and will be supported as well by browsers.

    Maybe this blog title should have been "MS might not support sqlite" :)

    ReplyDelete
  4. I spent the last several years working with key/value stores, and let me tell you bluntly, they have their limits. When you have a lot of data and you need to be able to relate it in complex ways and select out subsets of results and do it efficiently and with little code, a SQL database comes in exceedingly handy.

    ReplyDelete
  5. I don't think SQL is going away. Correct me if I'm wrong, but the SQL you talk of are something like glorified cookies, which can hold more info. This is nice, but you're not going to store the database info that powers your website in the browser. I could have misunderstood what you were saying.

    ReplyDelete
  6. I spent the last several years working with key/value stores, and let me tell you bluntly, they have their limits. When you have a lot of data and you need to be able to relate it in complex ways and select out subsets of results and do it efficiently and with little code, a SQL database comes in exceedingly handy.

    ReplyDelete
  7. SQL offers more security.. what about the latest html?

    ReplyDelete

Add a comment.