Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to build a Unified API
Search
Simon Wood
October 25, 2013
Programming
1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to build a Unified API
Presentation on APIs at FOWA 2013
Simon Wood
October 25, 2013
More Decks by Simon Wood
See All by Simon Wood
Managing Legacy Tech Migrations
hpoom
0
110
Killing off legacy tech the right way
hpoom
0
220
Tech's Got Talent
hpoom
1
310
Holiday Extras AWS use case
hpoom
0
240
Node.js & Microservices
hpoom
2
390
Javascript: One language to rule them all
hpoom
0
300
APIs are eating the world
hpoom
2
1k
Wake up and smell the API
hpoom
1
190
APIs from the Trenches - API Days Mediterranea 2015
hpoom
0
230
Other Decks in Programming
See All in Programming
最近”作らせてる” ローカルAIアプリの話
akit37
0
530
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.8k
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
800
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.3k
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
110
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
300
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
300
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
6.1k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
380
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
550
Navigating Weather and Climate Data
rabernat
0
570
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Google's AI Overviews - The New Search
badams
0
1.6k
Darren the Foodie - Storyboard
khoart
PRO
4
4.1k
The Cult of Friendly URLs
andyhume
79
7.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
660
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Test your architecture with Archunit
thirion
2
2.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
430
Transcript
How to Build a Unified API
Simon Wood @hpoom Holiday Extras Image by Barney Livingston -
Flickr
@hpoom
@hpoom Over 40m visits and 500k bookings in the last
5 years Give £20m revenue to hotels each year
@hpoom
Because of APIs I can tell you... Yesterday I walked
6191 steps FitBit API The music I listen to most is Radiohead Last.fm API It is currently 13ºC in New York Yahoo Weather API The Brewery is located at lat: 51.520475 lon: -0.091471 Google Maps API @hpoom
The Future is mobile The Future is social The Future
is cloud @hpoom
The Future is mobile The Future is social The Future
is cloud The Future is APIs @hpoom
APIs Mobile Social Cloud @hpoom Diagram by Sam Ramji -
http://bit.ly/biz-apis
What I am going to cover The Problem Solutions -
Good and Bad Considerations Technology How you can do this too @hpoom
LET’S TALK ABOUT THE PROBLEM @hpoom
Multiple sources of data @hpoom
@hpoom
Multiple consumers of data @hpoom
Shortbreaks traffic breakdown 18 months @hpoom Desktop Tablet Mobile
@hpoom
De couple @hpoom
Hide legacy @hpoom
Speed! @hpoom
Source: Strangeloop Networks Case Study Amazon 100 milliseconds revenue 1%
Mozilla 2.2 seconds downloads 60m per year @hpoom
Scaleability @hpoom
Be efficient with resource @hpoom
SO WHAT IS THE THE SOLUTION @hpoom
The Unified Bit @hpoom
Website Application Layer Legacy Reservation System @hpoom
Website Application Layer & API Legacy Reservation System Affiliates @hpoom
Website Application Layer & API Legacy Reservation System Affiliates Hotel
System Ticket System @hpoom
Website Application Layer & API Legacy Reservation System Affiliates Hotel
System Ticket System @hpoom
Unified API Website Mobile App Affiliates Smart TV Hotels Tickets
Transport Food Multiple consumers of data Multiple sources of data @hpoom
Proxy @hpoom
Website Application Layer Legacy Reservation System @hpoom
Website Application Layer Unified API Legacy Reservation System New System
Proxy @hpoom
Hierarchical @hpoom
Website Application Layer Unified API Legacy Reservation System New System
@hpoom
Website Application Layer Unified API Product API Content API Price
& Availability Name Star Rating Facilities @hpoom
Website Application Layer Unified API Product API Content API Hotels
Tickets Transport @hpoom
Website Application Layer Unified API Product API Content API Hotels
Tickets Transport Legacy New Affiliate @hpoom
Micro-service architecture Idea by Fred George - http://bit.ly/fred-george @hpoom
Traditional Enterprise Architecture Micro Service Architecture Diagram by James Hughes
- http://bit.ly/micro-service @hpoom
Website Application Layer Unified API Content API @hpoom
Authentication @hpoom
Unified API Website Mobile App Affiliates Smart TV Hotels Tickets
Transport Food Auth Use OAuth 2.0 @hpoom
Standardise your payloads @hpoom
PUBLIC SERVICE ANNOUNCEMENT @hpoom This is THE correct way to
write numeric dates 2013-10-25 Source XKCD - http://bit.ly/iso-date
Checksum tricks @hpoom MD5 ("Checksum tricks") = 1aef67e94cf84d9c4200e24cbdc9f93d
Cache & async requests @hpoom
Unified API Website Mobile App Affiliates Smart TV Hotels Tickets
Transport Food Async Total request time is only as slow as the slowest provider 1.2s 0.8s 1.1s 0.6s @hpoom
Unified API Website Mobile App Affiliates Smart TV Hotels Tickets
Transport Food Cache Cache Cache Cache Cache If we hit the top cache respond in 0.04s @hpoom
In summary Solutions Unified API Standard Payloads Micro Services Proxy
Cache & Async Hierarchical Problems Multi Data Sources Multi Consumers Decouple Hide Legacy Speed Scaleability @hpoom
SOME CONSIDERATIONS @hpoom
Open & Commercial @hpoom
The right way to rate limit @hpoom
Unlimited pools of talent @hpoom Chris Jason, ESPN - http://bit.ly/espnapi
Debugging & Logs @hpoom
Our log data in loggly @hpoom
300k unique payloads 3GB JSON logged daily @hpoom
WHAT TECHNOLOGY? @hpoom
We use... @hpoom express web application framework for node
Yesterday’s Standard SOAP XML Today’s Standard REST JSON Keep it
simple! @hpoom
@hpoom
Language does not matter @hpoom
WHERE TO START? @hpoom
What do you hate? @hpoom
Where are you going? @hpoom
Which public APIs could you consume? @hpoom
Who needs access? @hpoom
Good docs @hpoom Pusher Blog - http://bit.ly/devapidocs
TAKE AWAYS @hpoom
Consume your own APIs @hpoom uses to build Source Zach
Holman - http://bit.ly/githubdogfood uses to build
@hpoom “You wouldn't really think that an online bookstore needs
to be an extensible, programmable platform. Would you?” Steve Yegge Source Steve Yegge - http://bit.ly/yegge
The future of web apps is Unified APIs @hpoom
Thanks http://bit.ly/unifiedapi @hpoom We’re hiring - http://bit.ly/hx-sb twitter + github
Simon Wood