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
Cloud sync APIs for mobile developers
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Leah Culver
May 06, 2014
Programming
0
230
Cloud sync APIs for mobile developers
APIDays Berlin, May 6, 2014
http://berlin.apidays.io/
Leah Culver
May 06, 2014
Tweet
Share
More Decks by Leah Culver
See All by Leah Culver
Writing stable iOS applications
leah
2
240
Idea to launch - the start of a startup
leah
1
100
Say “yes” to user feedback
leah
0
89
Intro to Dropbox APIs
leah
0
330
Working with web APIs in Swift
leah
0
130
Dropbox APIs for JavaScript developers
leah
3
1.3k
Cloud sync APIs for mobile developers
leah
1
160
App Data, Everywhere: Cross-Device Content Sharing
leah
2
760
Cloud Sync for App Developers
leah
1
120
Other Decks in Programming
See All in Programming
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
830
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
170
あなたはユーザーではない #PdENight
kajitack
4
290
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3k
atmaCup #23でAIコーディングを活用した話
ml_bear
4
720
Oxlint JS plugins
kazupon
1
1.2k
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
130
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
150
株式会社 Sun terras カンパニーデック
sunterras
0
1.9k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
280
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
Un-Boring Meetings
codingconduct
0
220
Evolving SEO for Evolving Search Engines
ryanjones
0
140
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Believing is Seeing
oripsolob
1
68
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
92
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
67
The Mindset for Success: Future Career Progression
greggifford
PRO
0
260
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
220
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
89
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
200
Transcript
Cloud sync APIs for mobile developers Leah Culver, Dropbox APIDays
Berlin 2014
Dropbox “Your [digital] stuff everywhere”
Wherever you are
Safe and secure
Share with friends
• Filesystem that just works • “The magic folder” Then
• Multi-device world • Mobile filesystem? Now
Dropbox APIs for mobile apps
Core API • REST-ish, OAuth 2.0, JSON • SDKs for
Android, iOS, OS X, Python, Ruby, Java, PHP • Community-supported libraries for C#, JavaScript, Perl, etc. HTTP API for files
• List files /metadata/<root>/<path> • Upload file /files_put/<root>/<path> • Get
a thumbnail /thumbnails/<root>/<path> • Share via a link /shares/<root>/<path> Core API
Core API is great. So what now?
• Cross-platform support • Sync across devices • Offline access
(bonus!) Mobile API challenges
Sync API
Sync API • Just like Core API • Filesystem for
mobile apps • Store and sync photos, videos, etc.
• iOS, Android, OSX • Handle offline caching and syncing
• Notifications of changes • Updates in real time Sync SDKs
Image Grid Sample
None
Image Grid Sample code iOS
Initialize the filesystem
Listen for changes
Display thumbnail
Great for files… but what about data?
Sync API file system-like interface Datastore API structured data Mobile
APIs
Datastore API • Storage for structured data • Like a
NoSQL database • Stored in the user’s Dropbox • Not files!
Store data in user’s own Dropbox ! • User owns
their data • Access to files/data outside your app • Free for developers
account→datastore→table→record→field→value Datastore API
Why not files? Monolithic → inefficient syncing Opaque → conflicts
Why not files? • Clearly defined structure • More efficient
syncing • Advanced conflict resolution
Similar to Sync SDKs … • iOS, Android, OSX, JavaScript,
Python • Handles offline caching and syncing • Notifications of changes • Updates in real time
Click the Box
None
Click the Box code JavaScript
level current_level 3 state table single record field value
Initialize datastore
Click listener
Listen for changes
Display level
Offline
None
• Local changes cached when offline • Syncs changes with
server when online • Automatically merge changes Offline / online syncing
• Conflicts resolved by the client • Handled by Dropbox
SDKs Conflict resolution
More… dropbox.com/developers/blog
github.com/dropbox opensource.dropbox.com
• Cross-platform SDKs • Both files and data • Users’
own Dropbox • Handles offline access, sync, and conflict resolution TL;DL
Questions? dropbox.com/developers
[email protected]
We’re hiring!
Photos http://www.flickr.com/photos/kky/704056791/ http://www.flickr.com/photos/eulothg/5906431611/ http://www.flickr.com/photos/tambako/2844515466/ http://www.flickr.com/photos/yourdon/10018150113/ http://www.flickr.com/photos/mager/2659619029/ http://www.flickr.com/photos/ben_grey/4582294721/ http://www.flickr.com/photos/adactio/12674602864/ http://www.flickr.com/photos/coofdy/11492948263/ http://www.flickr.com/photos/arts/42217172/
http://www.flickr.com/photos/drachmann/327122302/ http://www.flickr.com/photos/evergreenkamal/395448039/ http://www.flickr.com/photos/aliaholle/5888906660/ http://www.flickr.com/photos/vinothchandar/5148046888/ http://www.flickr.com/photos/shandilee/5062466679/ http://www.flickr.com/photos/swisscan/2514879116/ http://www.flickr.com/photos/yourdon/10018150113/