SlideShare a Scribd company logo
1 of 42
Download to read offline
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
• BS	
  in	
  Computer	
  Science	
  from	
  Carnegie	
  Mellon
• Creator	
  of	
  Appium
• Head	
  of	
  Software	
  Testing	
  at	
  FOODit
• Previously	
  at	
  Microsoft,	
  Zoosk,	
  and	
  Shazam
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
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
submittedAppiumtalks	
  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	
  2	
  ½	
  years
• Over	
  2,000	
  Stars,	
  1,500	
  Forks	
  on	
  GitHub
• Over	
  100	
  Contributors	
  and	
  5,000	
  commits
• Over	
  150,000	
  downloads	
  of	
  Appium 1.0
• Over	
  3,000	
  issues	
  closed
ROBOTS
HOW	
  DOES	
  IT	
  WORK?
• Calibrate	
  the	
  robot	
  to	
  map	
  points	
  in	
  the	
  physical	
  world	
  to	
  points	
  on	
  a	
  
device	
  screen
• Run	
  an	
  app	
  on	
  the	
  device	
  with	
  Appium that	
  can	
  tell	
  you	
  what	
  
coordinates	
  are	
  being	
  touched
• Touch	
  three	
  places	
  on	
  the	
  device	
  and	
  record	
  the	
  physical	
  and	
  device-­‐
centric	
  coordinates
• Build	
  a	
  matrix	
  to	
  translate	
  any	
  point	
  between	
  the	
  two	
  systems
• Intercept	
  touch	
  actions	
  with	
  the	
  AppiumServer	
  and	
  send	
  them	
  to	
  
the	
  	
  robot
THE	
  MATH
WHY	
  DID	
  APPIUM SUCCEED?
• From	
  Day	
  1,	
  There	
  Was	
  a	
  Clear	
  Philosophy	
  and	
  Vision
• We	
  were	
  as	
  inclusive	
  as	
  possible,	
  which	
  led	
  to	
  an	
  active	
  community
• We	
  supported	
  as	
  many	
  languages	
  and	
  platforms	
  as	
  possible
• We	
  based	
  our	
  tool	
  on	
  an	
  existing	
  tool	
  people	
  were	
  already	
  familiar	
  with
• We	
  made	
  decisions	
  designed	
  to	
  build	
  an	
  active	
  community
• We	
  put	
  a	
  whole	
  lot	
  of	
  work	
  into	
  it
• We	
  went	
  to	
  any	
  and	
  every	
  conference	
  that	
  would	
  have	
  us
• We	
  answered	
  almost	
  every	
  forum	
  post	
  the	
  1st year	
  or	
  so
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

More Related Content

What's hot

OSSEU18: Making Decisions without Consensus - George Dunlap, Citrix
OSSEU18: Making Decisions without Consensus - George Dunlap, CitrixOSSEU18: Making Decisions without Consensus - George Dunlap, Citrix
OSSEU18: Making Decisions without Consensus - George Dunlap, CitrixThe Linux Foundation
 
What I Learned about Mobile UX... The Hard Way
What I Learned about Mobile UX... The Hard WayWhat I Learned about Mobile UX... The Hard Way
What I Learned about Mobile UX... The Hard WayJosh Jeffryes
 
Milestone 1 product concept
Milestone 1  product conceptMilestone 1  product concept
Milestone 1 product conceptMatt Craig
 
The Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsThe Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsbcantrill
 
Responsive: From Design to Philosophy
Responsive: From Design to PhilosophyResponsive: From Design to Philosophy
Responsive: From Design to PhilosophyMozu
 
UXPA Boston Responsive Design Snyder Rizzico
UXPA Boston Responsive Design Snyder RizzicoUXPA Boston Responsive Design Snyder Rizzico
UXPA Boston Responsive Design Snyder Rizzicosnyderconsulting
 
Evolution of software projects
Evolution of software projectsEvolution of software projects
Evolution of software projectsDima Malenko
 
5 questions to ask a troubled customer
5 questions to ask a troubled customer5 questions to ask a troubled customer
5 questions to ask a troubled customerQuinn Grafton
 
Максим Ткачук - «Маленькие советы дизайнерам»
Максим Ткачук - «Маленькие советы дизайнерам»Максим Ткачук - «Маленькие советы дизайнерам»
Максим Ткачук - «Маленькие советы дизайнерам»ПрофсоUX
 
Easy & Effective Usability Testing at CodeMash 2012
Easy & Effective Usability Testing at CodeMash 2012Easy & Effective Usability Testing at CodeMash 2012
Easy & Effective Usability Testing at CodeMash 2012Carol Smith
 

What's hot (15)

OSSEU18: Making Decisions without Consensus - George Dunlap, Citrix
OSSEU18: Making Decisions without Consensus - George Dunlap, CitrixOSSEU18: Making Decisions without Consensus - George Dunlap, Citrix
OSSEU18: Making Decisions without Consensus - George Dunlap, Citrix
 
What I Learned about Mobile UX... The Hard Way
What I Learned about Mobile UX... The Hard WayWhat I Learned about Mobile UX... The Hard Way
What I Learned about Mobile UX... The Hard Way
 
Milestone 1 product concept
Milestone 1  product conceptMilestone 1  product concept
Milestone 1 product concept
 
UPNext
UPNextUPNext
UPNext
 
The Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsThe Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systems
 
Responsive: From Design to Philosophy
Responsive: From Design to PhilosophyResponsive: From Design to Philosophy
Responsive: From Design to Philosophy
 
UXPA Boston Responsive Design Snyder Rizzico
UXPA Boston Responsive Design Snyder RizzicoUXPA Boston Responsive Design Snyder Rizzico
UXPA Boston Responsive Design Snyder Rizzico
 
Evolution of software projects
Evolution of software projectsEvolution of software projects
Evolution of software projects
 
5 questions to ask a troubled customer
5 questions to ask a troubled customer5 questions to ask a troubled customer
5 questions to ask a troubled customer
 
Dj Remixes
Dj RemixesDj Remixes
Dj Remixes
 
Максим Ткачук - «Маленькие советы дизайнерам»
Максим Ткачук - «Маленькие советы дизайнерам»Максим Ткачук - «Маленькие советы дизайнерам»
Максим Ткачук - «Маленькие советы дизайнерам»
 
ProjectPal Preso 5
ProjectPal Preso 5ProjectPal Preso 5
ProjectPal Preso 5
 
JustSharing: Lessons in Android development from Beamly
JustSharing: Lessons in Android development from BeamlyJustSharing: Lessons in Android development from Beamly
JustSharing: Lessons in Android development from Beamly
 
Bowtie finals
Bowtie finalsBowtie finals
Bowtie finals
 
Easy & Effective Usability Testing at CodeMash 2012
Easy & Effective Usability Testing at CodeMash 2012Easy & Effective Usability Testing at CodeMash 2012
Easy & Effective Usability Testing at CodeMash 2012
 

Viewers also liked

Professional and play time!
Professional and play time!Professional and play time!
Professional and play time!bkoval91
 
Brittany's Power point project
Brittany's Power point projectBrittany's Power point project
Brittany's Power point projectbkoval91
 
Technology in research didactic handout
Technology in research didactic handoutTechnology in research didactic handout
Technology in research didactic handoutEsther Choo
 
Les noves tecnologies
Les noves tecnologiesLes noves tecnologies
Les noves tecnologiesMiau95
 

Viewers also liked (7)

Professional and play time!
Professional and play time!Professional and play time!
Professional and play time!
 
Plandeunidad
PlandeunidadPlandeunidad
Plandeunidad
 
Brittany's Power point project
Brittany's Power point projectBrittany's Power point project
Brittany's Power point project
 
56947430
5694743056947430
56947430
 
Technology in research didactic handout
Technology in research didactic handoutTechnology in research didactic handout
Technology in research didactic handout
 
Les noves tecnologies
Les noves tecnologiesLes noves tecnologies
Les noves tecnologies
 
56947430
5694743056947430
56947430
 

Similar to 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 CuellarTurkish Testing Board
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions Sauce Labs
 
Chalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsChalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsIrina Zaks
 
What is open source?
What is open source?What is open source?
What is open source?Ahmet Bulut
 
Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)
Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)
Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)Liz Filardi
 
Dan Cuellar
Dan CuellarDan Cuellar
Dan CuellarCodeFest
 
LCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLinaro
 
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...NETWAYS
 
stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...
stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...
stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...NETWAYS
 
Remote usability testing and remote user research for usability
Remote usability testing and remote user research for usabilityRemote usability testing and remote user research for usability
Remote usability testing and remote user research for usabilityUser Vision
 
What every successful open source project needs
What every successful open source project needsWhat every successful open source project needs
What every successful open source project needsSteven Francia
 
Pair Programming - the lightning talk
Pair Programming - the lightning talkPair Programming - the lightning talk
Pair Programming - the lightning talkBarry Jones
 
Internet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit IIInternet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit IIArti Parab Academics
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentationJavier Perez
 
Open soucre(cut shrt)
Open soucre(cut shrt)Open soucre(cut shrt)
Open soucre(cut shrt)Shivani Rai
 
Ct summer 2013
Ct summer 2013Ct summer 2013
Ct summer 2013cwatkins92
 
• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docx
• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docx• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docx
• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docxodiliagilby
 
CorporateCommunityOWF2010
CorporateCommunityOWF2010CorporateCommunityOWF2010
CorporateCommunityOWF2010Connect'up
 
The Well Connected Facility
The Well Connected FacilityThe Well Connected Facility
The Well Connected FacilityRyan Duggan
 
Open source technology
Open source technologyOpen source technology
Open source technologyKassandra
 

Similar to Starting an Open Source Project: 0-100k Users - China Mobile Summit 2015 - EN (20)

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
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
Chalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsChalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, minds
 
What is open source?
What is open source?What is open source?
What is open source?
 
Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)
Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)
Mobile & Tablet UX | NYU School of Professional Studies | Week 1 (Intro)
 
Dan Cuellar
Dan CuellarDan Cuellar
Dan Cuellar
 
LCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS Training
 
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...
 
stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...
stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...
stackconf 2023 | Open-Source: Open Choice – A DevOps Guide for OSS Adoption b...
 
Remote usability testing and remote user research for usability
Remote usability testing and remote user research for usabilityRemote usability testing and remote user research for usability
Remote usability testing and remote user research for usability
 
What every successful open source project needs
What every successful open source project needsWhat every successful open source project needs
What every successful open source project needs
 
Pair Programming - the lightning talk
Pair Programming - the lightning talkPair Programming - the lightning talk
Pair Programming - the lightning talk
 
Internet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit IIInternet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit II
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 
Open soucre(cut shrt)
Open soucre(cut shrt)Open soucre(cut shrt)
Open soucre(cut shrt)
 
Ct summer 2013
Ct summer 2013Ct summer 2013
Ct summer 2013
 
• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docx
• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docx• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docx
• COMMUNICATEBUSINESS VISION• WHAT TO EXPECT• .docx
 
CorporateCommunityOWF2010
CorporateCommunityOWF2010CorporateCommunityOWF2010
CorporateCommunityOWF2010
 
The Well Connected Facility
The Well Connected FacilityThe Well Connected Facility
The Well Connected Facility
 
Open source technology
Open source technologyOpen source technology
Open source technology
 

More from Dan Cuellar

Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016Dan Cuellar
 
Writing Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of JelloWriting Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of JelloDan Cuellar
 
How to Give a Successful Lightning Talk
How to Give a Successful Lightning TalkHow to Give a Successful Lightning Talk
How to Give a Successful Lightning TalkDan Cuellar
 
Setting UIAutomation free with Appium
Setting UIAutomation free with AppiumSetting UIAutomation free with Appium
Setting UIAutomation free with AppiumDan Cuellar
 
Creating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CN
Creating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CNCreating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CN
Creating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CNDan Cuellar
 

More from Dan Cuellar (7)

Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
 
Writing Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of JelloWriting Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of Jello
 
How to Give a Successful Lightning Talk
How to Give a Successful Lightning TalkHow to Give a Successful Lightning Talk
How to Give a Successful Lightning Talk
 
Setting UIAutomation free with Appium
Setting UIAutomation free with AppiumSetting UIAutomation free with Appium
Setting UIAutomation free with Appium
 
Creating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CN
Creating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CNCreating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CN
Creating an Open Source Project: 0-100k Users - China Mobile Summit 2015 - CN
 

Recently uploaded

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 

Recently uploaded (20)

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 

Starting an Open Source Project: 0-100k Users - China Mobile Summit 2015 - EN

  • 1. STARTING  AN OPEN  SOURCE  PROJECT: 0  TO  100,000  USERS AN  EX-­‐MICROSOFTEE  ACCIDENTALLY  CREATES A  WILDLY  POPULAR  OPEN  SOURCE  PROJECT
  • 2. ABOUT  THE  SPEAKER Dan  Cuellar • BS  in  Computer  Science  from  Carnegie  Mellon • Creator  of  Appium • Head  of  Software  Testing  at  FOODit • Previously  at  Microsoft,  Zoosk,  and  Shazam
  • 3.
  • 4.
  • 5. THE  MOST  TERRIFYING  5  WORDS  IN  TESTING
  • 6. THIS  ALL  SOUNDS  FAMILIAR
  • 8. 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
  • 9. 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
  • 10. HOW  DOES  IT  WORK? UIAutomation /   UIAutomator Appium Server Test  Script JSON-­‐Wire  Protocol  Request JSON-­‐Wire  Protocol  Response HTTP
  • 11. TIME  TO  SPREAD  THE  WORD
  • 12. 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
  • 13. 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 submittedAppiumtalks  at  the  same  conference
  • 14. 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
  • 15. 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
  • 16.
  • 17. 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
  • 18. 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
  • 19.
  • 20. BY  THE  NUMBERS In  the  last  2  ½  years • Over  2,000  Stars,  1,500  Forks  on  GitHub • Over  100  Contributors  and  5,000  commits • Over  150,000  downloads  of  Appium 1.0 • Over  3,000  issues  closed
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 33. HOW  DOES  IT  WORK? • Calibrate  the  robot  to  map  points  in  the  physical  world  to  points  on  a   device  screen • Run  an  app  on  the  device  with  Appium that  can  tell  you  what   coordinates  are  being  touched • Touch  three  places  on  the  device  and  record  the  physical  and  device-­‐ centric  coordinates • Build  a  matrix  to  translate  any  point  between  the  two  systems • Intercept  touch  actions  with  the  AppiumServer  and  send  them  to   the    robot
  • 35.
  • 36. WHY  DID  APPIUM SUCCEED? • From  Day  1,  There  Was  a  Clear  Philosophy  and  Vision • We  were  as  inclusive  as  possible,  which  led  to  an  active  community • We  supported  as  many  languages  and  platforms  as  possible • We  based  our  tool  on  an  existing  tool  people  were  already  familiar  with • We  made  decisions  designed  to  build  an  active  community • We  put  a  whole  lot  of  work  into  it • We  went  to  any  and  every  conference  that  would  have  us • We  answered  almost  every  forum  post  the  1st year  or  so
  • 41. 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
  • 42. MORE  INFO • Website:  http://www.appium.io • Slack:  appium.slack.com • Forum:  discuss.appium.io • GitHub:  http://www.github.com/appium/appium