Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WTF IS HOODIE?

WTF IS HOODIE?

Talk at http://karlsruhejs.org/ on March 26, 2014. Telling about the history, the current state and the future of the Hoodie Open Source Project

24fc194843a71f10949be18d5a692682?s=128

Gregor Martynus

March 26, 2014
Tweet

Transcript

  1. HOOD.IE KarlsruheJS 2014 HOOD.IE

  2. None
  3. None
  4. It all started with an app

  5. •backbone
 (before it was cool) •localStoage •appCache Manifest
 (works offline)

    •simple Rails backend •made in 2010 minutes.io
  6. None
  7. None
  8. None
  9. None
  10. None
  11. CouchConf SF & Berlin •I showed my CouchDB setup •Everyone

    loved it, nobody could help, really •And there was Jan. He loved it big time, invited me to CouchDB User Group in Berlin, I gave a talk, we decided 

  12. And there was CANG

  13. CANG •“CouchApp Next Generation” •stupid name on purpose™ •2.1 tier

  14. None
  15. 2.1 Tier •everything is async •everything is JSON •every operation

    is a background task
  16. <pic of project name attributes>

  17. None
  18. None
  19. None
  20. It was all a Dream(code)

  21. hoodie.account.signUp(username, password) hoodie.account.resetPassword(username) hoodie.store.add('todo', properties) hoodie.store.findAll('todo') hoodie.store('todo').on('change', handleChange) hoodie.email.send({ to:

    'joe@exmaple.com', subject: 'From Hoodie With <3', html: htmlText, text: text, attachments: [hoodie.convert(document.body).to('letter.pdf')] }) hoodie.purchase(productId).via('paypal')
  22. Dream Driven Development •dream up the most beautiful API you

    can. Dream big. •Get excited. A lot. •Build it backwards •Repeat.
  23. Hoodie is an API first.
 It’s a promise. Everything else

    can change or is replaceable. 
 
 The API is all that matters.
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. None
  38. Hoodie is Offline First by default. •hoodie.isConnected() •hoodie.store.hasLocalChanges() •hoodie.on(‘disconnect’, showOfflineUi)

    •hoodie.on(‘reconnect’, hideOfflineUi)
  39. Offline first the good parts

  40. Offline first, the good Let people use your app, without

    any sign up
 ☛ Conversation rates you didn’t even
 dare to dream of. It’s crazy fast
 ☛ zero latency It works offline
 ☛ because, why not?
  41. Offline first the interesting parts

  42. Offline, the “interesting” parts new app states ☛ signed in

    but not authenticated ☛ local changes that have not yet been synched 
 new UX challenges ☛ tell the user he’s offline or not? ☛ To show or not to show that there are local changes? ☛ How to make user aware of unsynced changes?
  43. None
  44. Hoodie is not… … the new jQuery. Hoodie has not

    opinion on the frontend. It does not interact with the DOM at all. Hoodie <3 jQuery. They a great companions.
  45. Hoodie is not… … the new Backbone/Angular/Ember/you name it. Hoodie

    starts where Frontend MVC/MVVM Frameworks end. Hoodie <3 all of them. They are great companions.
  46. Hoodie is not… •… a Meteor competitor. •Meteor exposes very

    low level backend capacities everywhere •Hoodie encapsulates all backend operations to hide away its complexity, instead of exposing it
  47. Hoodie is not… an All-In-One solution. It’s a very tiny

    core with a great plugin architecture. Example plugins can expose APIs like hoodie.email.send(emailProperties).then(showSentMessage) hoodie.purchase( productId ).with(‘paypal’) hoodie.convert(document.body).to(‘report.pdf’) hoodie.call(phoneNumber).then(showCallUi, hideCallUi) hoodie.translate(text).to(‘fr’)
  48. The Hoodie Architecture

  49. State of the Hoodie •developer preview •great time to build

    first apps •we have Hoodie apps in production today •1.0 due in 2014:
 sharing, payments, hosting/setup, PouchDB, conflicts, migrations, documentation, HoodieLaunchParty!!!!
  50. The Hoodie Future •Super simple One-click setup, both locally &

    online •One-click Setup package for Hoodie Hosters (think Wordpress) •always open-source, always bootstrapped, always not-for-profit, always independent (includes us) •We are here to stay, you can trust and build on Hoodie for the long term •We wish we could move faster, but we will never compromise our vision •You can helps us <3
  51. Please help us make •give it a try, you will

    be amazed •Pleas ask questions
 (@HoodieHQ, #hoodie, github.com/hoodiehq/discussion/issues) •Please report bugs •Contribute: espy.github.io/ubersicht/#hoodiehq •Spread the word: Tutorials, Sceencasts, Talks, Meetups/UserGroups <3 •Sponsor Hoodie
 (exclusive weekly sponsoring incl. commit signatures) •Hire Us team@thehoodiefirm.com
 (all income goes towards Hoodie Development)
  52. Thank you! and special thanks to