Writing Browser Extensions for fun and profit

10
Browser Extensions for fun and/or profit writing

description

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

Transcript of Writing Browser Extensions for fun and profit

Page 1: Writing Browser Extensions for fun and profit

Browser Extensionsfor fun and/or profit

writing

Page 2: Writing Browser Extensions for fun and profit

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

Page 3: Writing Browser Extensions for fun and profit

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

Page 4: Writing Browser Extensions for fun and profit

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

Page 5: Writing Browser Extensions for fun and profit

Dev Tools

● Chrome○ DevTools, filesystem, local deployment

● Firefox○ builder.addons.mozilla.org, cfx

● Opera○ Drag config.xml into browser

Page 6: Writing Browser Extensions for fun and profit

Deployment

● Chrome○ CRX, upload ZIP to Chrome Web Store

● Firefox○ cfx, upload XPI to addons.mozilla.org

● Opera○ upload ZIP to addons.opera.com

Page 7: Writing Browser Extensions for fun and profit

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

Page 8: Writing Browser Extensions for fun and profit

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

Page 9: Writing Browser Extensions for fun and profit

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

○ ...

Page 10: Writing Browser Extensions for fun and profit

Thank you!starthq.com