SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
Mozilla
Under the Hood
Presented by
  Marcia Knous
 Team Mozilla QA
Brief History of Mozilla
Mozilla is...


A global effort to
promote choice and
innovation on the
Internet
An open source project
Software for
the people,
by the people
NY Times two page ad
     December 16, 2004
What fuels us?
Community
‣   2008 Mozilla Summit
We build on top of each other
A Good Day at Mozilla :)
The tree is green...
...So what do we test?
Everything!

• Firefox Release builds
  • Including Firefox Localizations
• Firefox Nightly Builds
• Firefox Mobile (Fennec)
• Firefox web properties
• Thunderbird
What do we focus on?




   •Basic functionality
   •Standards Compliance
   •Performance
How do we
do this?
•Automated Tests
•Manual Tests
The Mozilla Platform
Automated
  Tests
Unit Tests



 xpcshell
 Compiled code
XPC Shell
‣Anything available to the XPCOM layer (through scriptable interfaces) can be tested with xpcshell.
‣Limitations: Can’t easily open windows, test chrome, work with HTML parser or the DOM
‣
Graphical & Interactive Tests

Mochitest
Chrome Tests
Reftest
Crash Tests
Content Mochitest
Highlights
  Runs tests in a full browser environment with chrome
  privileges
  Can simulate user input (keyboard/mouse)
  Good for testing things such as password manager and
  popup blocking
Mochichrome

Highlights
  Elevated privileges allow access to XPCOM
  components and services
  Uses simple JS function calls to aid in correctness
  Useful for testing UI components such as:
    Download Manager/Addons Manager
Browser Chrome Tests


Tests are written as JS files
Uses simple JS function calls to aid in correctness
Useful for testing Browser UI features
Crash Tests

Based on the reftest
framework
The test works by
loading the file and
completing without
crashing or asserting
Reftests
➡Layout Engine Visual Tests
➡Results are reported as Pass, Fail or Unexpected
Desired Result of the test
Talos
http://graphs.mozilla.org
Leak Tests
Topsite Testing
Other Tests
 ➡Fuzz Tests
 ➡Accessibility
 ➡JS Tests
Mozmill


Functional UI
testing for Mozilla
Applications.
Manual Tests
Litmus

‣Open 24/7 for your
testing enjoyment
‣Test cases written by
Mozilla QA & community
Litmus Full Functional Tests
Litmus Basic Functional Tests
Litmus Smoketests
Manual Debugging Tools
   The Error Console is your friend!
Even with all these tests...
There is no magic bullet
The bug that forced FF 3 RC2
There is humor in testing
       software...
Keynote software error
Common sight while preparing this presentation, but
        at least I can send feedback...
Who tests?
 Fosdem, 2009
The Community

  Nightly Testers - ~ 10K
  Betatesters - ~ 3 Million
  Web Developers
  Mozilla QA Team - 18
The QA
Companion
Useful add on that
allows the community
to test
An Example of Code Coverage
How do we get feedback?
Bugzilla


Community Members file
bugs and help triage
The Mozilla “kitchen”
Hendrix


Feedback link is postioned prominently on Release Notes
and first run page
Blocker bug for Firefox 3 was found through this feedback
mechanism
First run page before we changed the version to Firefox 3.5...
But nonetheless a good example of a the direct
feedback links (Bugzilla, Hendrix) on first run page
Twitter


Tweets regarding issues
with Firefox are reported
and monitored
Breakpad
Crash reporting tool
MozillaZine


Firefox Forum
Discussions
At one time was the
premier Mozilla news
site
Newsgroups - moz.dev.quality
QMO - The QA Portal
Central repository for project info and documents
reporter.mozilla.org


 Linked directly from the
 Help menu
  Allows you to report a
 broken website right
 from the UI
So who reviews all this
             feedback?


Sometimes tough to
separate the “noise”
from the real issues
We give back...
Songbird                  Miro
Blackbird                 Flock
Instantbird               Celtx
Seamonkey                 Komodo
KompoZer
Nokia’s Internet Tablet
Wyzo
Projects/Technologies
Projects                   Technologies

   Firefox                    Gecko

   Camino                     XULRunner

   Bugzilla                Mozilla Labs

   Fennec                     http://labs.mozilla.com/projects/

   Lightning and Sunbird

   Seamonkey

   Thunderbird
The end...questions?
Resources/Background
             material
The History of Mozilla: https://library.mozilla.org/The_History_of_Mozilla

QMO: http://quality.mozilla.org/

Litmus: https://litmus.mozilla.org/

Mozmill: http://code.google.com/p/mozmill/

Developer info: https://developer.mozilla.org/

Mozilla Labs: http://labs.mozilla.com/

Tinderbox for Firefox 3.5: http://tinderbox.mozilla.org/showbuilds.cgi?
tree=Firefox3.5
Resources/Background
             material
Get the Firefox Beta: http://www.mozilla.com/en-US/firefox/all-beta.html

QA Companion: https://addons.mozilla.org/en-US/firefox/addon/5428

Hendrix: http://hendrix.mozilla.org/

Mozilla support: http://support.mozilla.com/en-US/kb/

Mozilla Digital Memory Bank: http://chnm.gmu.edu/mozilla-digital-memory-bank/

Marcia’s Firefox Robot Wars Video: http://www.youtube.com/watch?
v=OnZClPMoYEY
Photo credits
Jaguar Inline 6 Car Engine Photo courtesy of dave_7.
Licensed under a Creative Commons license - http://
www.flickr.com/photos/daveseven/250993044/

Bullet photo courtesy of JinglyJon. Licensed under a
Creative Commons license : http://www.flickr.com/
photos/jinglyjon/180600454/

Más contenido relacionado

La actualidad más candente

Strategies for securing your banks & enterprises (from someone who robs bank...
 Strategies for securing your banks & enterprises (from someone who robs bank... Strategies for securing your banks & enterprises (from someone who robs bank...
Strategies for securing your banks & enterprises (from someone who robs bank...ITCamp
 
DotJS Lightning Talk Vorlon.js
DotJS Lightning Talk Vorlon.jsDotJS Lightning Talk Vorlon.js
DotJS Lightning Talk Vorlon.jsEtienne Margraff
 
[ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers -
[ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers - [ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers -
[ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers - Zoltan Balazs
 
Introduction about mozilla
Introduction about mozillaIntroduction about mozilla
Introduction about mozillayamama shakaa
 
How Firefox Works
How Firefox WorksHow Firefox Works
How Firefox Workss1170166
 

La actualidad más candente (10)

Strategies for securing your banks & enterprises (from someone who robs bank...
 Strategies for securing your banks & enterprises (from someone who robs bank... Strategies for securing your banks & enterprises (from someone who robs bank...
Strategies for securing your banks & enterprises (from someone who robs bank...
 
DotJS Lightning Talk Vorlon.js
DotJS Lightning Talk Vorlon.jsDotJS Lightning Talk Vorlon.js
DotJS Lightning Talk Vorlon.js
 
Firefox
FirefoxFirefox
Firefox
 
Tor (The Onion Router)
Tor (The Onion Router)Tor (The Onion Router)
Tor (The Onion Router)
 
[ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers -
[ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers - [ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers -
[ENG] OHM2013 - The Quest for the Client-Side Elixir Against Zombie Browsers -
 
Firefox 3.5 Overview
Firefox 3.5 OverviewFirefox 3.5 Overview
Firefox 3.5 Overview
 
Introduction about mozilla
Introduction about mozillaIntroduction about mozilla
Introduction about mozilla
 
How Firefox Works
How Firefox WorksHow Firefox Works
How Firefox Works
 
mozilla firefox
mozilla firefox mozilla firefox
mozilla firefox
 
Browsers
BrowsersBrowsers
Browsers
 

Destacado

FirefoxOS Introduction
FirefoxOS IntroductionFirefoxOS Introduction
FirefoxOS IntroductionPavel Ivanov
 
What is MOZILLA and what is Open Web about.
What is MOZILLA and what is Open Web about.What is MOZILLA and what is Open Web about.
What is MOZILLA and what is Open Web about.Bogomil Shopov
 
Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maungChit Thiri Maung
 
Mozilla Project and Open Web
Mozilla Project and Open WebMozilla Project and Open Web
Mozilla Project and Open WebChanny Yun
 
Open source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmirOpen source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmirTanzeel Khan
 

Destacado (8)

Mozilla & the Open Web
Mozilla & the Open WebMozilla & the Open Web
Mozilla & the Open Web
 
FirefoxOS Introduction
FirefoxOS IntroductionFirefoxOS Introduction
FirefoxOS Introduction
 
What is MOZILLA and what is Open Web about.
What is MOZILLA and what is Open Web about.What is MOZILLA and what is Open Web about.
What is MOZILLA and what is Open Web about.
 
Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maung
 
2011 NASA Open Source Summit - Pascal Finette
2011 NASA Open Source Summit - Pascal Finette2011 NASA Open Source Summit - Pascal Finette
2011 NASA Open Source Summit - Pascal Finette
 
Mozilla Project and Open Web
Mozilla Project and Open WebMozilla Project and Open Web
Mozilla Project and Open Web
 
Mozilla & Open Web
Mozilla & Open WebMozilla & Open Web
Mozilla & Open Web
 
Open source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmirOpen source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmir
 

Similar a Mozilla: Under the Hood

Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOSFred Lin
 
Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Roberto Suggi Liverani
 
The History and Status of Mozilla Korean Community
The History and Status of Mozilla Korean CommunityThe History and Status of Mozilla Korean Community
The History and Status of Mozilla Korean CommunityChanny Yun
 
夜宴8期《Dive into Mozilla Labs》
夜宴8期《Dive into Mozilla Labs》夜宴8期《Dive into Mozilla Labs》
夜宴8期《Dive into Mozilla Labs》Koubei Banquet
 
Browsers in the actuality.
Browsers in the actuality.Browsers in the actuality.
Browsers in the actuality.carlosmau-95
 
browser of the actuality
browser of the actualitybrowser of the actuality
browser of the actualitycarlosmau-95
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp
 
A web browser - Web Development (IT 316)
A web browser - Web Development (IT 316)A web browser - Web Development (IT 316)
A web browser - Web Development (IT 316)Mark John Lado, MIT
 
Trabajo de jose
Trabajo de jose Trabajo de jose
Trabajo de jose josemgg
 

Similar a Mozilla: Under the Hood (20)

Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOS
 
Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012
 
The History and Status of Mozilla Korean Community
The History and Status of Mozilla Korean CommunityThe History and Status of Mozilla Korean Community
The History and Status of Mozilla Korean Community
 
Browsers
BrowsersBrowsers
Browsers
 
Browsers
BrowsersBrowsers
Browsers
 
Browsers
BrowsersBrowsers
Browsers
 
Browsers
BrowsersBrowsers
Browsers
 
Web browsers
Web browsersWeb browsers
Web browsers
 
Web browsers
Web browsersWeb browsers
Web browsers
 
夜宴8期《Dive into Mozilla Labs》
夜宴8期《Dive into Mozilla Labs》夜宴8期《Dive into Mozilla Labs》
夜宴8期《Dive into Mozilla Labs》
 
Banquet 08
Banquet 08Banquet 08
Banquet 08
 
Browser (1)
Browser (1)Browser (1)
Browser (1)
 
Browser (1)
Browser (1)Browser (1)
Browser (1)
 
Browsers in the actuality.
Browsers in the actuality.Browsers in the actuality.
Browsers in the actuality.
 
browser of the actuality
browser of the actualitybrowser of the actuality
browser of the actuality
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystems
 
A web browser - Web Development (IT 316)
A web browser - Web Development (IT 316)A web browser - Web Development (IT 316)
A web browser - Web Development (IT 316)
 
Web browsers
Web browsersWeb browsers
Web browsers
 
Web browsers
Web browsersWeb browsers
Web browsers
 
Trabajo de jose
Trabajo de jose Trabajo de jose
Trabajo de jose
 

Último

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Último (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Mozilla: Under the Hood