Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Let's Take Drupal Offline!

6,115 views

Published on

We live in a disconnected and battery powered world, but our technology and best practices are a leftover from the always connected and steadily powered past. In this session we will explore a new web design paradigm called "Offline First" that's been evolving over the past year and how this applies to Drupal 8 and our project's future. There'll be mentions of things like headless Drupal, restful and relaxed web services, content synchronization, distributed systems and other exciting things.

This was presented during DrupalCamp Gothenburg November 2014[1] and Drupal Learning Meetup in London December 2014[2]

[1]: http://gothenburg.drupalcamp.se/
[2]: http://www.meetup.com/Drupal-London/events/218826091/

Published in: Technology
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • A professional Paper writing services can alleviate your stress in writing a successful paper and take the pressure off you to hand it in on time. Check out, please ⇒ HelpWriting.net ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • The laserless tattoo removal guide. How to get rid of unwanted tattoos naturally without painful,expensive and harmful procedures? learn more... ◆◆◆ https://bit.ly/2TliUmG
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/2F90ZZC ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/2F90ZZC ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Let's Take Drupal Offline!

  1. 1. Let's Take Drupal Offline!
  2. 2. Dick Olsson Twitter: @dickolsson Drupal.org: dixon_
  3. 3. Agenda 1. How we think about users and connectivity 2. What's an “offline” website? 3. Reasons to design for offline 4. Are we there yet? 5. Where's Drupal 8?
  4. 4. 1. How we think about users and connectivity Attribution: https://www.flickr.com/photos/kansirnet/
  5. 5. Users on latest technology and robust connection People are getting newer faster phones Connectivity will solve itself over time
  6. 6. Wrong!
  7. 7. Non-negotiable Geography (e.g. valleys, buildings) Transportation (e.g. trains, tube) Over-crowded places (e.g. DrupalCon) Attribution: https://www.flickr.com/photos/footfun/
  8. 8. “Once out of bed, Internet and apps are used almost constantly, peaking during the daily commute with around 70 percent usage” - Ericsson Traffic and Market Report, June 2012 Attribution: https://www.flickr.com/photos/59949757@N06/
  9. 9. Offline is a part of normal life
  10. 10. 2. What's an “offline” website?
  11. 11. “We live in a disconnected & battery powered world, but our technology and best practices are a leftover from the always connected & steadily powered past.” - offlinefirst.org
  12. 12. It's about putting the user first and not think about her position or connectivity as a state of error
  13. 13. Offline apps are not new, but the “offline-first” mantra is
  14. 14. Examples 1. Download all pages in the main menu on first visit 2. Download search results for popular queries on first visit, like php.net
  15. 15. 3. Reasons to design for offline
  16. 16. Privacy Users controll their own data, literally Often no need to share preferences and personal data with the central database Decentralization is a good thing
  17. 17. Security Do you really need all the data everywhere? Minimizes the attack vector of your app
  18. 18. Performance We put things on CDNs to get closer to the user Put it in my pocket instead!
  19. 19. Robustness In the Tube? Or server maintenance? Your app doesn't care
  20. 20. So far 1. How we think about users and connectivity 2. What's an “offline” website? 3. Reasons to design for offline
  21. 21. 4. Are we there yet?
  22. 22. What's required? A. The app itself (e.g. html, css, js) B. Remote database (that syncs over HTTP) C. Local database (that syncs over HTTP) D. Runtime (e.g. web browser)
  23. 23. “Any application that can be written in JavaScript, will eventually be written in JavaScript” - Jeff Atwood “Atwood's Law”
  24. 24. A. The app itself Angular JS Ember JS React JS Hood.ie etc. etc...
  25. 25. B. Remote database CouchDB Remotestorage.io both standardizes synchronization over HTTP
  26. 26. C. Local database PouchDB (works with CouchDB) Hood.ie (works with CouchDB)
  27. 27. “At some point in time recently, the browser transformed from being an awesome interactive document viewer into being the world's most advanced and widely-distributed application runtime” - Tom Dale Progressive Enhancement is Dead
  28. 28. D. Runtime HTML5 Appcache Service Workers
  29. 29. Appcache Cache manifest for assets (e.g. html, css, js, img etc)
  30. 30. Service Workers A background process that can act like a proxy between your app and databases (local and remote) Not yet good browser support
  31. 31. 5. Where's Drupal 8 in all of this? Attribution: https://www.flickr.com/photos/adamnewulm/
  32. 32. “Headless Drupal” is a step in the right direction Attribution: https://www.flickr.com/photos/cgc76/
  33. 33. But “headless” misses the point We should use the same technologies to build for “offline-first” instead
  34. 34. Drupal 8 would be your remote DB
  35. 35. But the REST API in Drupal 8 core is missing Revisioning Synchronization File attachments
  36. 36. Relaxed Web Services http://drupal.org/project/relaxed Replication Web Service http://drupal.org/project/replication These modules implement the same HTTP and sync API as CouchDB
  37. 37. When we standardize the HTTP API the frontend app can use standard tools, such as PouchDB (works with CouchDB) Hood.ie (works with CouchDB)
  38. 38. Reimagining best practices and patterns will still be hard
  39. 39. Conclusions Offline is a non-negotiable part of normal life Don't treat offline as an error Privacy, security, performance, robustness Possible to build offline capable websites with Drupal 8
  40. 40. Resources http://offlinefirst.org http://blog.hood.ie/2013/11/say-hello-to-offline-first http://alistapart.com/article/offline-first
  41. 41. Thanks! Questions? Twitter: @dickolsson Drupal.org: dixon_

×