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
180
0
Share
Data: online and off
Phil Nash
September 21, 2015
More Decks by Phil Nash
See All by Phil Nash
Four steps from JavaScript to TypeScript
philnash
3
560
JavaScript Apps Go Intl - GIDS Live 2021
philnash
2
370
You're on Mute! WebRTC and our Lives on Screen - GIDS Live 2021
philnash
1
380
Better API DX with a CLI - APIdays Jakarta
philnash
0
450
The trouble with webhooks - at Apidays Live Hong Kong
philnash
2
280
Four steps from JavaScript to TypeScript
philnash
0
480
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
The trouble with webhooks - at APIdays Singapore
philnash
0
410
What's going on with Project Fugu? at DevTalks Reimagined
philnash
0
620
Other Decks in Programming
See All in Programming
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
170
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
0
240
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
160
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
0
200
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.8k
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
100
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
3.2k
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
120
cloudnative conference 2026 flyle
azihsoyn
1
190
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
370
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
620
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
360
How to make the Groovebox
asonas
2
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Abbi's Birthday
coloredviolet
2
7.6k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
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