SlideShare a Scribd company logo
Challenges of Offline Work in
Mobile Applications
Vasiliy	Zukanov
Freelancer,	blogger,	online	Android	instructor
www.TechYourChance.com
What’s	the	problem?
State	of	3G	or	better	availability
It’s	more	than	just	geographic	gaps	in	coverage:
Elevators,	subways,	planes,	etc.
Localized	network	failures
Temporary	network	failures
Wi-Fi	networks	with	captive	portals
...
Users	constantly	at	risk	of	losing	connectivity
Connectivity	loss	consequences
Invalid	state	(e.g.	infinite	progress	indication)
Crash
Silent	failure
Graceful	failure	with	user	notification
Offline	work
Offline	work
Deliver	value	to	users	while	not	connected	to	internet
Trivial	in	applications	that	don’t	actually	require	internet
CAP	theorem*
CAP	theorem	– only	two	out	of	three	can	be	guaranteed
Consistency:	the	mobile	app	either	reflects	the	latest	state	of	the	entire	
system,	or	indicates	error	state
Availability:	user	gets	value	from	the	mobile	app
Partition	tolerance:	mobile	app	reaches	backend	over	unreliable	
network
constraint	when	offline
Without	internet	connectivity,	application	can	
be	either	consistent,	or	available
Consistency	vs.	availability	trade-off	upon	connectivity	loss
Consistency Availability
Graceful	failure	with	
user	notification
Offline	work
?
Choice:
Implication:
Example:
Offline	work	=	compromising	consistency
Technical	risk
Business	risk
Offline	puzzler:	are	these	business	flows	suitable	for	offline	work?
View	photo	album	images
Read	journal	articles
Get	weather	forecast
Send	email
Trade	at	stock	exchange
Report	emergency
✓
✓
✓
✓
✗
✗
✗
✗
You	can	make	different	consistency	vs.	
availability	trade-offs	for	different	flows	in	the	
same	application!
offline
online
Downstream	offline	work
time
user	asks	for	data
network	request
network	response
user	gets	data	from	
network
store	data	locally
user	asks	for	data
get	data	from	local	storeuser	gets	data	from	
local	store
mobile	app	can	
become	
inconsistent
Downstream	offline	work	=	mirroring	server	
state	to	local	store
online
offline
Upstream	offline	work
time
user	performs	action
store	action’s	details	in	
local	store
user	gets	data	with	
action’s	side	effects
server	becomes	
inconsistent
sync	user’s	actions
sync	result
user	asks	for	data
Upstream	offline	work	=	storing	state	changes	
locally	and	syncing	to	server	later
potentially	
inconsistent
Upstream	offline	work;	inconsistency	scope
goes	offline	and	user	
changes	state
Full	offline	work	=	downstream	+	upstream
Is	full	offline	work	hard	to	implement?
“Good	news,	everyone!	The	Trello	mobile	
apps	now	work	offline!	[…]	For	the	past	
year	and	a	half,	we’ve	been	working	hard	
to	enable	offline	mode.	[…]”
- Dan Lew, Airplane Mode: EnablingTrello Mobile Offline
Does	my	application	need	to	work	offline?
It	depends…
Offline	work	considerations
Is	there	real	business	case	for	offline	work?
Do	you	have	resources	for	implementation	of	downstream	offline	support?
Do	you	have	resources	for	implementation	of	upstream	offline	support?
Do	you	have	buy-in	for	implementation	of	upstream	offline	support	from	
other	teams?
Perform	return	on	investment	(ROI)	analysis!
Helpful	resources
Dan	Lew;	Airplane	Mode:	Enabling	Trello	Mobile	Offline;	Tech	At	Trello
Event	sourcing
My	advanced	Android	development	courses	(links	on	my	blog):
Dependency	Injection	in	Android	with	Dagger	2
Android	Unit	Testing	and	Test	Driven	Development
Android	Applications	Architecture
www.TechYourChance.com
Questions
Thank	you!

More Related Content

Similar to Challenges of Offline Work in Mobile Applications

Bank One App Sec Training
Bank One App Sec TrainingBank One App Sec Training
Bank One App Sec Training
Mike Spaulding
 
Covert communication in mobile applications
Covert communication in mobile applicationsCovert communication in mobile applications
Covert communication in mobile applications
Andrey Apuhtin
 
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
Bitbar
 
Experitest & Hexaware Co-Webinar
Experitest & Hexaware Co-WebinarExperitest & Hexaware Co-Webinar
Experitest & Hexaware Co-Webinar
Experitest
 
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Jeffrey Gardner CMgr FCMI IEng MIET
 
The New Network
The New NetworkThe New Network
The New Network
F5 Networks
 
6620handout5t
6620handout5t6620handout5t
6620handout5t
Shahbaz Sidhu
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
Webx
 
5 Conditions to be Added to Your Mobile App Testing Checklist
5 Conditions to be Added to Your Mobile App Testing Checklist5 Conditions to be Added to Your Mobile App Testing Checklist
5 Conditions to be Added to Your Mobile App Testing Checklist
Impressico Business Solutions
 
mumble: Framework for Seamless Message Transfer on Smartphones
mumble: Framework for Seamless Message Transfer on Smartphonesmumble: Framework for Seamless Message Transfer on Smartphones
mumble: Framework for Seamless Message Transfer on Smartphones
Anand Bhojan
 
Next Generation Networks for Contactless and Mobile Ticketing
Next Generation Networks for Contactless and Mobile TicketingNext Generation Networks for Contactless and Mobile Ticketing
Next Generation Networks for Contactless and Mobile Ticketing
Fujitsu Network Communications
 
Welcome To The Mobile World
Welcome To The Mobile WorldWelcome To The Mobile World
Welcome To The Mobile World
Frank La Vigne
 
ON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDS
ON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDSON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDS
ON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDS
ijgca
 
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
Matteo Ferroni
 
PACE-IT: Common WAN Components and Issues
PACE-IT: Common WAN Components and IssuesPACE-IT: Common WAN Components and Issues
PACE-IT: Common WAN Components and Issues
Pace IT at Edmonds Community College
 
Pervasive Computing: Vision and Challenges
Pervasive Computing: Vision and ChallengesPervasive Computing: Vision and Challenges
Pervasive Computing: Vision and Challenges
Raquel Salcedo Gomes
 
Networking java titles Adrit Solution
Networking java titles Adrit SolutionNetworking java titles Adrit Solution
Networking java titles Adrit Solution
Adrit Techno Solutions
 
BBA 3331, Introduction to E-commerce 1 Course Learnin.docx
 BBA 3331, Introduction to E-commerce 1 Course Learnin.docx BBA 3331, Introduction to E-commerce 1 Course Learnin.docx
BBA 3331, Introduction to E-commerce 1 Course Learnin.docx
aryan532920
 
PACE-IT: Troubleshooting Wireless Networks (part 1)
PACE-IT: Troubleshooting Wireless Networks (part 1)PACE-IT: Troubleshooting Wireless Networks (part 1)
PACE-IT: Troubleshooting Wireless Networks (part 1)
Pace IT at Edmonds Community College
 
Maximizing your vas services with mobile marketing
Maximizing your vas services with mobile marketing Maximizing your vas services with mobile marketing
Maximizing your vas services with mobile marketing
BSP Media Group
 

Similar to Challenges of Offline Work in Mobile Applications (20)

Bank One App Sec Training
Bank One App Sec TrainingBank One App Sec Training
Bank One App Sec Training
 
Covert communication in mobile applications
Covert communication in mobile applicationsCovert communication in mobile applications
Covert communication in mobile applications
 
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
 
Experitest & Hexaware Co-Webinar
Experitest & Hexaware Co-WebinarExperitest & Hexaware Co-Webinar
Experitest & Hexaware Co-Webinar
 
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
 
The New Network
The New NetworkThe New Network
The New Network
 
6620handout5t
6620handout5t6620handout5t
6620handout5t
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 
5 Conditions to be Added to Your Mobile App Testing Checklist
5 Conditions to be Added to Your Mobile App Testing Checklist5 Conditions to be Added to Your Mobile App Testing Checklist
5 Conditions to be Added to Your Mobile App Testing Checklist
 
mumble: Framework for Seamless Message Transfer on Smartphones
mumble: Framework for Seamless Message Transfer on Smartphonesmumble: Framework for Seamless Message Transfer on Smartphones
mumble: Framework for Seamless Message Transfer on Smartphones
 
Next Generation Networks for Contactless and Mobile Ticketing
Next Generation Networks for Contactless and Mobile TicketingNext Generation Networks for Contactless and Mobile Ticketing
Next Generation Networks for Contactless and Mobile Ticketing
 
Welcome To The Mobile World
Welcome To The Mobile WorldWelcome To The Mobile World
Welcome To The Mobile World
 
ON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDS
ON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDSON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDS
ON FAULT TOLERANCE OF RESOURCES IN COMPUTATIONAL GRIDS
 
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
 
PACE-IT: Common WAN Components and Issues
PACE-IT: Common WAN Components and IssuesPACE-IT: Common WAN Components and Issues
PACE-IT: Common WAN Components and Issues
 
Pervasive Computing: Vision and Challenges
Pervasive Computing: Vision and ChallengesPervasive Computing: Vision and Challenges
Pervasive Computing: Vision and Challenges
 
Networking java titles Adrit Solution
Networking java titles Adrit SolutionNetworking java titles Adrit Solution
Networking java titles Adrit Solution
 
BBA 3331, Introduction to E-commerce 1 Course Learnin.docx
 BBA 3331, Introduction to E-commerce 1 Course Learnin.docx BBA 3331, Introduction to E-commerce 1 Course Learnin.docx
BBA 3331, Introduction to E-commerce 1 Course Learnin.docx
 
PACE-IT: Troubleshooting Wireless Networks (part 1)
PACE-IT: Troubleshooting Wireless Networks (part 1)PACE-IT: Troubleshooting Wireless Networks (part 1)
PACE-IT: Troubleshooting Wireless Networks (part 1)
 
Maximizing your vas services with mobile marketing
Maximizing your vas services with mobile marketing Maximizing your vas services with mobile marketing
Maximizing your vas services with mobile marketing
 

Recently uploaded

cyber crime.pptx..........................
cyber crime.pptx..........................cyber crime.pptx..........................
cyber crime.pptx..........................
GNAMBIKARAO
 
How to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdfHow to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdf
Infosec train
 
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
APNIC
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
3a0sd7z3
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
rtunex8r
 
Bengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal BrandingBengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal Branding
Tarandeep Singh
 
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
APNIC
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
3a0sd7z3
 
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
thezot
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
Donato Onofri
 
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
dtagbe
 

Recently uploaded (11)

cyber crime.pptx..........................
cyber crime.pptx..........................cyber crime.pptx..........................
cyber crime.pptx..........................
 
How to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdfHow to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdf
 
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
 
Bengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal BrandingBengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal Branding
 
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
 
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
 
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
 

Challenges of Offline Work in Mobile Applications