Skip to main content

Recycling: Why the Web is Slowing Your Mobile App

Colin Bendell (Cloudinary)
Mobile
Location: 113 Level: Intermediate
Average rating: ****.
(4.60, 5 ratings)
Slides:   1-PDF 

Today, nearly every website makes use of either formal or informal web APIs – from analytics to page assembly. Mobile Apps are no different. Re-using web components speeds development for web sites and apps, while helping create a consistent user experiences across multiple devices and platforms. Unfortunately there are often unintended consequences that impact performance. Separating presentation from data is a noble design objective – but be careful, here there be dragons!

Having worked with many clients on these kinds of issues, this talk will highlight the lessons learned regarding Web API and component design and how these designs impact performance, scalability and reliability. There are two primary focus areas in the talk. First is on downstream impacts of web reuse. For example, frequent, small message is useful in many cases, but load balancers that use cookies can unnecessarily triple the packet count to the application. Likewise, chaining API calls is an elegant way to modularize business rules, but what is the impact on latency and page rendering performance?

The second focus of the talk is the impact web reuse on workflows and behaviors. For example, query APIs can be long running. What are the best patterns to return pagination while preserving consistency to the dataset? Likewise, many APIs use POST by default but this (usually) will eliminate the opportunity to cache the response – which can be avoided by using a POST-302-GET callback behavior that leverages canonical destinations.

Other topics covered include:

  • User session management and tracking
  • Cookies, load balancers and stateless services
  • Result-sets, pagination and fallback behavior
  • Caching and API offload
  • Workflow callback chains and browser prefetching
  • Single page applications
  • Presentation APIs v. Data APIs
  • HTTP 2.0 v. gzip and non-SSL
Photo of Colin Bendell

Colin Bendell

Cloudinary

Colin Bendell
Akamai

Colin is a multi disciplined expert in software development, infrastructure & operations and business strategy. With over 15 years experience, he has led the design of large scale distributed web applications in Real Estate, and Heavy Equipment. Over the last 3 years he has also managed datacenter and network Infrastructure and Operations team for a global uranium mining company. For several years, Colin also owned and operated an automotive aluminum wheel repair shop where he applied his business knowledge and operational insight.

Colin is passionate about helping customer build high performance web applications that reduce operational complexity and help increase profits. He has a deep technical base and can be found refactoring regular expressions while imagining three impossible things all before breakfast. At least 5 sentences a day begin with the phrase ‘What if…’ His low level technical expertise allows him to understand the big picture and create long term strategies and vision that are innovative yet pragmatic and attainable.