when the connection fails

60
When connection fails @basiafusinska basiafusinska.com barbarafusinska.com Going offline on mobile

Upload: barbara-fusinska

Post on 16-Jul-2015

211 views

Category:

Software


2 download

TRANSCRIPT

When connection fails

@basiafusinska

basiafusinska.com

barbarafusinska.com

Going offline on mobile

About me

@basiafusinska

basiafusinska.com

barbarafusinska.com

Agenda

• Why & when

• What

• How

– Data sync patterns

– Full offline experience

– Local data sync

– Conflicts

WHY DO WE EVEN NEED OFFLINE?

UX PATTERNS FOR OFFLINE APPS

DON’T LOSE LOCAL DATA…

DON’T TREAT OFFLINELIKE AN ERROR…

DON’T SCARETHE USER…

COMMUNICATE…

DON’T LIE…

Atwood’s Law

Any application that can be written in JavaScript, will eventually be written in

JavaScript

HOW TO BUILDFULL OFFLINE EXPERIENCE?

Cache

• Retrieving data from a new source

• Local copy

Local database

How much data do you need?

OFFLINE IS NOT A PROBLEM

OFFLINE PATTERNScache, deferred updating, local

database sync

BACKGROUNDCACHING

PROBLEMS

DEFERRED UPDATING

CACHEDUPDATES

PROBLEMS

PROS & CONSS

LOCAL DATABASE SYNC

FULL OFFLINE EXPERIENCE

VERSIONING & MIGRATION

PROBLEMS

DATA SYNC

Syncing technologies

http://grasmeyer.com/blog/2013/10/8/a-comparison-of-syncing-technologies

INCREMENTAL SYNC

GET /endpoint/{timestamp}

POST /enpoint {data}

HOW TO GATHER INCREMENTAL DATA?

SERVER SIDE

LOCAL SIDE

Sequential changes

Created & updated

Created & deleted

Updated & deleted

RELATIONS

RESOLVING RELATIONS

CONFLICTS

Sync new/created data

No conflicts

… unless relations

DELETE

UPDATES

Summary

• Full offline experience

• Data sync

• Conflict resolution

Questions?

@basiafusinskabarbarafusinska.combasiafusinska.com