Building applications with Ubuntu One, OSCON 2009

a presentation by stuart langridge

Download as OpenOffice · Download as PDF

Demonstration videos mentioned in the talk

Bindwood

Bindwood is a Firefox extension to store bookmarks in CouchDB. Available at lp:bindwood.

Evolution CouchDB

Evolution CouchDB provides a new type of addressbook to Evolution Data Server which stores contacts in CouchDB. Available at lp:evolution-couchdb.

Pairing two CouchDBs on your network

The pairing UI connects two desktop CouchDBs together so that all your data is replicated between the two. Available as part of the Desktop Couch project at lp:desktopcouch.

  1. Building Applications with Ubuntu One
    
    Stuart Langridge Canonical
    
    
  2. 
  3. http api
    
    
  4. 
  5. store data
    
    
  6. 
  7. firefox bookmarks
    
    
  8. tomboy notes
    
    
  9. contacts
    
    
  10. evolution addressbook
    
    
  11. akonadi addressbook
    
    
  12. 
  13. pairing
    
    
  14. pair with Ubuntu One
    
    
  15. 
  16. 
  17. use from other machines
    
    
  18. web UI for contacts
    
    
  19. 
  20. 
  21. 
  22. funambol phone sync
    
    
  23. your data everywhere
    
    
  24. 
  25. benefits of a web app
    
    
  26. use from your applications
    
    
  27. records API
    
    
  28. records API
    Import things >>> from desktopcouch.records.server import CouchDatabase >>> from desktopcouch.records.record import Record Get a database (creating it if it’s not there) >>> db = CouchDatabase('testing', create=True) Create a record in that database. Records need a record type >>> r = Record({'a':'b'}, record_type='http://example.com/testrecord') Records work like Python dictionaries >>> r['c'] = ['d','e','f'] Save the record >>> record_id = db.put_record(r) Get a record by ID >>> fetched = db.get_record(record_id) >>> print fetched['a'] b
    
    
  29. Native Python CouchDB API
    
    
  30. http api
    Create HTTP PUT /db/my_doc_id Read HTTP GET /db/my_doc_id Update HTTP PUT /db/my_doc_id Delete HTTP DELETE /db/my_doc_id
    
    
  31. quickly
    
    
  32. greasemonkey
    
    
  33. things coming up from Ubuntu One
    
    
  34. file metadata stored in desktop Couch
    
    
  35. screen sharing
    
    
  36. find out what's going on
    
    
  37. #desktopcouch #ubuntuone / #desktopcouch on freenode
    
    desktop-couchdb on groups.google.com
    
    
  38. fin.
    twitter: @sil http://www.kryogenix.org/ http://tinyurl.com/l94jdn
    photo credits: FlickrDelusions Graphic Leftovers OpenClipArt