$ whoami

  • Firefox OS / Boot2Gecko Developer
  • PouchDB Author
  • CouchDB Contributor
  • OSS + Web Geek

Built for JavaScript

<script src="pouchdb.js"></script>
$ npm install pouchdb
new Pouch('idb://dbname', function(err, db) {
  db.post({some: 'json'});

CouchDB Invented the first telephone


Designed for building offline applications

  • Applications for Desktop / Web / Mobile / Tablets
  • That need to work well offline
  • That need to sync data

PouchDB wont die

Spurts of development

New Dawn - Contributions on the Rise

  • WebSQL adapter in progress
  • LevelDB Adapters recently merged
  • Documentation, Saucelabs + TravisCI integration
  • Lots of Open Source community projects
  • Several large projects based on PouchDB in the works
  • PouchDB jobs available

Before its time

  • WebSQL in flux, IndexedDB only just becoming stable
  • No AppCache, Packaged web apps, Phonegap etc
  • No army of NodeJS developers.

The rise of mobile

Offline is a fact

  • The rise of mobile means people are offline more.
  • No reception, Travelling, Data limits
  • When connections do exist, often slow and unreliable
  • Local data will always be faster

Sync is hard

Everything is broken

Sync is hard - Things

Sync is hard - Why

  • Bad connections / retries
  • Reducing transfer overhead, moving deltas
  • Master Master Scenarios
  • Conflict Resolution

Current Status

  • 502 tests and growing every commit
  • Passing all tests in Firefox and Chrome
  • Node via leveldb passing all tests
  • Safari, Opera and Mobile Safari (ipad / iphone) in progress
  • Saucelabs + TravisCI Integration
  • Contributions rising
  • Release Imminent

Thank You!




@pouchdb - @daleharvey

OMG I finished too early

Cloning Software is fun

CouchDB Conflict Resolution