Submit Search
Upload
Designing API for mobile apps (MobileWarsaw 19.01.2015)
•
3 likes
•
421 views
Wojtek Erbetowski
Follow
Designing API for mobile apps (MobileWarsaw 19.01.2015)
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 54
Download now
Download to read offline
Recommended
Devil May Care
Devil May Care
ah_livia
Web Content Management - Introduction
Web Content Management - Introduction
University of Hawai‘i at Mānoa
Online Dating
Online Dating
ellapitassi
Sugar shackspeech
Sugar shackspeech
sjanway13
Using EMC Symmetrix Storage in VMware vSphere Environments
Using EMC Symmetrix Storage in VMware vSphere Environments
EMC
Atlassian Crucible
Atlassian Crucible
OBSS Bilişim
Durerov kamen mudrcov
Durerov kamen mudrcov
MilanHladky
Carmen y. benavides deber
Carmen y. benavides deber
Carmen Benavides
Recommended
Devil May Care
Devil May Care
ah_livia
Web Content Management - Introduction
Web Content Management - Introduction
University of Hawai‘i at Mānoa
Online Dating
Online Dating
ellapitassi
Sugar shackspeech
Sugar shackspeech
sjanway13
Using EMC Symmetrix Storage in VMware vSphere Environments
Using EMC Symmetrix Storage in VMware vSphere Environments
EMC
Atlassian Crucible
Atlassian Crucible
OBSS Bilişim
Durerov kamen mudrcov
Durerov kamen mudrcov
MilanHladky
Carmen y. benavides deber
Carmen y. benavides deber
Carmen Benavides
Real process
Real process
siddheshhhh
Atlassian GreenHopper
Atlassian GreenHopper
OBSS Bilişim
שיתוף פעולה ראשון בין חוגלה קימברלי ואל הלב 2011
שיתוף פעולה ראשון בין חוגלה קימברלי ואל הלב 2011
Shirley Kantor
Napolean thurs
Napolean thurs
Travis Klein
Process of science
Process of science
Quanina Quan
Reasoning with rules - Application to N3/EYE and Stardog
Reasoning with rules - Application to N3/EYE and Stardog
Ana Roxin
Apuntes U. D. 7 préstamos
Apuntes U. D. 7 préstamos
silamora4
201607アドミュージアム「世界を幸せにする広告」企画イベント「スタートアップ for Good」
201607アドミュージアム「世界を幸せにする広告」企画イベント「スタートアップ for Good」
Maco Yoshioka
Seven Essential Strategies for Effective Archiving
Seven Essential Strategies for Effective Archiving
EMC
Power presentació(bona)
Power presentació(bona)
pujadasjordi
Linux kursu-erzurum
Linux kursu-erzurum
sersld67
Propel London - Digital Recruitment
Propel London - Digital Recruitment
Amber Larder
Seminar meningitis
Seminar meningitis
bowosaja
Hip to save $$$$
Hip to save $$$$
Marcia Vaughn
Ireland and North Ireland
Ireland and North Ireland
CEgroepSJL
Topic 3 Double entry book keeping
Topic 3 Double entry book keeping
Srinivas Methuku
Visual Resume
Visual Resume
Criser01
Linux kursu-maltepe
Linux kursu-maltepe
sersld67
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
Suhani Kapoor
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
RajaP95
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
ranjana rawat
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
ranjana rawat
More Related Content
Viewers also liked
Real process
Real process
siddheshhhh
Atlassian GreenHopper
Atlassian GreenHopper
OBSS Bilişim
שיתוף פעולה ראשון בין חוגלה קימברלי ואל הלב 2011
שיתוף פעולה ראשון בין חוגלה קימברלי ואל הלב 2011
Shirley Kantor
Napolean thurs
Napolean thurs
Travis Klein
Process of science
Process of science
Quanina Quan
Reasoning with rules - Application to N3/EYE and Stardog
Reasoning with rules - Application to N3/EYE and Stardog
Ana Roxin
Apuntes U. D. 7 préstamos
Apuntes U. D. 7 préstamos
silamora4
201607アドミュージアム「世界を幸せにする広告」企画イベント「スタートアップ for Good」
201607アドミュージアム「世界を幸せにする広告」企画イベント「スタートアップ for Good」
Maco Yoshioka
Seven Essential Strategies for Effective Archiving
Seven Essential Strategies for Effective Archiving
EMC
Power presentació(bona)
Power presentació(bona)
pujadasjordi
Linux kursu-erzurum
Linux kursu-erzurum
sersld67
Propel London - Digital Recruitment
Propel London - Digital Recruitment
Amber Larder
Seminar meningitis
Seminar meningitis
bowosaja
Hip to save $$$$
Hip to save $$$$
Marcia Vaughn
Ireland and North Ireland
Ireland and North Ireland
CEgroepSJL
Topic 3 Double entry book keeping
Topic 3 Double entry book keeping
Srinivas Methuku
Visual Resume
Visual Resume
Criser01
Linux kursu-maltepe
Linux kursu-maltepe
sersld67
Viewers also liked
(18)
Real process
Real process
Atlassian GreenHopper
Atlassian GreenHopper
שיתוף פעולה ראשון בין חוגלה קימברלי ואל הלב 2011
שיתוף פעולה ראשון בין חוגלה קימברלי ואל הלב 2011
Napolean thurs
Napolean thurs
Process of science
Process of science
Reasoning with rules - Application to N3/EYE and Stardog
Reasoning with rules - Application to N3/EYE and Stardog
Apuntes U. D. 7 préstamos
Apuntes U. D. 7 préstamos
201607アドミュージアム「世界を幸せにする広告」企画イベント「スタートアップ for Good」
201607アドミュージアム「世界を幸せにする広告」企画イベント「スタートアップ for Good」
Seven Essential Strategies for Effective Archiving
Seven Essential Strategies for Effective Archiving
Power presentació(bona)
Power presentació(bona)
Linux kursu-erzurum
Linux kursu-erzurum
Propel London - Digital Recruitment
Propel London - Digital Recruitment
Seminar meningitis
Seminar meningitis
Hip to save $$$$
Hip to save $$$$
Ireland and North Ireland
Ireland and North Ireland
Topic 3 Double entry book keeping
Topic 3 Double entry book keeping
Visual Resume
Visual Resume
Linux kursu-maltepe
Linux kursu-maltepe
Recently uploaded
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
Suhani Kapoor
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
RajaP95
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
ranjana rawat
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
ranjana rawat
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
Extrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
120cr0395
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
slot gacor bisa pakai pulsa
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
João Esperancinha
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
RajkumarAkumalla
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
wendy cai
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
rehmti665
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
SIVASHANKAR N
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
ranjana rawat
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
ranjana rawat
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
KurinjimalarL3
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
GDSCAESB
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
hassan khalil
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
upamatechverse
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
Soham Mondal
Recently uploaded
(20)
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Extrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
Designing API for mobile apps (MobileWarsaw 19.01.2015)
1.
DesigningmobileAPI WojtekErbetowski MobileWarsaw #21, 19.01.2015 t:
@erbetowski
2.
Aboutme? Youallknowmealready,right?
3.
Whynotsimply'designanAPI'?
4.
GoodmobileAPI ≠ GoodAPI
5.
6.
REST&HATEOAS
7.
GET /users/123 { "name": "John
Doe", "age": 25, "links": [ { "rel": "self", "href": "/users/123" }, { "rel": "account", "href": "/accounts/987" }, { "rel": "address", "href": "/addresses/555" } ] }
8.
GET /addresses/555 { "street": "Sesame", "no":
25, "zipCode": "12-321", "state": "NY", "country": "US" }
9.
HATEOASisgreat!
10.
there'sathingcalledlatency
11.
Latency
12.
Latency
13.
Itcangetcrazy
14.
Mergingresponses
15.
GET /user/123 { "name": "John
Doe", "age": 25, "country": "US" }
16.
Andifitain'tyours?
17.
ExpansionFTW!
18.
GET /users/123? fields=[name,age,address[country]] { "name": "John
Doe", "age": 25, "country": "US" }
19.
butmostofall
20.
CONNECTION: KEEP-ALIVE
21.
Docs
22.
23.
THROUGHPUT
24.
25.
Doyougetonlywhatyouneed?
26.
{ "person": { "id": 12345, "firstName":
"John", "lastName": "Doe", "age": 25, "phones": { "home": "800-123-4567", "work": "888-555-0000", "cell": "877-123-1234" }, "email": [ "jd@example.com", "jd@example.org" ], "dateOfBirth": "1980-01-02T00:00:00.000Z", "registered": true, "emergencyContacts": [ { "name": "", "phone": "", "email": "", "relationship": "spouse|parent|child|other" } ], "address": { "street": "Sesame", "no": 25, "zipCode": "12-321", "state": "NY", "country": "US" } } }
27.
{ "firstName": "John", "lastName": "Doe", "age":
25, "country": "US" }
28.
Andifitain'tyours?
29.
ExpansionFTW!
30.
GET /users/123? fields=[name,age,address[country]] { "name": "John
Doe", "age": 25, "country": "US" }
31.
DATACOMPRESSION
32.
{ "people": [ { "firstName": "Jason", "lastName":
"Page", "username": "jasonp", "isMale": true, "phone": "142-808-3743", "nid": "12252671714" ...
33.
Full 222910 bytes GZipped 32128 bytes
(14%)
34.
Domaincomplexity
35.
Usuallyautomatedtestingsucks (onmobile)
36.
SoifUIdiffersfrom DATAMODEL
37.
...letthebackendguysworry
38.
POST /relation { "type": "follower", "from":
123, "to": 456 }
39.
POST /follow/456
40.
HTTPCache
41.
Expires: Sat, 21
Feb 2015 05:00 GMT iOS(AFNetworking+NSURLCache) Android(Retrofit+OkHttp+HttpResponseCache)
42.
GET /users?page=1 [ "Arthur", "Bob", "Celine", "Daniel", "Eve", "Fred", "George" ]
43.
GET /users?since=185328145127
44.
{ "items": [ ... ], "next": "/users?since=185328145127" }
45.
Casestudy
46.
Endpointsoverall from36to20
47.
Endpointsusage (fullapplicationflow) from86to20
48.
96%datasizereduction (84%withoutGZIP)
49.
Intheend it'sallaboutusability
50.
Starring
51.
Akamai StateoftheInternet http://www.akamai.com/ stateo!heinternet/
52.
Swagger http://swagger.io/
53.
Applause (FormeruTest) https://itunes.apple.com/us/app/utest/id411486493
54.
Anythoughts?
Download now