Indexeddb, A Database in your Browser

So you’ve got an idea for a great offline application but there’s one hurdle, data. Without the ability to create, edit and persist data you’re running up against a wall. IndexedDB offers to solve these problems for you but just how do you get started? In the world of bleeding–edge browsers how would you approach this in a cross-platform solution? And with an API that looks right at home on a server how do we deal with transactions, keys, indexed and cursors?