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
Leah Culver
May 30, 2014
Programming
1
140
Cloud sync APIs for mobile developers
APIDays Mediterranea, Barcelona, May 30, 2014
http://mediterranea.apidays.io/
Leah Culver
May 30, 2014
Tweet
Share
More Decks by Leah Culver
See All by Leah Culver
Writing stable iOS applications
leah
2
210
Idea to launch - the start of a startup
leah
1
77
Say “yes” to user feedback
leah
0
57
Intro to Dropbox APIs
leah
0
300
Working with web APIs in Swift
leah
0
98
Dropbox APIs for JavaScript developers
leah
3
1.3k
Cloud sync APIs for mobile developers
leah
0
200
App Data, Everywhere: Cross-Device Content Sharing
leah
2
740
Cloud Sync for App Developers
leah
1
110
Other Decks in Programming
See All in Programming
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
12
4.4k
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
170
XP, Testing and ninja testing
m_seki
3
240
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.1k
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
110
効率的な開発手段として VRTを活用する
ishkawa
0
140
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
700
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.2k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
120
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
440
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
530
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
190
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Navigating Team Friction
lara
187
15k
Statistics for Hackers
jakevdp
799
220k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Docker and Python
trallard
44
3.5k
Scaling GitHub
holman
460
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Designing Experiences People Love
moore
142
24k
RailsConf 2023
tenderlove
30
1.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
970
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/