SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Offline Mode
Web	Applications	for	Offline	Use
@pleckey	|	http://pleckey.me
Who is this guy?
Patrick	Leckey
Director	of	Engineering
In-Touch	Insight	Systems	Inc.
http://www.intouchinsight.com
Online is easy
Offline is ... easy?
But what if ...
... you're not guaranteed to
have connectivity the whole
way ...
What we have now ...
LocalStorage
window.localStorage
ApplicationCache
window.applicationCache
Chrome:	4+,	Firefox:	3.5+,	Safari:	4+
Mobile	Safari:	3.2+,	Android	Browser:	2.1+
IE:	10+
LocalStorage
simple
straightforward
rather	limited
ApplicationCache
complex
confusing
powerful
LocalStorage
...	it's	basically	a	shelf	...
Put	stuff	on	the	shelf
Take	stuff	off	the	shelf
Can	only	hold	so	much	stuff
LocalStorage
Similar	to	Cookies
...	but	not	transmitted	on	each	request
Send	what	you	want,	when	you	want!
LocalStorage
Key	/	Value	pairs
Limited	storage	size
Same	Origin	Policy!
http://pleckey.me	!=	https://www.pleckey.me
LocalStorage
5	MB	limit
As	JavaScript	strings	...
1.2345678
4	byte	float?		9	bytes	of	characters?
Nope!
18-byte	UTF-16	string
LocalStorage
window.localStorage.getItem(	'foo'	);	//	null
window.localStorage.setItem(	'foo',	'bar'	);
window.localStorage.getItem(	'foo'	);		//	"bar"
window.localStorage.length;	//	1
JSON.stringify(	window.localStorage	);	//	{"foo":	"bar"}
window.localStorage.removeItem(	'foo'	);	//	does	nothing	if	key	doesn't	exist
window.localStorage.clear();	//	remove	ALL	items
LocalStorage
What happens when the shelf is full?
try	{
				window.localStorage.setItem(	'foo',	really_big_thing	);
}	catch	(	e	/*	DOMException	*/	)	{	
				if	(	e.name	==	'QuotaExceededError'	)
								//	Chrome,	Safari,	IE
				else	if	(	e.name	==	'NS_ERROR_DOM_QUOTA_REACHED'	)
								//	Firefox
}
LocalStorage
Good	Ideas
application	state
user	information
	
Bad	Ideas
base64-encoded	images
postal	code	lookup	database
ApplicationCache
...	is	basically	a	...	uh	...	cache	...
Pre-cache	resources
Access	resources	offline
Fallback	to	alternates	for	dynamic	resources
ApplicationCache
No	storage	limit
Event-driven	API	
Cache	is	based	on	manifest	URL
ApplicationCache
	<html	manifest="/cache.manifest">
mime	type	must	be	text/cache-manifest
cache.manifest
CACHE
NETWORK
FALLBACK
cache.manifest
CACHE
CACHE	MANIFEST
#	Version:	8cf54be2
CACHE:
/favicon.png
/logo.png
/site/page2.html
explicitly	cached	resources
cache.manifest
NETWORK
CACHE	MANIFEST
#	Version:	8cf54be2
CACHE:
/favicon.png
...
NETWORK:
*
resources	that	require	the	user	to	be	online
usually	just	"*"
cache.manifest
FALLBACK
CACHE	MANIFEST
#	Version:	8cf54be2
CACHE:
/favicon.png
/static.html
NETWORK:
*
FALLBACK:
/dynamic.php	/static.html
resource	to	load	if	requested	resource	not	available	offline
ApplicationCache
cached	items	are	always	served	from	the	application	cache
the	application	cache	will	not	update	unless	the	cache
manifest	file	content	changes
ApplicationCache
CACHE	MANIFEST
#	Version:	8cf54be2
CACHE:
/script.js
NETWORK:
*
text	content	has	to	be	changed
Pretty Simple, right?
...	and	you	thought	it'd	be	that	easy	...
Oops #1
Non-cached	resources	don't	exist.
Even	when	you're	online.
NETWORK:
*
Oops #2
The	application	cache	works	with	the	browser	cache.
Sort	of.
Cache-Control:	max-age=9999999999
Oops #3
Caching	the	cache	manifest.
It'll	never	update.
Cache-Control:	no-cache,	no-store
Clearing the ApplicationCache
HTTP/1.0	410	Gone
ApplicationCache Events
window.applicationCache.addEventListener(	...	);
/**
	*	'checking'	-	browser	is	checking	for	an	update	(always	first)
	*
	*	'cached'	-	fired	after	first	download	of	a	new	cache	manifest
	*
	*	'downloading'	-	new	/	updated	resources	found,	browser	is	fetching
	*
	*	'error'	-	manifest	returned	404	or	a	download	failed
	*
	*	'noupdate'	-	cache	manifest	has	not	changed
	*
	*	'obsolete'	-	manifest	returned	410,	cache	deleted
	*
	*	'progress'	-	X	of	Y	manifest	resources	downloaded
	*
	*	'updateready'	-	all	updates	downloaded
	*/
ApplicationCache API
window.applicationCache.addEventListener(	'updateready',	function(	e	)	{
				alert(	'New	version	downloaded.		Application	will	now	reload.'	);
				window.location.reload();
}	);
window.applicationCache.update();
ApplicationCache API
window.applicationCache.addEventListener(	'updateready',	function(	e	)	{
				alert(	'New	version	downloaded.		Application	will	now	reload.'	);
				window.applicationCache.swapCache();
}	);
window.applicationCache.update();
iframe is your friend
<!--	iframe_js.html	-->
<html>
<script	type="application/javascript">
store	large	lookup	data	in	iframes
iframe is your friend
<!--	index.html	-->
<html	manifest="/cache.manifest">
<iframe	src="iframe_js.html"	width="0"	height="0"	border	="0"/>
</html>
CACHE	MANIFEST
#	Version:	1
CACHE:
/iframe_js.html
NETWORK:
*
include	lookup	data	in	cache	manifest
load	via	iframe	(same	origin)
iframe is your friend
//	index.html	console
>	window.awesome_data
			Object	{con:	"foo",	bar:	"baz"}
var	appCache	=	window.applicationCache;
if	(	appCache.status	!=	appCache.status.CACHED	)	{
				//	not	cached	yet,	do	an	AJAX	lookup
}	else	{
				return	window.awesome_data.con;	//	"foo"
}
Single Page Applications
pre-cache	static	resources	(speed!)
Native(ish) Web App
<meta	name="apple-mobile-web-app-capable"	content="yes"/>
<meta	name="mobile-web-app-capable"	content="yes"/>
runs	full	screen
built-in	software	updates
queue	data	for	submission	later
What Else Can I Do With This?
Come	work	for	us!
Software	Developer
User	Experience
Data	Scientist
Thank you!
Questions?
@pleckey	|	http://pleckey.com

Contenu connexe

En vedette

ECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
ECMA5 approach to building JavaScript frameworks with Anzor BashkhazECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
ECMA5 approach to building JavaScript frameworks with Anzor BashkhazFITC
 
Zepto and the rise of the JavaScript Micro-Frameworks
Zepto and the rise of the JavaScript Micro-FrameworksZepto and the rise of the JavaScript Micro-Frameworks
Zepto and the rise of the JavaScript Micro-FrameworksThomas Fuchs
 
Javascript Framework Acessibiliity Review
Javascript Framework Acessibiliity ReviewJavascript Framework Acessibiliity Review
Javascript Framework Acessibiliity ReviewAimee Maree Forsstrom
 
Metaprogramming JavaScript
Metaprogramming  JavaScriptMetaprogramming  JavaScript
Metaprogramming JavaScriptdanwrong
 
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...Sprawny Marketing by MaxROY.com
 
Creating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquaredCreating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquaredLeadSquared
 
WebApps e Frameworks Javascript
WebApps e Frameworks JavascriptWebApps e Frameworks Javascript
WebApps e Frameworks Javascriptmeet2Brains
 
50 Landing Page Best Practices
50 Landing Page Best Practices50 Landing Page Best Practices
50 Landing Page Best Practicesion interactive
 
Unobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQueryUnobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQuerySimon Willison
 
Writing Efficient JavaScript
Writing Efficient JavaScriptWriting Efficient JavaScript
Writing Efficient JavaScriptNicholas Zakas
 

En vedette (11)

ECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
ECMA5 approach to building JavaScript frameworks with Anzor BashkhazECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
ECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
 
Zepto and the rise of the JavaScript Micro-Frameworks
Zepto and the rise of the JavaScript Micro-FrameworksZepto and the rise of the JavaScript Micro-Frameworks
Zepto and the rise of the JavaScript Micro-Frameworks
 
Javascript Framework Acessibiliity Review
Javascript Framework Acessibiliity ReviewJavascript Framework Acessibiliity Review
Javascript Framework Acessibiliity Review
 
Create a landing page
Create a landing pageCreate a landing page
Create a landing page
 
Metaprogramming JavaScript
Metaprogramming  JavaScriptMetaprogramming  JavaScript
Metaprogramming JavaScript
 
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
 
Creating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquaredCreating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquared
 
WebApps e Frameworks Javascript
WebApps e Frameworks JavascriptWebApps e Frameworks Javascript
WebApps e Frameworks Javascript
 
50 Landing Page Best Practices
50 Landing Page Best Practices50 Landing Page Best Practices
50 Landing Page Best Practices
 
Unobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQueryUnobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQuery
 
Writing Efficient JavaScript
Writing Efficient JavaScriptWriting Efficient JavaScript
Writing Efficient JavaScript
 

Similaire à Offline Mode - Web Applications Offline

Iot Security: Smart... or haunted home?
Iot Security: Smart... or haunted home?Iot Security: Smart... or haunted home?
Iot Security: Smart... or haunted home?NaLUG
 
SWFObject 2: The fine art of embedding Adobe Flash Player content
SWFObject 2: The fine art of embedding Adobe Flash Player contentSWFObject 2: The fine art of embedding Adobe Flash Player content
SWFObject 2: The fine art of embedding Adobe Flash Player contentBobby van der Sluis
 
CocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best PracticesCocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best PracticesMutual Mobile
 
HTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutionsHTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutionsChristian Heilmann
 
Browser Horror Stories
Browser Horror StoriesBrowser Horror Stories
Browser Horror StoriesEC-Council
 
A Brave New World
A Brave New WorldA Brave New World
A Brave New WorldSensePost
 
A tale of two proxies
A tale of two proxiesA tale of two proxies
A tale of two proxiesSensePost
 
Sensepost assessment automation
Sensepost assessment automationSensepost assessment automation
Sensepost assessment automationSensePost
 
Ransomware - what is it, how to protect against it
Ransomware - what is it, how to protect against itRansomware - what is it, how to protect against it
Ransomware - what is it, how to protect against itZoltan Balazs
 
Info sec is not daunting v1.0
Info sec is not daunting v1.0 Info sec is not daunting v1.0
Info sec is not daunting v1.0 Michael Gough
 
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...Sandro Pereira
 
XSS Without Browser
XSS Without BrowserXSS Without Browser
XSS Without Browserkosborn
 
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Wan Leung Wong
 
Sept 2014 cloud security presentation
Sept 2014   cloud security presentationSept 2014   cloud security presentation
Sept 2014 cloud security presentationJoan Dembowski
 

Similaire à Offline Mode - Web Applications Offline (20)

Iot Security: Smart... or haunted home?
Iot Security: Smart... or haunted home?Iot Security: Smart... or haunted home?
Iot Security: Smart... or haunted home?
 
SWFObject 2: The fine art of embedding Adobe Flash Player content
SWFObject 2: The fine art of embedding Adobe Flash Player contentSWFObject 2: The fine art of embedding Adobe Flash Player content
SWFObject 2: The fine art of embedding Adobe Flash Player content
 
CocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best PracticesCocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best Practices
 
HTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutionsHTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutions
 
Browser Horror Stories
Browser Horror StoriesBrowser Horror Stories
Browser Horror Stories
 
Nokia symbian theme Maker
Nokia symbian theme Maker Nokia symbian theme Maker
Nokia symbian theme Maker
 
[002568]
[002568][002568]
[002568]
 
A Brave New World
A Brave New WorldA Brave New World
A Brave New World
 
The Cloud
The CloudThe Cloud
The Cloud
 
A tale of two proxies
A tale of two proxiesA tale of two proxies
A tale of two proxies
 
Sensepost assessment automation
Sensepost assessment automationSensepost assessment automation
Sensepost assessment automation
 
Confidence web
Confidence webConfidence web
Confidence web
 
Ransomware - what is it, how to protect against it
Ransomware - what is it, how to protect against itRansomware - what is it, how to protect against it
Ransomware - what is it, how to protect against it
 
Info sec is not daunting v1.0
Info sec is not daunting v1.0 Info sec is not daunting v1.0
Info sec is not daunting v1.0
 
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
 
XSS Without Browser
XSS Without BrowserXSS Without Browser
XSS Without Browser
 
TxJS 2011
TxJS 2011TxJS 2011
TxJS 2011
 
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
 
Keep Your SIte Secure
Keep Your SIte SecureKeep Your SIte Secure
Keep Your SIte Secure
 
Sept 2014 cloud security presentation
Sept 2014   cloud security presentationSept 2014   cloud security presentation
Sept 2014 cloud security presentation
 

Dernier

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Dernier (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Offline Mode - Web Applications Offline