SlideShare ist ein Scribd-Unternehmen logo
1 von 60
When connection fails 
Going offline on mobile 
@basiafusinska 
basiafusinska.com 
barbarafusinska.com
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 OFFLINE 
LIKE AN ERROR…
DON’T SCARE 
THE USER…
COMMUNICATE…
DON’T LIE…
Atwood’s Law 
Any application that can be 
written in JavaScript, will 
eventually be written in 
JavaScript
HOW TO BUILD 
FULL 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 PATTERNS 
cache, deferred updating, local 
database sync
BACKGROUND 
CACHING
PROBLEMS
DEFERRED UPDATING
CACHED 
UPDATES
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? 
@basiafusinska 
barbarafusinska.com 
basiafusinska.com

Weitere ähnliche Inhalte

Was ist angesagt?

How to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcampHow to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcampQuentin Adam
 
Untangling the web week 2 - SEO
Untangling the web week 2 - SEOUntangling the web week 2 - SEO
Untangling the web week 2 - SEODerek Jacoby
 
API Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's PerspectiveAPI Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's PerspectiveNiall Roche
 
web, spa vs traditional - 2016
web, spa vs traditional - 2016web, spa vs traditional - 2016
web, spa vs traditional - 2016Yauheni Nikanovich
 
I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014Quentin Adam
 
Flask and Paramiko for Python VA
Flask and Paramiko for Python VAFlask and Paramiko for Python VA
Flask and Paramiko for Python VAEnrique Valenzuela
 
Using PHP to Create a Web Based Mobile Banner Application
Using PHP to Create a Web Based Mobile Banner ApplicationUsing PHP to Create a Web Based Mobile Banner Application
Using PHP to Create a Web Based Mobile Banner ApplicationJoe Casabona
 
The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...Quentin Adam
 
A Symphony of Lambdas with AWS Step Functions
A Symphony of Lambdas with AWS Step FunctionsA Symphony of Lambdas with AWS Step Functions
A Symphony of Lambdas with AWS Step FunctionsPaul Chin Jr.
 
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...Quentin Adam
 
Cloud computing presentation by Pinky
Cloud computing presentation by PinkyCloud computing presentation by Pinky
Cloud computing presentation by PinkyPinky Gupta
 
Y Pipes Mashup Camp
Y Pipes Mashup CampY Pipes Mashup Camp
Y Pipes Mashup CampJinho Jung
 

Was ist angesagt? (15)

How to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcampHow to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcamp
 
Autobahn primer
Autobahn primerAutobahn primer
Autobahn primer
 
Untangling the web week 2 - SEO
Untangling the web week 2 - SEOUntangling the web week 2 - SEO
Untangling the web week 2 - SEO
 
API Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's PerspectiveAPI Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's Perspective
 
web, spa vs traditional - 2016
web, spa vs traditional - 2016web, spa vs traditional - 2016
web, spa vs traditional - 2016
 
I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014
 
Flask and Paramiko for Python VA
Flask and Paramiko for Python VAFlask and Paramiko for Python VA
Flask and Paramiko for Python VA
 
Using PHP to Create a Web Based Mobile Banner Application
Using PHP to Create a Web Based Mobile Banner ApplicationUsing PHP to Create a Web Based Mobile Banner Application
Using PHP to Create a Web Based Mobile Banner Application
 
The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...
 
A Symphony of Lambdas with AWS Step Functions
A Symphony of Lambdas with AWS Step FunctionsA Symphony of Lambdas with AWS Step Functions
A Symphony of Lambdas with AWS Step Functions
 
Library in their pocket
Library in their pocketLibrary in their pocket
Library in their pocket
 
Working local
Working localWorking local
Working local
 
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
 
Cloud computing presentation by Pinky
Cloud computing presentation by PinkyCloud computing presentation by Pinky
Cloud computing presentation by Pinky
 
Y Pipes Mashup Camp
Y Pipes Mashup CampY Pipes Mashup Camp
Y Pipes Mashup Camp
 

Andere mochten auch

Predicting the Future as a Service with Azure ML and R
Predicting the Future as a Service with Azure ML and R Predicting the Future as a Service with Azure ML and R
Predicting the Future as a Service with Azure ML and R Barbara Fusinska
 
Hb networking 2014
Hb networking 2014Hb networking 2014
Hb networking 2014suzcarle
 
남동구 라선거구 최승원
남동구 라선거구 최승원남동구 라선거구 최승원
남동구 라선거구 최승원승원 최
 
Clip voor altijd in mijn hart
Clip voor altijd in mijn hartClip voor altijd in mijn hart
Clip voor altijd in mijn hartTrees van Dijk
 
Aldenmc capabilities 05-12-14-cc
Aldenmc capabilities 05-12-14-ccAldenmc capabilities 05-12-14-cc
Aldenmc capabilities 05-12-14-ccaldenmarcom
 
The Pub Digital Press Kit
The Pub Digital Press KitThe Pub Digital Press Kit
The Pub Digital Press KitTRG2014
 
5. arteria carotida int.
5. arteria carotida int.5. arteria carotida int.
5. arteria carotida int.anatogral
 
How aspects clean your code
How aspects clean your codeHow aspects clean your code
How aspects clean your codeBarbara Fusinska
 
4. arteria carotida externa
4. arteria carotida externa4. arteria carotida externa
4. arteria carotida externaanatogral
 
新規 Microsoft power point presentation
新規 Microsoft power point presentation新規 Microsoft power point presentation
新規 Microsoft power point presentationAkira Sawada
 
Sveriges politiska partier
Sveriges politiska partierSveriges politiska partier
Sveriges politiska partierMikael Lärare
 
Nft Distribution Holdings interview questions and answers
Nft Distribution Holdings interview questions and answersNft Distribution Holdings interview questions and answers
Nft Distribution Holdings interview questions and answersmayanevaeh121
 
Getting started with R when analysing GitHub commits
Getting started with R when analysing GitHub commitsGetting started with R when analysing GitHub commits
Getting started with R when analysing GitHub commitsBarbara Fusinska
 
Go Green Go Cozmo (Jordan)
Go Green Go Cozmo (Jordan) Go Green Go Cozmo (Jordan)
Go Green Go Cozmo (Jordan) Amanda Haddad
 
Norland Managed Services interview questions and answers
Norland Managed Services interview questions and answersNorland Managed Services interview questions and answers
Norland Managed Services interview questions and answersmayanevaeh121
 
Group 13 Fracking and Silica Dust Exposure
Group 13  Fracking and Silica Dust ExposureGroup 13  Fracking and Silica Dust Exposure
Group 13 Fracking and Silica Dust ExposureAndres Guerrero
 

Andere mochten auch (20)

Predicting the Future as a Service with Azure ML and R
Predicting the Future as a Service with Azure ML and R Predicting the Future as a Service with Azure ML and R
Predicting the Future as a Service with Azure ML and R
 
Hb networking 2014
Hb networking 2014Hb networking 2014
Hb networking 2014
 
남동구 라선거구 최승원
남동구 라선거구 최승원남동구 라선거구 최승원
남동구 라선거구 최승원
 
Clip voor altijd in mijn hart
Clip voor altijd in mijn hartClip voor altijd in mijn hart
Clip voor altijd in mijn hart
 
Aldenmc capabilities 05-12-14-cc
Aldenmc capabilities 05-12-14-ccAldenmc capabilities 05-12-14-cc
Aldenmc capabilities 05-12-14-cc
 
The Pub Digital Press Kit
The Pub Digital Press KitThe Pub Digital Press Kit
The Pub Digital Press Kit
 
When the connection fails
When the connection failsWhen the connection fails
When the connection fails
 
Heart buddy
Heart buddyHeart buddy
Heart buddy
 
5. arteria carotida int.
5. arteria carotida int.5. arteria carotida int.
5. arteria carotida int.
 
How aspects clean your code
How aspects clean your codeHow aspects clean your code
How aspects clean your code
 
4. arteria carotida externa
4. arteria carotida externa4. arteria carotida externa
4. arteria carotida externa
 
新規 Microsoft power point presentation
新規 Microsoft power point presentation新規 Microsoft power point presentation
新規 Microsoft power point presentation
 
Heart buddy
Heart buddyHeart buddy
Heart buddy
 
Sveriges politiska partier
Sveriges politiska partierSveriges politiska partier
Sveriges politiska partier
 
Nft Distribution Holdings interview questions and answers
Nft Distribution Holdings interview questions and answersNft Distribution Holdings interview questions and answers
Nft Distribution Holdings interview questions and answers
 
Getting started with R when analysing GitHub commits
Getting started with R when analysing GitHub commitsGetting started with R when analysing GitHub commits
Getting started with R when analysing GitHub commits
 
Go Green Go Cozmo (Jordan)
Go Green Go Cozmo (Jordan) Go Green Go Cozmo (Jordan)
Go Green Go Cozmo (Jordan)
 
Norland Managed Services interview questions and answers
Norland Managed Services interview questions and answersNorland Managed Services interview questions and answers
Norland Managed Services interview questions and answers
 
Group 13 Fracking and Silica Dust Exposure
Group 13  Fracking and Silica Dust ExposureGroup 13  Fracking and Silica Dust Exposure
Group 13 Fracking and Silica Dust Exposure
 
Ekologiska fotavtryck
Ekologiska fotavtryckEkologiska fotavtryck
Ekologiska fotavtryck
 

Ähnlich wie When the connection fails

Choosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for DevelopmentChoosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for DevelopmentEdward Apostol
 
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Quentin Adam
 
Delivering Mobile Apps That Perform
Delivering Mobile Apps That PerformDelivering Mobile Apps That Perform
Delivering Mobile Apps That PerformRuben Goncalves
 
Zabbix 3.0 and beyond - FISL 2015
Zabbix 3.0 and beyond - FISL 2015Zabbix 3.0 and beyond - FISL 2015
Zabbix 3.0 and beyond - FISL 2015Zabbix
 
Immutability: from code to infrastructure, the way to scalability - Breizhca...
 Immutability: from code to infrastructure, the way to scalability - Breizhca... Immutability: from code to infrastructure, the way to scalability - Breizhca...
Immutability: from code to infrastructure, the way to scalability - Breizhca...Quentin Adam
 
Genji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelinesGenji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelinesSwami Sundaramurthy
 
Immutability: from code to infrastructure, the way to scalability - Voxxed Da...
Immutability: from code to infrastructure, the way to scalability - Voxxed Da...Immutability: from code to infrastructure, the way to scalability - Voxxed Da...
Immutability: from code to infrastructure, the way to scalability - Voxxed Da...Quentin Adam
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development HistoryBatista Harahap
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Future Insights
 
Being a Mac in a Windows World
Being a Mac in a Windows WorldBeing a Mac in a Windows World
Being a Mac in a Windows WorldBenjamin Kreeger
 
Microservices pros and cons dark
Microservices pros and cons darkMicroservices pros and cons dark
Microservices pros and cons darkAndrew Siemer
 
Accelerate Innovation with Databricks and Legacy Data
Accelerate Innovation with Databricks and Legacy DataAccelerate Innovation with Databricks and Legacy Data
Accelerate Innovation with Databricks and Legacy DataPrecisely
 
JanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTCJanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTCDan Jenkins
 
A year with progressive web apps! #webinale
A year with progressive web apps! #webinaleA year with progressive web apps! #webinale
A year with progressive web apps! #webinaleAntonio Peric-Mazar
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotchaphegaro
 
6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptxOmidRezaAbbasi1
 
Tech for the Non Technical - Anatomy of an Application Stack
Tech for the Non Technical - Anatomy of an Application StackTech for the Non Technical - Anatomy of an Application Stack
Tech for the Non Technical - Anatomy of an Application StackIntelligent_ly
 

Ähnlich wie When the connection fails (20)

Choosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for DevelopmentChoosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for Development
 
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
 
Delivering Mobile Apps That Perform
Delivering Mobile Apps That PerformDelivering Mobile Apps That Perform
Delivering Mobile Apps That Perform
 
Zabbix 3.0 and beyond - FISL 2015
Zabbix 3.0 and beyond - FISL 2015Zabbix 3.0 and beyond - FISL 2015
Zabbix 3.0 and beyond - FISL 2015
 
Immutability: from code to infrastructure, the way to scalability - Breizhca...
 Immutability: from code to infrastructure, the way to scalability - Breizhca... Immutability: from code to infrastructure, the way to scalability - Breizhca...
Immutability: from code to infrastructure, the way to scalability - Breizhca...
 
Genji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelinesGenji: Framework for building resilient near-realtime data pipelines
Genji: Framework for building resilient near-realtime data pipelines
 
Immutability: from code to infrastructure, the way to scalability - Voxxed Da...
Immutability: from code to infrastructure, the way to scalability - Voxxed Da...Immutability: from code to infrastructure, the way to scalability - Voxxed Da...
Immutability: from code to infrastructure, the way to scalability - Voxxed Da...
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)
 
Being a Mac in a Windows World
Being a Mac in a Windows WorldBeing a Mac in a Windows World
Being a Mac in a Windows World
 
Microservices pros and cons dark
Microservices pros and cons darkMicroservices pros and cons dark
Microservices pros and cons dark
 
Accelerate Innovation with Databricks and Legacy Data
Accelerate Innovation with Databricks and Legacy DataAccelerate Innovation with Databricks and Legacy Data
Accelerate Innovation with Databricks and Legacy Data
 
JanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTCJanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTC
 
A year with progressive web apps! #webinale
A year with progressive web apps! #webinaleA year with progressive web apps! #webinale
A year with progressive web apps! #webinale
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx
 
Tech for the Non Technical - Anatomy of an Application Stack
Tech for the Non Technical - Anatomy of an Application StackTech for the Non Technical - Anatomy of an Application Stack
Tech for the Non Technical - Anatomy of an Application Stack
 

Mehr von Barbara Fusinska

Hassle free, scalable, machine learning learning with Kubeflow
Hassle free, scalable, machine learning learning with KubeflowHassle free, scalable, machine learning learning with Kubeflow
Hassle free, scalable, machine learning learning with KubeflowBarbara Fusinska
 
Deep learning with TensorFlow
Deep learning with TensorFlowDeep learning with TensorFlow
Deep learning with TensorFlowBarbara Fusinska
 
Clean, Learn and Visualise data with R
Clean, Learn and Visualise data with RClean, Learn and Visualise data with R
Clean, Learn and Visualise data with RBarbara Fusinska
 
Using Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportUsing Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportBarbara Fusinska
 
Machine Learning with Azure
Machine Learning with AzureMachine Learning with Azure
Machine Learning with AzureBarbara Fusinska
 
Networks are like onions: Practical Deep Learning with TensorFlow
Networks are like onions: Practical Deep Learning with TensorFlowNetworks are like onions: Practical Deep Learning with TensorFlow
Networks are like onions: Practical Deep Learning with TensorFlowBarbara Fusinska
 
Using Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportUsing Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportBarbara Fusinska
 
Deep Learning with Microsoft Cognitive Toolkit
Deep Learning with Microsoft Cognitive ToolkitDeep Learning with Microsoft Cognitive Toolkit
Deep Learning with Microsoft Cognitive ToolkitBarbara Fusinska
 
Clean, Learn and Visualise data with R
Clean, Learn and Visualise data with RClean, Learn and Visualise data with R
Clean, Learn and Visualise data with RBarbara Fusinska
 
Using Machine Learning and Chatbots to handle 1st line technical support
Using Machine Learning and Chatbots to handle 1st line technical supportUsing Machine Learning and Chatbots to handle 1st line technical support
Using Machine Learning and Chatbots to handle 1st line technical supportBarbara Fusinska
 
V like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure MLV like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure MLBarbara Fusinska
 
A picture speaks a thousand words - Data Visualisation with R
A picture speaks a thousand words - Data Visualisation with RA picture speaks a thousand words - Data Visualisation with R
A picture speaks a thousand words - Data Visualisation with RBarbara Fusinska
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with RBarbara Fusinska
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with RBarbara Fusinska
 
Breaking the eggshell: From .NET to Node.js
Breaking the eggshell: From .NET to Node.jsBreaking the eggshell: From .NET to Node.js
Breaking the eggshell: From .NET to Node.jsBarbara Fusinska
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with RBarbara Fusinska
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with RBarbara Fusinska
 

Mehr von Barbara Fusinska (20)

Hassle free, scalable, machine learning learning with Kubeflow
Hassle free, scalable, machine learning learning with KubeflowHassle free, scalable, machine learning learning with Kubeflow
Hassle free, scalable, machine learning learning with Kubeflow
 
Machine Learning with R
Machine Learning with RMachine Learning with R
Machine Learning with R
 
Deep learning with TensorFlow
Deep learning with TensorFlowDeep learning with TensorFlow
Deep learning with TensorFlow
 
Clean, Learn and Visualise data with R
Clean, Learn and Visualise data with RClean, Learn and Visualise data with R
Clean, Learn and Visualise data with R
 
TensorFlow in 3 sentences
TensorFlow in 3 sentencesTensorFlow in 3 sentences
TensorFlow in 3 sentences
 
Using Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportUsing Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical Support
 
Machine Learning with Azure
Machine Learning with AzureMachine Learning with Azure
Machine Learning with Azure
 
Networks are like onions: Practical Deep Learning with TensorFlow
Networks are like onions: Practical Deep Learning with TensorFlowNetworks are like onions: Practical Deep Learning with TensorFlow
Networks are like onions: Practical Deep Learning with TensorFlow
 
Using Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportUsing Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical Support
 
Deep Learning with Microsoft Cognitive Toolkit
Deep Learning with Microsoft Cognitive ToolkitDeep Learning with Microsoft Cognitive Toolkit
Deep Learning with Microsoft Cognitive Toolkit
 
Machine Learning with R
Machine Learning with RMachine Learning with R
Machine Learning with R
 
Clean, Learn and Visualise data with R
Clean, Learn and Visualise data with RClean, Learn and Visualise data with R
Clean, Learn and Visualise data with R
 
Using Machine Learning and Chatbots to handle 1st line technical support
Using Machine Learning and Chatbots to handle 1st line technical supportUsing Machine Learning and Chatbots to handle 1st line technical support
Using Machine Learning and Chatbots to handle 1st line technical support
 
V like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure MLV like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure ML
 
A picture speaks a thousand words - Data Visualisation with R
A picture speaks a thousand words - Data Visualisation with RA picture speaks a thousand words - Data Visualisation with R
A picture speaks a thousand words - Data Visualisation with R
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with R
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with R
 
Breaking the eggshell: From .NET to Node.js
Breaking the eggshell: From .NET to Node.jsBreaking the eggshell: From .NET to Node.js
Breaking the eggshell: From .NET to Node.js
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with R
 
Analysing GitHub commits with R
Analysing GitHub commits with RAnalysing GitHub commits with R
Analysing GitHub commits with R
 

Kürzlich hochgeladen

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Kürzlich hochgeladen (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

When the connection fails

Hinweis der Redaktion

  1. Cookies, Local Storage, Local databases
  2. HTML 5
  3. How to Cache data? Twitter/Facebook – last posts/tweets, Background process -> local storage/database Strategies: - load fresh data, and when it fails take it from cache always load data from local storage/db
  4. Need of fresh data (seconds/minutes) – loading process can be to heavy, How to communicate age of the data to the user?
  5. Updates sent when online
  6. Calling extrenal services – proxy pattern Calling external service that uses time of the request internally
  7. We don’t always want to download the whole internet (fb/twitter) Better for apps that are ment to be used online – not data based, based of fresh data
  8. Need of local db Full copy (user/account context) of the server db Need of Data Sync
  9. Using external services (example: setting up new google callendar integration) Different DB (server, mobiles) – proper API, platform agnostic
  10. Data Sync is hard, expensive, difficult Suitable for apps when it makes sense to download all the data (crm system)
  11. Initial sync Paginated (we don’t want to kill out the device), retries User sepcific data/access rights
  12. Can also be paginated Timestamps
  13. When paginating – timestamp returned from the server can be used Server returns: New object that has shown up since that time Objects that were deleted (or we don’t have access right any more) Changed objects (whole object or specific attributes) When event driven approach – only new objects -> events
  14. Gathers data from last timestamp
  15. Cannot store all the devices timestamps Data driven approach: store Creation/Update/Delete datetimes Event driven approach: event timestamp
  16. Last sync timestamp Creation/update/delete datetime – not optimal Flags: IsNew, IsDirty, ToBeDeleted, separate table for deleted ids
  17. …analogy to merge & rebase Allowing clients/devices to decide? Created & updated -> NEW - NEW Created & deleted -> don’t sync or 2 requests - Not posted! Updated & deleted -> delete or 2 requests - Delete
  18. Local side: If new object in relation is replaced by existing one (form server) there are left overs in a database. They shoud be cleaned
  19. Regular vs. document/text data
  20. Options: Local changes Server changes Custom changes
  21. Auto merge (not really possible if we update whole object) Allowing user to merge