SlideShare a Scribd company logo
1 of 19
DESIGN MOBILE
APIs
A Mobile Device is
Low Powered
Low Bandwidth
Runs On Battery
Desktop:
250 kb – Avg. Page Weight
2.5 pages – Avg. number Per Visit
Total = 625 Kb Bandwidth Per Visit
Mobile:
100 kb – Avg. Page Weight
10 pages- Avg. number per visit
Total = 1 Mb Bandwidth per visit
We want to keep the best user experience at all time.
Nobody wants an unresponsive app.
The efficient API make a huge Impact on
Performance for Mobile App Specially.
When the API is too lazy or Incomplete the burden is
put on the mobile App.
Any Workaround for it, put stress on the app which
consumes too much resources.
 Too Slow
 Too Much Complicated to Parse
 Dependent on 3rd Party
 Data is not Cache
 DB is not efficient like Indexing
 DB Query is not Efficient like Join
 Be Simple
 Be Fast
 Use of Caching
 Load Needed Data Only
 Think as Service not as Methods
 Easy to maintain API
 Easy to make changes in API & Debugging
 Easy to add , remove or change Functionality
 Enable user for backward support
 API becomes more reliable
 Use LIMIT & OFFSET
 Enable Flexibility for User
 Data is Less & API becomes FAST
E.g. GET /properties?offset=10&limit=5
E.g. For Login API
1) Passing Credential & Get Session Token
2) Get User Data after passing Valid Session Token
Instead Of This
Check Credential & Pass Data with Session Token
Session Token will use by future API Calls
E.g. Application Start up
Think when multiple APIs calls on Application Start up
Hard to Maintain & Parse
If some API calls fails
Instead Of This
Combine Multiple request into Single
 Easy to Maintain & Parse
 Easy to Handle Failure
Mobile shows very less attributes on the screen.
It don’t require all the fields.
Fields Selection gives ability to API consumer to
get desire data
E.g.
GET /cars?fields=manufacturer,model,id,color
 Secure Data Transit
 Secure your Data while changing by API
 Use Access Token
 Malicious data having unintended consequences
 Load Data which are need to Display
 Load Images,files Asynchronously
 It affects Latency Time of API
 It affects User Experience
 Avoids unnecessary condition checking
 saves User Time
 saves User Data charge Amount
 Helps in Debug Error
 Use standard format that Self Explanatory
 Helps in Recovery from failure
E.g.
{
"http_code": "401",
“User_message" : “Email does not exits",
"internal_message" : “Authentication Failed"
}
Status Code Value Meaning
200 OK Working fine
201 OK New resource
Created
204 OK Successfully
Deleted
304 Not Modified Use Cache Data
400 Bad Request Invalid
401 Unauthorized Authentication
Failed
403 Forbidden Refuse Request
404 Not Found No resource
500 Internal Server
Error
Server Error
 Might be hardest job
 It should be precise, correct & easy to understand
 Update when API changes made
 Saves lots of time in implementation
 Show sample code
 Better for future
Design mobile efficient Apis

More Related Content

What's hot

Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 
Benefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular jsBenefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular js
Harbinger Systems - HRTech Builder of Choice
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to Servicefull
ServerlessConf
 

What's hot (20)

Developing Mobile Applications for iOS and Android the Oracle way
Developing Mobile Applications for iOS and Android the Oracle wayDeveloping Mobile Applications for iOS and Android the Oracle way
Developing Mobile Applications for iOS and Android the Oracle way
 
API Basics
API BasicsAPI Basics
API Basics
 
Huge: Running an API at Scale
Huge: Running an API at ScaleHuge: Running an API at Scale
Huge: Running an API at Scale
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
 
Business Applications Integration In The Cloud
Business Applications Integration In The CloudBusiness Applications Integration In The Cloud
Business Applications Integration In The Cloud
 
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
 
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORKSpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
 
API ARU-ARU
API ARU-ARUAPI ARU-ARU
API ARU-ARU
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Benefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular jsBenefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular js
 
Realm 研究
Realm 研究Realm 研究
Realm 研究
 
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISEDEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developers
 
Replicating One Billion Records with Minimal API Usage
Replicating One Billion Records with Minimal API UsageReplicating One Billion Records with Minimal API Usage
Replicating One Billion Records with Minimal API Usage
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to Servicefull
 
Building the Eventbrite API Ecosystem
Building the Eventbrite API EcosystemBuilding the Eventbrite API Ecosystem
Building the Eventbrite API Ecosystem
 
Building real-time-collaborative-web-applications
Building real-time-collaborative-web-applicationsBuilding real-time-collaborative-web-applications
Building real-time-collaborative-web-applications
 
API design principles for accelerated development
API design principles for accelerated developmentAPI design principles for accelerated development
API design principles for accelerated development
 
Restful api design
Restful api designRestful api design
Restful api design
 

Similar to Design mobile efficient Apis

Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009
Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009
Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009
Aduci
 
Application Performance Lecture
Application Performance LectureApplication Performance Lecture
Application Performance Lecture
Vishwanath Ramdas
 
Internet applications unit1
Internet applications unit1Internet applications unit1
Internet applications unit1
MSc CST
 
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Axway Appcelerator
 

Similar to Design mobile efficient Apis (20)

Just do it!
Just do it!Just do it!
Just do it!
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009
Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009
Incorporating Web Services in Mobile Applications - Web 2.0 San Fran 2009
 
Application Performance Lecture
Application Performance LectureApplication Performance Lecture
Application Performance Lecture
 
Progressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting StartedProgressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting Started
 
The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)
 
AppSphere 15 - Application Analytics helping DevOps with Data Driven Decision...
AppSphere 15 - Application Analytics helping DevOps with Data Driven Decision...AppSphere 15 - Application Analytics helping DevOps with Data Driven Decision...
AppSphere 15 - Application Analytics helping DevOps with Data Driven Decision...
 
7 secrets of performance oriented front end development services
7 secrets of performance oriented front end development services7 secrets of performance oriented front end development services
7 secrets of performance oriented front end development services
 
Harnessing Configuration for Web GIS Application Development
Harnessing Configuration for Web GIS Application DevelopmentHarnessing Configuration for Web GIS Application Development
Harnessing Configuration for Web GIS Application Development
 
Designing and Developing Custom Mobile Applications
Designing and Developing Custom Mobile ApplicationsDesigning and Developing Custom Mobile Applications
Designing and Developing Custom Mobile Applications
 
VINAYAN_Resume
VINAYAN_ResumeVINAYAN_Resume
VINAYAN_Resume
 
Internet applications unit1
Internet applications unit1Internet applications unit1
Internet applications unit1
 
App engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nycApp engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nyc
 
We Made Our Website a PWA & Why You Should Too - Brighton SEO
We Made Our Website a PWA & Why You Should Too - Brighton SEOWe Made Our Website a PWA & Why You Should Too - Brighton SEO
We Made Our Website a PWA & Why You Should Too - Brighton SEO
 
New trends on web platform
New trends on web platformNew trends on web platform
New trends on web platform
 
Creating i os or android application with sql server as database
Creating i os or android application with sql server as databaseCreating i os or android application with sql server as database
Creating i os or android application with sql server as database
 
Building for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile webBuilding for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile web
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
 
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
 
Testing installable mobile apps analogues
Testing installable mobile apps analoguesTesting installable mobile apps analogues
Testing installable mobile apps analogues
 

Recently uploaded

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (6)

Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 

Design mobile efficient Apis

  • 2.
  • 3.
  • 4. A Mobile Device is Low Powered Low Bandwidth Runs On Battery
  • 5. Desktop: 250 kb – Avg. Page Weight 2.5 pages – Avg. number Per Visit Total = 625 Kb Bandwidth Per Visit Mobile: 100 kb – Avg. Page Weight 10 pages- Avg. number per visit Total = 1 Mb Bandwidth per visit
  • 6. We want to keep the best user experience at all time. Nobody wants an unresponsive app. The efficient API make a huge Impact on Performance for Mobile App Specially. When the API is too lazy or Incomplete the burden is put on the mobile App. Any Workaround for it, put stress on the app which consumes too much resources.
  • 7.  Too Slow  Too Much Complicated to Parse  Dependent on 3rd Party  Data is not Cache  DB is not efficient like Indexing  DB Query is not Efficient like Join
  • 8.  Be Simple  Be Fast  Use of Caching  Load Needed Data Only  Think as Service not as Methods
  • 9.  Easy to maintain API  Easy to make changes in API & Debugging  Easy to add , remove or change Functionality  Enable user for backward support  API becomes more reliable
  • 10.  Use LIMIT & OFFSET  Enable Flexibility for User  Data is Less & API becomes FAST E.g. GET /properties?offset=10&limit=5
  • 11. E.g. For Login API 1) Passing Credential & Get Session Token 2) Get User Data after passing Valid Session Token Instead Of This Check Credential & Pass Data with Session Token Session Token will use by future API Calls
  • 12. E.g. Application Start up Think when multiple APIs calls on Application Start up Hard to Maintain & Parse If some API calls fails Instead Of This Combine Multiple request into Single  Easy to Maintain & Parse  Easy to Handle Failure
  • 13. Mobile shows very less attributes on the screen. It don’t require all the fields. Fields Selection gives ability to API consumer to get desire data E.g. GET /cars?fields=manufacturer,model,id,color
  • 14.  Secure Data Transit  Secure your Data while changing by API  Use Access Token  Malicious data having unintended consequences
  • 15.  Load Data which are need to Display  Load Images,files Asynchronously  It affects Latency Time of API  It affects User Experience  Avoids unnecessary condition checking  saves User Time  saves User Data charge Amount
  • 16.  Helps in Debug Error  Use standard format that Self Explanatory  Helps in Recovery from failure E.g. { "http_code": "401", “User_message" : “Email does not exits", "internal_message" : “Authentication Failed" }
  • 17. Status Code Value Meaning 200 OK Working fine 201 OK New resource Created 204 OK Successfully Deleted 304 Not Modified Use Cache Data 400 Bad Request Invalid 401 Unauthorized Authentication Failed 403 Forbidden Refuse Request 404 Not Found No resource 500 Internal Server Error Server Error
  • 18.  Might be hardest job  It should be precise, correct & easy to understand  Update when API changes made  Saves lots of time in implementation  Show sample code  Better for future