Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Data Decay and the Illusion of the Present
Search
API Strategy & Practice Conference
October 24, 2013
Technology
0
120
Data Decay and the Illusion of the Present
By Dan Lynn @ API Strategy & Practice Conference
San Francisco, October 23-24-25, 2013
API Strategy & Practice Conference
October 24, 2013
Tweet
Share
More Decks by API Strategy & Practice Conference
See All by API Strategy & Practice Conference
APIStrat 2016 | The end of polling: why and how to transform a REST API into a Data Streaming API (Audrey Neveu)
apistrat
12
300
APIStrat 2016 | OpenAPI Trek: Beyond API Documentation (Arnaud Lauret)
apistrat
5
230
APIStrat 2016 | Flying Dreams: Real-Time Communication from the Edge of Space (Jonathan Barton, Neha Abrol)
apistrat
1
130
APIStrat 2016 | On-prem support? That was so 1982 (Charlie Ozinga)
apistrat
0
110
APIStrat 2016 | Effortless microservices in production with Kubernetes (Ken Wronkiewicz)
apistrat
0
150
Song by Tony Blank
apistrat
0
170
API Lifecycle Manager by Steve Fonseca
apistrat
2
240
APIs In The Enterprise: How Walgreens Formed It's Digital Business by Drew Schweinfurth
apistrat
1
370
Developers Are Difficult by Andrew Noonan
apistrat
0
130
Other Decks in Technology
See All in Technology
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
21
11k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
roppongirb_20250911
igaiga
1
240
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
エラーとアクセシビリティ
schktjm
1
1.3k
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
200
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
250
Language Update: Java
skrb
2
300
2025年になってもまだMySQLが好き
yoku0825
8
4.8k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Docker and Python
trallard
45
3.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Typedesign – Prime Four
hannesfritz
42
2.8k
Gamification - CAS2011
davidbonilla
81
5.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Designing for humans not robots
tammielis
253
25k
Transcript
Data Decay and the Illusion of the Present Dan Lynn
@danklynn
Keeps all your contacts in one place and keeps them
automatically up to date. Based in Denver, Colorado CTO & Co-Founder
[email protected]
@danklynn
Let’s talk about time.
None
The Past
http://wearcam.org/dundas-square/2004sep23/cement.jpg
The Future The Past The Present
Unless you’re a yogi, you probably can’t even perceive the
present.
http://applemagazine.com/wp-content/uploads/2012/12/ exc.jpeg
- Washington Post (September 24, 2013) “Traders may have gotten
last week’s Fed news 7 milliseconds early“
It’s just a question of how old. Data is always
old
How do APIs keep data fresh?
Polling • Simple • But can lead to complex scheduling
• Trades efficient use of resources for fresh data. GET /notifications?since=1382630675166
- Zapier “98.5% of polls are wasted”
Ping/Pull • XML-RPC • Facebook Realtime updates • Avoids scheduled
polling • Consumer must host an endpoint • Moderate latency (3 hops) • Complex
Push • Github service hooks • Content of change is
pushed • Payload can be diff or full resource • Consumer must host an endpoint • Lowest latency (1 hop)
We are moving towards a push-based API ecosystem
“Security is abnormally slow.” Flight Delays
“Dan Lynn changed his phone number” Contact Information
Dynamic Subscriptions POST /contacts/123/subscriptions { "url" : "https://.../updates?contactId=123" } 201
Created { "url" : "/contacts/123/subscriptions/a3b"}
Dynamic Subscriptions DELETE /contacts/123/subscriptions/a3b 200 OK
So which model is right for your API?
What’s the cost of acting on wrong data?
$100 per contact Source: SiriusDecisions If left untreated
Low time sensitivity? Polling is fine.
High time sensitivity? Go with push.
APIs are combating information asymmetry.
Thanks! @danklynn See Also: http://xmpp.org/extensions/xep-0060.html https://code.google.com/p/pubsubhubbub/ http://www.resthooks.org/