SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
STARTING	AN
OPEN	SOURCE	PROJECT:
0	TO	100,000	USERS
AN	EX-MICROSOFTEE	ACCIDENTALLY	CREATES
A	WILDLY	POPULAR	OPEN	SOURCE	PROJECT
ABOUT	THE	SPEAKER
Dan	Cuellar
• Creator	of	Appium
• Head	of	Software	Testing	at	FOODit
• Previously	at	Shazam,	Zoosk,	and	Microsoft
• BS	in	Computer	Science	from	Carnegie	Mellon
THE	MOST	TERRIFYING	5	WORDS	IN	TESTING
THIS	ALL	SOUNDS	FAMILIAR
EVERYTHING	IS	NOT	AWESOME
WHAT	IS	APPIUM
• An	implementation	of	the	Selenium	JSON-wire	protocol	that	
controls	native	and	hybrid	iOS	and	Android	application
• The	most	popular	open	source	mobile	functional	testing	
framework
APPIUM PHILOSOPHY
• Use	standardized	and	sanctioned	APIs	and	techniques
• Code	in	the	language	of	your	choice
• Java,	C#,	Python,	Ruby,	Objective-C,	node.js,	PHP,	and	more
• Do	not	modify	the	application	under	test
• Keep	it	free	and	open	source
HOW	DOES	IT	WORK? UIAutomation /	
UIAutomator
Appium
Server
Test	Script
JSON-Wire	Protocol	Request
JSON-Wire	Protocol	Response
HTTP
@Before
public	void	setUp()	throws	Exception	{
//	set	up	appium
File	app	=	new	File("/path/to/your/TestApp.app");
DesiredCapabilities capabilities	=	new	DesiredCapabilities();
capabilities.setCapability("platformVersion",	”9.1");
capabilities.setCapability("deviceName",	"iPhone	6");
capabilities.setCapability("app",	app.getAbsolutePath());
driver	=	new	IOSDriver<WebElement>(new	URL("http://127.0.0.1:4723/wd/hub"),	capabilities);
}
THE	CODE	– IOS	SETUP
@Before
public	void	setUp()	throws	Exception	{
//	set	up	appium
File	app	=	new	File(”/path/to/my/test-app.apk");
DesiredCapabilities capabilities	=	new	DesiredCapabilities();
capabilities.setCapability("deviceName","Android	Emulator");
capabilities.setCapability("automationName",”Android");
capabilities.setCapability("app",	app.getAbsolutePath());
capabilities.setCapability("appPackage",	”com.yourcompany.testapp");
capabilities.setCapability("appActivity",	".HomeScreenActivity");
driver	=	new	AndroidDriver<WebElement>(new	URL("http://127.0.0.1:4723/wd/hub"),	
capabilities);
}
THE	CODE	– ANDROID	SETUP
WebElement el	=	driver.findElement(By.className("UIAButton"));
WebElement el	=	driver.findElement(By.xpath("//UIATextField[1]"));
WebElement el	=	driver.findElement(MobileBy.AccessibilityId("Done"));
THE	CODE	– FINDING	ELEMENTS
el.click();
el.sendKeys("Hello	World");
driver.swipe(sliderLocation.getX(),	sliderLocation.getY(),	
sliderLocation.getX()-100,	sliderLocation.getY(),	1000);
THE	CODE	– ACTIONS
Each	webview in	your	app	is	a	context.	Change	context	and	automate	as	
you	would	a	webpage	using	regular	selenium	syntax.
driver.context(contextName);
WebElement el	=	driver.findElement(By.cssSelector(".awesome"));
el.click();
AUTOMATING	WEB-VIEWS
TIME	TO	SPREAD	THE	WORD
GETTING	THE	WORD	OUT
• Answered	almost	every	forum	question	for	the	1st year	of	the	project
• Answered	most	StackOverflow questions
• Spoke	at	any	conference	that	would	have	us
• Stated	our	mission	and	philosophy
• Talked	to	companies	that	were	interested
• Utilized	Twitter	and	social	media
LOSING	CONTROL	IS	A	GOOD	SIGN
• One	day	a	website	and	twitter	account	showed	up
• Android	support	was	added
• The	code	was	ported	to	another	language
• I	lost	commit	privileges	on	the	repo	(briefly)
• My	conference	proposal	was	rejected	because,
unbeknownst	to	me,	two	other	people	had	already
submitted Appium talks	at	the	same	conference
SCALABILITY
• Eventually,	you	won’t	be	able	to	answer	every	question
• Other	people	will	have	learned	from	reading	the	forums	and	the	
community	can	answer
• You	won’t	be	able	to	test	or	scrutinize	every	commit
• Unit	tests	are	your	friend
• You	won’t	know	the	what’s	on	anymore
• Draft	good	release	note
• Keep	detailed	commit	messages
STARTING	AN	OPEN	SOURCE	PROJECT
THE	WRONG	WAY
• Use	proprietary	technologies
• Share	the	code	via	email
• Provide	no	documentation
• Do	not	post	slides
• Respond	to	issues	via	private	
communication
THE	RIGHT	WAY
• Use	open	technologies
• Post	code	on	GitHub
• Write	documentation
• Use	Slideshare &	YouTube
• Post	responses	on	forums
CONFLICT
• Agreeing	to	a	philosophy	and/or	mission	beforehand	is	helpful
• There	is	no	rigid	chain	of	command	to	resolve	disputes
• Conflict	is	best	kept	out	in	the	open
• This	leads	to	debate	which	results	in	better	decisions
• Transparent	decision	making	leads	to	better	end-user	understanding
• Sometimes	whoever	writes	the	code	make	the	decision
• People	may	have	opinions	but	aren’t	willing	to	code	the	solution
WHEN	PEACE	IS	NOT	AN	OPTION
• Losing	contributors	is	bad,	but	not	the	end	of	the	world
• Unless	they	leave	the	open	source	community,	their	work	is	still	shared	with	
everyone
• Multiple	projects	doing	the	same	thing	isn’t	necessarily	a	bad	thing
• Choice	and	competition	brings	about	innovation
• Having	options	is	good	for	end-users
In	the	end,	the	most	awesome	thing	will	win
BY	THE	NUMBERS
In	the	last	3	years
• Over	3,000	Stars,	2,000	Forks	on	GitHub
• Over	150	Contributors	and	5,000	commits
• Over	150,000	downloads	of	Appium 1.0
• Over	3,000	issues	closed
WHAT’S	NEW	IN	APPIUM 1.5?
• Complete	rewrite	of	the	entire	codebase
• Continuous	Integration	and	Unit	Tests
• Command	line	arguments	are	mostly	capabilities	now
• Code	of	Conduct	and	Governance
WHY	REWRITE?
• 3	years	of	patches	and	organic	growth
• Many	complaints	about	instability
• Code	was	not	modular	enough
• Old	and	confusing	ES5	code
• Callback	Hell
• Poorly	Tested
WHAT’S	COMING	NEXT
• Windows	Phone	and	Windows	10	application	support
• New	GUIs
• Multiple	New	iOS	Backends
• Android	backend	rewrite	using	UIAutomator 2
• Better	docs	and	onboarding	material
• Appium Foundation
WHY	DOES	APPIUM SUCCEED?
• From	Day	1,	There	Was	a	Clear	Philosophy	and	Vision
• We	try	to	be	as	inclusive	as	possible	to	foster	an	active	community
• We	support	many	languages	and	platforms	as
• Our	tool	is	based	on	an	existing	tool	people	are	already	familiar	with
• We	put	a	whole	lot	of	work	into	it
• We	speak	at	any	and	every	conference	that	will	have	us
• We	contribute	a	lot	of	our	unpaid	time	into	the	product
INCLUSIVENESS
INCLUSIVENESS
INCLUSIVENESS
INCLUSIVENESS
PERSONAL	TAKEAWAY
“Life	can	be	much	broader	once	you	discover	one	simple	fact:	
Everything	around	you	that	you	call	life	was	made	up	by	people	that	
were	no	smarter	than	you	and	you	can	change	it,	you	can	influence	it,	
you	can	build	your	own	things	that	other	people	can	use.
Once	you	learn	that,	you'll	never	be	the	same	again.”
-Steve	Jobs
MORE	INFO
• Website:	http://www.appium.io
• Slack:	appium.slack.com
• Forum:	discuss.appium.io
• GitHub:	http://www.github.com/appium/appium

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Taking the Best of Agile, DevOps and CI/CD into security
Taking the Best of Agile, DevOps and CI/CD into securityTaking the Best of Agile, DevOps and CI/CD into security
Taking the Best of Agile, DevOps and CI/CD into security
 
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOpsDOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
NodeJS security - still unsafe at most speeds - v1.0
NodeJS security - still unsafe at most speeds - v1.0NodeJS security - still unsafe at most speeds - v1.0
NodeJS security - still unsafe at most speeds - v1.0
 
Merging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveMerging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec Perspective
 
Continuous Security: Using Automation to Expand Security's Reach
Continuous Security: Using Automation to Expand Security's ReachContinuous Security: Using Automation to Expand Security's Reach
Continuous Security: Using Automation to Expand Security's Reach
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Top10 Characteristics of Awesome Apps
Top10 Characteristics of Awesome AppsTop10 Characteristics of Awesome Apps
Top10 Characteristics of Awesome Apps
 
Building a Secure DevOps Pipeline - for your AppSec Program
Building a Secure DevOps Pipeline - for your AppSec Program   Building a Secure DevOps Pipeline - for your AppSec Program
Building a Secure DevOps Pipeline - for your AppSec Program
 
Spinnaker Microsrvices
Spinnaker MicrosrvicesSpinnaker Microsrvices
Spinnaker Microsrvices
 
IaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explainedIaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explained
 
Whitebox Testing for Blackbox Testers: Simplifying API Testing
Whitebox Testing for Blackbox Testers: Simplifying API TestingWhitebox Testing for Blackbox Testers: Simplifying API Testing
Whitebox Testing for Blackbox Testers: Simplifying API Testing
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
The Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the PipelineThe Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the Pipeline
 
Achieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetAchieving Continuous Delivery with Puppet
Achieving Continuous Delivery with Puppet
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
 
Using JMeter in CloudTest for Continuous Testing
Using JMeter in CloudTest for Continuous TestingUsing JMeter in CloudTest for Continuous Testing
Using JMeter in CloudTest for Continuous Testing
 

Andere mochten auch

Andere mochten auch (11)

Karim Fanadka
Karim FanadkaKarim Fanadka
Karim Fanadka
 
Kristian Karl
Kristian KarlKristian Karl
Kristian Karl
 
Илья Кудинов
Илья КудиновИлья Кудинов
Илья Кудинов
 
Orta Therox
Orta TheroxOrta Therox
Orta Therox
 
Сергей Белов
Сергей БеловСергей Белов
Сергей Белов
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон Турецкий
 
Павел Мочалкин
Павел МочалкинПавел Мочалкин
Павел Мочалкин
 
Вадим Макеев
Вадим МакеевВадим Макеев
Вадим Макеев
 
Автоматизация тестирования WEB API
Автоматизация тестирования WEB APIАвтоматизация тестирования WEB API
Автоматизация тестирования WEB API
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон Галицын
 
Андрей Светлов
Андрей СветловАндрей Светлов
Андрей Светлов
 

Ähnlich wie Dan Cuellar

Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
James Eisenhauer
 

Ähnlich wie Dan Cuellar (20)

10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
 
Starting an Open Source Project: 0-100k Users - China Mobile Summit 2015 - EN
Starting an Open Source Project: 0-100k Users - China Mobile Summit 2015 - ENStarting an Open Source Project: 0-100k Users - China Mobile Summit 2015 - EN
Starting an Open Source Project: 0-100k Users - China Mobile Summit 2015 - EN
 
Testistanbul 2016 - Keynote: "The Story of Appium" by Dan Cuellar
Testistanbul 2016 - Keynote: "The Story of Appium" by Dan CuellarTestistanbul 2016 - Keynote: "The Story of Appium" by Dan Cuellar
Testistanbul 2016 - Keynote: "The Story of Appium" by Dan Cuellar
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
 
Mobile Testing Tips - Let's achieve fast feedback loops
Mobile Testing Tips - Let's achieve fast feedback loopsMobile Testing Tips - Let's achieve fast feedback loops
Mobile Testing Tips - Let's achieve fast feedback loops
 
Appium.pptx
Appium.pptxAppium.pptx
Appium.pptx
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
 
Agile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing FundamentalsAgile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing Fundamentals
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)
 
The ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appiumThe ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appium
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile Applications
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application Testing
 
Everything You Need to Know About Testing i os 13
Everything You Need to Know About Testing i os 13Everything You Need to Know About Testing i os 13
Everything You Need to Know About Testing i os 13
 
Are you Ready to Test on iOS 9?
Are you Ready to Test on iOS 9?Are you Ready to Test on iOS 9?
Are you Ready to Test on iOS 9?
 
iOS9 Launch - Mobile Dev & Test Implications
iOS9 Launch - Mobile Dev & Test ImplicationsiOS9 Launch - Mobile Dev & Test Implications
iOS9 Launch - Mobile Dev & Test Implications
 

Mehr von CodeFest

Mehr von CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Kürzlich hochgeladen (20)

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
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 ...
 
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
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
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
 
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
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
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
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
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...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
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 ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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
 
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
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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...
 

Dan Cuellar