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

Adam Fish: Reactive Apps - How to Build More Engaging Mobile Experiences

1fa9cb8c7997c8c4d3d251fb5e41f749?s=47 Realm
November 30, 2016

Adam Fish: Reactive Apps - How to Build More Engaging Mobile Experiences

Abstract/excerpt:
World class mobile apps incorporate features and functionality that users have come to expect for their entire mobile experience. However, mobile environments face different challenges than the web. Network connectivity is unreliable, there are multiple sources of truth between user devices and the server, and the REST model wasn’t designed for pushing data. Overcoming these challenges is the key to creating more engaging user experiences, or rather a “”reactive”” app. This talk will explore reactive app trends and strategies for building your own. Develop an understanding of:

• How leading tech companies build reactive apps today
• Industry examples of how reactive features serve business goals
• Using API bridges to connect mobile apps to legacy enterprise data

1fa9cb8c7997c8c4d3d251fb5e41f749?s=128

Realm

November 30, 2016
Tweet

Transcript

  1. Reactive Apps: 
 How to Build More Engaging Mobile Experiences

    Open Mobile Summit 2016
  2. About me • Former cofounder of Roobiq • 5 years

    of mobile experience • Director of Product at Realm
  3. “Build Better Apps Faster”

  4. Source: a16z Mobile internet = mobile apps Billions of Minutes

    Online (USA) 0 250 500 750 1000 1250 1500 Jun 2013 Jun 2014 Jun 2015 Desktop Mobile App Mobile Browser
  5. Source: a16z Mobile apps = competition Properties hitting US monthly

    user thresholds 0 100 200 300 400 500 Desktop web Mobile web Mobile apps 20m+ users 10-20m 5-10m
  6. How to capture user engagement?

  7. Reactive Apps

  8. Immediate UI

  9. Device Sync

  10. Server Push

  11. Why does Reactive matter? • Immediate UI updates don’t impede

    the user’s goal
 • Synchronized devices drive user- engagement
 • Pushed data creates repetitive patterns
  12. But mobile…

  13. Mobile is different from web • Mobile networks have higher

    latency • You can lose connectivity at any time • Apps can be shutdown and restarted at any time
  14. REST is brittle and cumbersome in a mobile world •

    What happens when there is no connectivity? • What about connectivity being lost during requests? • How to manage resources?
 • How to push data?
  15. None
  16. So what can we do?

  17. Persistent Shared State Mobile Server Realtime data sync

  18. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: nil OrderInfo: nil
  19. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: nil OrderInfo: nil BuyObject ShoppingCart: → Status: nil OrderInfo: nil
  20. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: nil OrderInfo: nil BuyObject ShoppingCart: → Status: nil OrderInfo: nil
  21. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: nil OrderInfo: nil BuyObject ShoppingCart: → Status: nil OrderInfo: nil
  22. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: “processing” OrderInfo: nil BuyObject ShoppingCart: → Status: “processing” OrderInfo: nil
  23. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: “processing” OrderInfo: nil BuyObject ShoppingCart: → Status: “processing” OrderInfo: nil
  24. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: “done” OrderInfo: →
  25. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

    → Status: “done” OrderInfo: → BuyObject ShoppingCart: → Status: “done” OrderInfo: →
  26. Build Reactive apps

  27. Realm Mobile Platform • Self-hostable realtime mobile backend • On-device

    cross-platform object database • Developed in the open, db fully open source • 16k+ GitHub stars, 100k+ active developers
  28. Realm is everywhere…

  29. Summary • Users have high expectations. Do people care enough

    to put your app on their home screen? • The best apps are Reactive. Immediate UI updates, device sync, and server push deliver the best experiences. • Objects as the new API. Simplifies development and enables Reactive apps.
  30. Questions

  31. About Realm • Headquartered in San Francisco, with engineering office

    in Copenhagen • ~50 employees, experienced executive team from Nokia, Intel, Salesforce • Series B startup, $29M raised
  32. Developers Love Realm for Power, Simplicity, Ease of Use

  33. Users Expect More of Apps Today • Offline first: They

    need apps that work well offline and when network connections are intermittent • Reactive: They expect apps that are highly responsive, with all changes immediately reflected in the UI • Real-time: They expect every user and device to stay in sync with each other in real-time • Collaborative: They want highly collaborative features and experiences within their apps • Seamless: They expect to be be able to move seamlessly from device to device
  34. Enterprise priorities • Time-to-market: Your team need to be able

    to deliver quality apps quickly and on time • Ability: With high user expectations, the team need the ability to easily add advanced features like datasync, messaging and collaboration. • Cross-platform: To reach the full audience, you need to be able to deliver apps for both iOS and Android • Standardize: To manage all the apps and reduce complexity, you want to standardize on a single platform