api architecture summit 2014- apis: a mobile developers perspective

Download API Architecture Summit 2014- APIs: A Mobile Developers Perspective

Post on 23-Jan-2018




1 download

Embed Size (px)


  1. 1. Get in touch n.roche@ucl.ac.uk APIs: A Mobile Developers Perspective Niall Roche @niallroche
  2. 2. Background Brief History of Mobile & APIs Mobile API Good Practice API issues for Mobile BaaS Future API Considerations Agenda
  3. 3. Mobile Developer - pretty much every platform! Lecturer in Distributed and Mobile Computing UCL Decide - building App Lab Digital Testbed Tech Trainer Mentor at Background
  4. 4. Helping Londons entrepreneurs test, iterate and launch their ideas DECIDE services include: Open Device Lab User Experience Expertise App Store closed testing service Get in touch at decide@ucl.ac.uk UCL Decide @ucldecide
  5. 5. Occasionally Connected / Disconnected High Latency & network congestion Low or varying Bandwidth Battery Issues Storage Restrictions Processing Restrictions Mobile Issues
  6. 6. Small screen sizes and bad browsers - bad HTML support No easy way to get content out of DB or existing system Solution was to extract content by Screen Scraping Horrible selection rules in Regex Pages broke if content changed (and it usually did!) Needed to repurpose content to be mobile friendly Or alternatively maintain Two different versions of content Web version and Mobile version A Brief History of Mobile
  7. 7. Two major changes happened Mobile Changed Devices, browsers and networks got better Mobile Internet became usable Backends Changed Along came Web Services then APIs then REST APIs Life became easier! A Brief History of Mobile
  8. 8. WebsiteWebsite Dat a Desktop Browser Desktop Browser HTM L
  9. 9. Adaptive Website Adaptive Website Dat a Desktop Browser Desktop Browser Mobile Browser Mobile Browser WML /XHTML- MP HTM L
  10. 10. WebsiteWebsite Dat a Mobile Browser Mobile Browser ProxyProxy WML /XHTML- MP HTM L HTML Desktop Browser Desktop Browser
  11. 11. WebsiteWebsite Dat a Mobile Browser Mobile Browser ProxyProxy WML /XHTML- MP HTM L
  12. 12. WebsiteWebsite Dat a Mobile AppMobile App ProxyProxy XML / Text / JSON HTM L
  13. 13. WebsiteWebsite Dat a Mobile AppMobile App ServerServer HTM LDesktop Browser Desktop Browser XML / Text / JSON
  14. 14. ServerServer Dat a BrowserBrowser Web Server Web Server JSON APIAPI HTML / CSS JavaScript
  15. 15. ServerServer Dat a Mobile App Mobile App JSON APIAPI
  16. 16. Data entry still a bit issue for users, help to avoid typing reactive autocomplete like Google search Interactions should not be bursty, not chatty bad for the battery do more with a single interaction not too much in a failure scenario! Reactive to the network type do more on WiFi Check if EDGE vs LTE or measure throughput Mobile API Good Practice
  17. 17. Use lightweight data exchanges JSON / BSON no SOAP please! Consider just sending the data that has changed only Design APIs to make Entities cacheable when offline Design to be easy to sync data and effectively recover from interruption - this is not easy! Support cross platform, with apis and samples Http pipeline - make more of the bandwidth you have Mobile API Good Practice
  18. 18. HTTP Reques t HTTP Respons e
  19. 19. HTTP Reques t HTTP Respons e
  20. 20. Don't have APIs that are not easy to test or to mock out No polling please! Bad in general, terrible on mobile Users access services from multiple devices & concurrently desktop & multiple mobile dont presume a single connection, adapt accordingly Dont push what has already been seen Dont Fetch a large set of results at once could vary based on device or network or user pattern API issues for Mobile
  21. 21. BaaS great to start with and for simple apps and prototyping - more time to concentrate on the App Push integration is a must - key for Mobile, keeps users engaged handling the plumbing around managing device ids manage Apple/Google/Microsoft API integration Need SDK & samples for major platforms & HTML5 Use Appropriate and Secure Storage & Authentication Offer Offline & Sync and your developers will love you! BaaS
  22. 22. Great in the beginning but have medium-term issues When app needs to go beyond basic CRUD e.g. take action once entity added deleted updated Problems with migrating data into other systems Customisation beyond functions in the platform or extras that can be purchased BaaS issues for Mobile
  23. 23. The Web is changing Offline Apps - Chrome WebApps WebSockets - Push (Server Send Events) SPDY (HTTP 2.0) priority on Web Requests Leaner with less headers The Growth of Wearables and Embedded / M2M Back to small (no) screens, limited processing API Future Considerations
  24. 24. Amazon AppStream - GUI in the cloud for streaming UIs Api for rendering complex User Interfaces at sever-side Shows potential of the future, older cheaper mobile devices that can handle rich content Trend early towards updatable apps, ease of pulling down new logic or app updates are now a patch rather than a complete replacement and down in background API Future Considerations
  25. 25. Julia Shalet, Product Doctor 1 27 #needtoknowmobile for hipsters, hustlers & hackers Next Evening Programme: 25th March 27th May 2014 Shoreditch, London Brilliant insights from industry pros, fresh thinking, interesting contacts, a new understanding of what it means to be 'mobile CPD Accredited, hosted by UCL & Mobile Monday London 20% Discount Code: Niall