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

Adam Fish: Reactive Apps - How to Build More En...

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

Realm

November 30, 2016
Tweet

More Decks by Realm

Other Decks in Technology

Transcript

  1. About me • Former cofounder of Roobiq • 5 years

    of mobile experience • Director of Product at Realm
  2. 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
  3. 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
  4. Why does Reactive matter? • Immediate UI updates don’t impede

    the user’s goal
 • Synchronized devices drive user- engagement
 • Pushed data creates repetitive patterns
  5. 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
  6. 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?
  7. Objects as API’s Mobile Server Realtime data sync BuyObject ShoppingCart:

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

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

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

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

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

    → Status: “done” OrderInfo: → BuyObject ShoppingCart: → Status: “done” OrderInfo: →
  13. 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
  14. 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.
  15. 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
  16. 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
  17. 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