Mobile APIs: Optimizing APIs for Many Devices
Upcoming SlideShare
Loading in...5
×
 

Mobile APIs: Optimizing APIs for Many Devices

on

  • 9,733 views

 

Statistics

Views

Total Views
9,733
Views on SlideShare
3,161
Embed Views
6,572

Actions

Likes
4
Downloads
86
Comments
3

16 Embeds 6,572

http://blog.apigee.com 6245
http://apigee.com 214
https://blog.apigee.com 70
http://feeds.apigee.com 14
http://mktg-dev.apigee.com 8
http://mktg-dev.wearepropeople.md 6
http://blog.sonoasystems.com 6
http://feeds.feedburner.com 1
http://mktg-new.local 1
http://www.newsblur.com 1
http://www.linkedin.com 1
http://mktg.jupiter.apigee.net 1
http://edit.mktg.jupiter.apigee.net 1
http://blog.edit.apigee.net 1
http://translate.googleusercontent.com 1
http://webcache.googleusercontent.com 1
More...

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • <br /><iframe width="350" height="288" src="http://www.youtube.com/embed/79zkHPog2gQ" frameborder="0" allowfullscreen></iframe>
    Are you sure you want to
    Your message goes here
    Processing…
  • <br /><iframe width="350" height="288" src="http://www.youtube.com/embed/aHwfbJeMmeQ" frameborder="0" allowfullscreen></iframe>
    Are you sure you want to
    Your message goes here
    Processing…
  • I've missed webinar yesterday, is there a video of talk?
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Creative Commons Attribution-Share Alike 3.0 United States License
  • Creative Commons Attribution-Share Alike 3.0 United States License

Mobile APIs: Optimizing APIs for Many Devices Mobile APIs: Optimizing APIs for Many Devices Presentation Transcript

  • Mobile APIs: Optimizing APIs forMany Devices12.15.11 @ 11:05 PSTVOIP or Dial-in (see chat)groups.google.com/group/api-craftGreg Brail Sam Ramji Brian Pagano@gbrail @sramji @brianpagno
  • Your hosts
  • @gbrail @sramji @brianpagano
  • groups.google.com/group/api-craft 4
  • youtube.com/apigee 5
  • Mobile APIs: Optimizing APIs forMany Devices
  • Devices are slowParsing XML is (usually) insignificant on servers today.Not so on a phone!(Yes, I realize that devices are getting faster)
  • Networks are slowTheoretically they are fastOnce you start walking /driving /cycling / skydiving around thatchanges
  • Programmers are in a hurryXML? What’s that?Forget about SOAP and SAML
  • Public APIs are inconsistentTwitter can respond in one second or five That adds to your user experience Lots of APIs are lots slower
  • Private APIs are slowInternal systems were designed for a few servers.Now we throw a few thousand mobile devices at them.We have seen response times like: 500 milliseconds 5 seconds 30 seconds…
  • Most APIs talk too muchMy default Twitter timeline: 45K in JSON, 64K in XMLPrivate APIs are usually worse Designed for internal systems and fast networks We have seen 5K, 36K, 100K and up
  • App DevelopersNone of this is good for you
  • The API TeamIf you can’t make the API friendlier to app developers, …the developers will take matters into their own hands
  • Tools in your arsenalData transformation and maskingCompressionCachingDistribution These work for both the app developers and the API team
  • Data transformation and masking
  • Convert XML to JSON
  • Offer a “mobile version” via parameters …returns fewer data fields
  • Implement a “partial response” architecture …select fewer elements via parameters
  • Be ruthless! …can always offer the “full data set” via another API
  • Compression
  • Built in to the HTTP protocol
  • Supported by most clients
  • Not enabled by many servers – why not?
  • My Twitter timeline: 45K JSON  gzip  6K 64K XML  gzip  6.5K
  • Caching
  • Cache complete API responses …in addition to your app server / database cache
  • A good Pragmatic REST URL structure makes this easier
  • Distribution
  • Put caches of API responses all over Use a CDN if you can Return links to it if you can’t
  • TakeawaysMobile clients are different than serversJavaScript apps are different than serversSo don’t forget that when you implement your API!
  • THANK YOUQuestions and ideas to:@gbrail@sramji@brianpaganogroups.google.com/group/api-craft