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
Cloud sync APIs for mobile developers
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Leah Culver
May 30, 2014
Programming
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud sync APIs for mobile developers
APIDays Mediterranea, Barcelona, May 30, 2014
http://mediterranea.apidays.io/
Leah Culver
May 30, 2014
More Decks by Leah Culver
See All by Leah Culver
Writing stable iOS applications
leah
2
260
Idea to launch - the start of a startup
leah
1
120
Say “yes” to user feedback
leah
0
110
Intro to Dropbox APIs
leah
0
400
Working with web APIs in Swift
leah
0
150
Dropbox APIs for JavaScript developers
leah
3
1.3k
Cloud sync APIs for mobile developers
leah
0
270
App Data, Everywhere: Cross-Device Content Sharing
leah
2
780
Cloud Sync for App Developers
leah
1
130
Other Decks in Programming
See All in Programming
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
Intent as Code
shoppingjaws
6
1k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
1k
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
350
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
150
Jetpack Compose メカニズム
skydoves
0
410
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
270
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
170
Go のフラットな パッケージに 「ファイル単位の private」を 〜Linter “declscope” を作った話〜
mpyw
0
310
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
380
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
560
Are APIs Still Relevant in the AI Era?
soyuka
0
210
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
4.9M
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
WCS-LA-2024
lcolladotor
0
830
Ethics towards AI in product and experience design
skipperchong
2
370
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Designing Powerful Visuals for Engaging Learning
tmiket
1
550
Navigating Team Friction
lara
192
16k
Leo the Paperboy
mayatellez
10
2.3k
Product Roadmaps are Hard
iamctodd
55
13k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
Cloud sync APIs for mobile developers Leah Culver, Dropbox APIDays
Mediterranea 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 (demo)
Sample code
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!
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
Store data in user’s own Dropbox ! • User owns
their data • Access to files/data outside your app • Free for developers
Dropbox 2048
None
2048 • JavaScript game (now mobile too) • High score
and game state saved via cookies • Very fun (and addictive!)
Dropbox 2048 • Save data in user’s Dropbox • Top
3 high scores • Current game state • Syncs between different browsers
None
pretty blue colors high scores
None
None
github.com/leah/2048 Code
Sync and Datastore API Version 3.0 • New datastore properties
• Named datastores • Batching file-system operations • Better error handling • And more…
Local datastores (preview feature)
• 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]
Photos http://www.flickr.com/photos/kky/704056791/ http://www.flickr.com/photos/eulothg/5906431611/ https://www.flickr.com/photos/povertybarn/5144441939 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/