At Mozilla we know that developers are the cornerstone of the Web, that’s why we actively push standards and continue to build great tools to make it easier for you to create awesome Web content and apps.
Like canning WebSQL for spurious reasons and forcing people to use a half-baked spec like IndexedDB instead? As much as I applaud most of what Mozilla has done to further the interests of the open web it's hard to forget how profoundly they sabotaged the development of the browser as an application platform with this particular piece of political NIH grandstanding.
The filesystem API was also nixed, so now people take to implementing fake filesystems on IndexDB, and implementing fake-SQL on top of IndexDB. On top of that, IndexDB performance isn't as great as it should be.
With something like SQLite, I think it's fine to take a super mature platform and retroactively extract a specification from it (while 99% of the people just keep the original implementation), than to start with a crap spec and try to make it mature.
IndexDB set the state of offline storage back, meanwhile Android and iOS developers are using SQLite or equivalents.
Well, that's good to hear. My concern is, we need APIs that are predictable, straightforward, and easy to use for devs to create offline web apps. Right now, it's quite difficult, and hence hardly anyone does it. ServiceWorker may help a lot with one part of the equation, but it doesn't fix up the persistent storage story of the Web.
I find the IndexDB API maddening to use personally.
It was Mozilla's insistence on IndexedDB that tipped the balance. WebSQL was already well supported in Chrome and Safari and if Mozilla hadn't inexplicably come down on Microsoft's side we would have a reasonable client-side database solution today.
The way to implement WebSQL is to copy SQLite 3.1.9. That is not exactly a baked specification, that is the kind of crap companies used to pull to make unimplementable "standards" for everyone who doesn't license their code and doing that a few times over a decade would make w3c compliant browsers pretty crappy.
So instead, invent something that's a piece of crap, and make the Web worse than what Android and iOS developers get for offline storage.
SQLite is public domain, there's no need to license it.
Sometimes worse is a better, and insisting on standards process purity in this case I think harmed developers and didn't help the Web at all. There was nothing wrong with SQLite from a licensing standpoint, and everyone could have used it, and reverse engineered a spec later.
Reverse engineering a spec from an active product which regularly fixes bugs or adds new features? I'm not saying that it couldn't work, but I am not very optimistic.
Plus, I don't remember that anybody in w3c or whatwg actively defended that approach.
It would have made much more sense to use that as a basis for a new, more formal spec than to pull some new NoSQL spec that nobody wanted out of their ass.
Like canning WebSQL for spurious reasons and forcing people to use a half-baked spec like IndexedDB instead? As much as I applaud most of what Mozilla has done to further the interests of the open web it's hard to forget how profoundly they sabotaged the development of the browser as an application platform with this particular piece of political NIH grandstanding.