Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Browser Extensions
for fun and/or profit
writing
Browser extensions - why bother?
● Fact: users have short attention spans
● Extensions can be contextual
● Extensions can ...
Anatomy of an Extension
● Background page
○ Can modify browser chrome
● Content scripts
● Extension page (in Chrome, optio...
Extension APIs
● Chrome
○ Up to date, comprehensive, with examples
● Firefox
○ Multiple versions: native, Jetstrap, C++ - ...
Dev Tools
● Chrome
○ DevTools, filesystem, local deployment
● Firefox
○ builder.addons.mozilla.org, cfx
● Opera
○ Drag con...
Deployment
● Chrome
○ CRX, upload ZIP to Chrome Web Store
● Firefox
○ cfx, upload XPI to addons.mozilla.org
● Opera
○ uplo...
Review Process & Updates
● Chrome
○ No review process
○ Updates available to all users within a day automatically
● Firefo...
Distribution
● Chrome
○ Dashboard shows stats + number of current installs,
GA, ratings/reviews/keywords drive traffic
● F...
Examples
● Meetin.gs
○ content script injects Meet Me buttons
○ watches for DOM mutations
○ pulls data out of page with CS...
Thank you!
starthq.com
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
AngularJS - the folly of choice
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

Writing Browser Extensions for fun and profit

Download to read offline

A HelsinkiJS talk given by Oleg from https://starthq.com

The video of this talk is available at http://youtu.be/J8KGguflMCc

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Writing Browser Extensions for fun and profit

  1. 1. Browser Extensions for fun and/or profit writing
  2. 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. 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. 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. 5. Dev Tools ● Chrome ○ DevTools, filesystem, local deployment ● Firefox ○ builder.addons.mozilla.org, cfx ● Opera ○ Drag config.xml into browser
  6. 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. 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. 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. 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 ○ ...
  10. 10. Thank you! starthq.com

A HelsinkiJS talk given by Oleg from https://starthq.com The video of this talk is available at http://youtu.be/J8KGguflMCc

Views

Total views

1,215

On Slideshare

0

From embeds

0

Number of embeds

17

Actions

Downloads

2

Shares

0

Comments

0

Likes

0

×