They're using the Web SQL database to store the books on the client. This has never been supported by Firefox. Alternatives are becoming available, but it's not surprising that they started with the most established client-side database. It's also the only one supported by Safari, and since it seems like tablet support is one of their goals, that's important.
They probably will. They don't need to support everything off-the-bat, particularly since it doesn't seem like desktop browsers are even the primary target.
WebSQL was abandoned because Mozilla refused to support it for (IMO) spurious reasons. IndexedDB support is uneven at best in modern browsers. Amazon chose (rightly, again IMO) to use something that works and is available now.
Mozilla is reaping the benefits of their nonsensical stance here.
I wouldn't say the reasons were entirely unfounded. The biggest one seemed to be that Mozilla did not want to reverse engineer SQLite to conform to the spec (and yes, that was in the spec.) It did seem a little backward for a big feature of HTML5 to suddenly die, but hey, it's all a work in progress, and IndexedDB looks mighty fine.
SQLite was the spec. Instead of extracting a spec from a working implementation of a bedrock internet technology they've gone old-school W3C blue-sky and designed a half-assed NoSQL spec instead.
I've supported Mozilla in all their battles over patent-encumbered technologies in web specs but in this case they've fragmented the HTML5 spec for no good reason.
"SQLite was the spec" was the problem. No arbitrary version of any arbitrary vendor's software should be the core of a web-wide spec, no matter whether it's open source or popular or loved by millions.
The HTML5 authors & editors have already spent years reverse engineering and describing the behavior of existing browsers as part of that spec.
I'm sure everyone was overjoyed at the prospect of starting the same process for every quirk and bug of that specific version of SQLite, and bumping the spec every time the project released a new version. Or, alternately, living with a fork of that specific version of SQLite forever.
Seriously, that's an awesome way to write and maintain a spec. How about you do the web a solid and give it a shot? Come back when you've got something.
So inventing a completely new, untested set of storage semantics, and implementing them across browsers, is easier than picking a version of SQLite and forking it if necessary?
The backend for IndexedDB in Chrome is LevelDB, which is what Google uses internally for most of their webapps. That certainly shows that it's not just a half-assed NoSQL spec.
Firefox 5: "Your web browser isn't supported yet. Download Chrome or Safari below."
IE9: "Your web browser isn't supported yet. Download Chrome or Safari below."