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: online and off
Search
Phil Nash
September 21, 2015
Programming
0
160
Data: online and off
Phil Nash
September 21, 2015
Tweet
Share
More Decks by Phil Nash
See All by Phil Nash
Four steps from JavaScript to TypeScript
philnash
3
490
JavaScript Apps Go Intl - GIDS Live 2021
philnash
2
310
You're on Mute! WebRTC and our Lives on Screen - GIDS Live 2021
philnash
1
320
Better API DX with a CLI - APIdays Jakarta
philnash
0
380
The trouble with webhooks - at Apidays Live Hong Kong
philnash
2
230
Four steps from JavaScript to TypeScript
philnash
0
430
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
The trouble with webhooks - at APIdays Singapore
philnash
0
330
What's going on with Project Fugu? at DevTalks Reimagined
philnash
0
520
Other Decks in Programming
See All in Programming
リアーキテクチャの現場で向き合う 既存サービスの読み解きと設計判断
ymiyamu
0
130
Storybookの情報をMCPサーバー化する
shota_tech
3
1.2k
AWS Summit Hong Kong 2025: Reinventing Programming - How AI Transforms Our Enterprise Coding Approach
dwchiang
0
140
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
220
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
14
6.4k
事業KPIを基に価値の解像度を上げる
nealle
0
120
Rubyの!メソッドをちゃんと理解する
alstrocrack
1
320
note の Elasticsearch 更新系を支える技術
tchov
9
3.6k
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
120
2025年のz-index設計を考える
tak_dcxi
12
4.7k
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
130
2025-04-25 GitHub Copilot Agent ライブデモ(スクリプト)
goataka
0
120
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
The Language of Interfaces
destraynor
158
25k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
610
GitHub's CSS Performance
jonrohan
1031
460k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing Experiences People Love
moore
142
24k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Transcript
DATA: ONLINE AND OFF
Phil Nash @philnash http:/ /philna.sh
[email protected]
DATA: ONLINE AND OFF
OFFLINE FIRST
Offline first An application that treats the network as an
enhancement
Not offline first • Graceful failure to network requests •
Just saving data client side
None
None
THINGS TO CONSIDER
ASSETS
SERVICE WORKER
None
USER DATA
None
DATA: ONLINE AND OFF
Data: online and off • Traditional application data storage •
Traditional vs offline first • Browser based data storage • Offline first and data
TRADITIONAL APPLICATION DATA STORAGE
GET / POST
Traditional application data storage 1. POST data to a server
2. Server stores data in a database 1. GET request for data 2. Server interprets request and delivers
OFFLINE?
TRADITIONAL VS OFFLINE FIRST
INTERACT LOCALLY
Interact locally • Save data locally • Retrieve data from
local cache
Interact locally • Crazy fast! • The network doesn't matter
THEN SYNC
Sync • People have multiple devices • Good as a
backup
Sync • Can be asychronous • Can be intentional •
Requires network
DATA STORAGE IN THE FRONT END
LOCALSTORAGE
LocalStorage • Simple key value store • Synchronous (slow)
WEBSQL
WEBSQL
INDEXEDDB
IndexedDB • Asynchronous • o_O
MAKING DATA OFFLINE FIRST
Making data offline first We need something that is: •
Easily distributed • Eventually consistent • Resolves conflicts • Web friendly
None
CouchDB Apache CouchDB™ is a database that uses JSON for
documents, JavaScript for MapReduce indexes, and regular HTTP for its API
None
PouchDB • CouchDB for the browser/Node • Wraps IndexedDB or
WebSQL • LocalStorage adapter available as a plugin
DEMO
Offline first • The time for offline first is now
• Distributing data like this requires a change of mindset • Not all application data needs to be stored this way
Help me! On a scale of 0 to 10, how
likely is it that you would recommend this talk to a friend or colleague? 0203 322 5761
Thanks! @philnash http:/ /philna.sh
[email protected]
On a scale of 0
to 10, how likely is it that you would recommend this talk to a friend or colleague? 0203 322 5761