SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Browser Extensions
for fun and/or profit
writing
Browser extensions - why bother?
● Fact: users have short attention spans
● Extensions can be contextual
● Extensions can be unobtrusive
● Extra functionality
○ Add buttons to and extend browser chrome
○ Run tasks in the background
○ Modify pages you visit
○ Access browser history, storage
Anatomy of an Extension
● Background page
○ Can modify browser chrome
● Content scripts
● Extension page (in Chrome, optional)
● Use message passing to talk to each other
Extension APIs
● Chrome
○ Up to date, comprehensive, with examples
● Firefox
○ Multiple versions: native, Jetstrap, C++ - defaults to
Mongolian, obvious things hard to do
● Opera
○ Docs non-existent, Opera.Next
● IE - BHO, COM, ATL
Dev Tools
● Chrome
○ DevTools, filesystem, local deployment
● Firefox
○ builder.addons.mozilla.org, cfx
● Opera
○ Drag config.xml into browser
Deployment
● Chrome
○ CRX, upload ZIP to Chrome Web Store
● Firefox
○ cfx, upload XPI to addons.mozilla.org
● Opera
○ upload ZIP to addons.opera.com
Review Process & Updates
● Chrome
○ No review process
○ Updates available to all users within a day automatically
● Firefox
○ Human reviews, takes ~10 days
○ Updates have to be done manually by users
● Opera
○ Human reviews, takes two weeks or more
○ Update mechanism unclear
Distribution
● Chrome
○ Dashboard shows stats + number of current installs,
GA, ratings/reviews/keywords drive traffic
● Firefox
○ Dashboard shows stats + number of current installs,
little traffic, locale defaults to Mongolian
● Opera
○ No stats, can’t search by name, indexed by Google
Examples
● Meetin.gs
○ content script injects Meet Me buttons
○ watches for DOM mutations
○ pulls data out of page with CSS selectors
● StartHQ
○ replaces new tab page
○ populates launcher based on browsing history
○ ...
Thank you!
starthq.com

Contenu connexe

Plus de Oleg Podsechin

Current State of Server Side JavaScript
Current State of Server Side JavaScriptCurrent State of Server Side JavaScript
Current State of Server Side JavaScript
Oleg Podsechin
 
The future of server side JavaScript
The future of server side JavaScriptThe future of server side JavaScript
The future of server side JavaScript
Oleg Podsechin
 

Plus de Oleg Podsechin (8)

What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startups
 
Server side JavaScript: going all the way
Server side JavaScript: going all the wayServer side JavaScript: going all the way
Server side JavaScript: going all the way
 
Current State of Server Side JavaScript
Current State of Server Side JavaScriptCurrent State of Server Side JavaScript
Current State of Server Side JavaScript
 
On Platforms
On PlatformsOn Platforms
On Platforms
 
Common Node
Common NodeCommon Node
Common Node
 
The future of server side JavaScript
The future of server side JavaScriptThe future of server side JavaScript
The future of server side JavaScript
 
RingoJS
RingoJSRingoJS
RingoJS
 
Grid and Cloud Computing Intro
Grid and Cloud Computing IntroGrid and Cloud Computing Intro
Grid and Cloud Computing Intro
 

Dernier

Dernier (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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?
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Writing Browser Extensions for fun and profit

  • 1. Browser Extensions for fun and/or profit writing
  • 2. Browser extensions - why bother? ● Fact: users have short attention spans ● Extensions can be contextual ● Extensions can be unobtrusive ● Extra functionality ○ Add buttons to and extend browser chrome ○ Run tasks in the background ○ Modify pages you visit ○ Access browser history, storage
  • 3. Anatomy of an Extension ● Background page ○ Can modify browser chrome ● Content scripts ● Extension page (in Chrome, optional) ● Use message passing to talk to each other
  • 4. Extension APIs ● Chrome ○ Up to date, comprehensive, with examples ● Firefox ○ Multiple versions: native, Jetstrap, C++ - defaults to Mongolian, obvious things hard to do ● Opera ○ Docs non-existent, Opera.Next ● IE - BHO, COM, ATL
  • 5. Dev Tools ● Chrome ○ DevTools, filesystem, local deployment ● Firefox ○ builder.addons.mozilla.org, cfx ● Opera ○ Drag config.xml into browser
  • 6. Deployment ● Chrome ○ CRX, upload ZIP to Chrome Web Store ● Firefox ○ cfx, upload XPI to addons.mozilla.org ● Opera ○ upload ZIP to addons.opera.com
  • 7. Review Process & Updates ● Chrome ○ No review process ○ Updates available to all users within a day automatically ● Firefox ○ Human reviews, takes ~10 days ○ Updates have to be done manually by users ● Opera ○ Human reviews, takes two weeks or more ○ Update mechanism unclear
  • 8. Distribution ● Chrome ○ Dashboard shows stats + number of current installs, GA, ratings/reviews/keywords drive traffic ● Firefox ○ Dashboard shows stats + number of current installs, little traffic, locale defaults to Mongolian ● Opera ○ No stats, can’t search by name, indexed by Google
  • 9. Examples ● Meetin.gs ○ content script injects Meet Me buttons ○ watches for DOM mutations ○ pulls data out of page with CSS selectors ● StartHQ ○ replaces new tab page ○ populates launcher based on browsing history ○ ...