Writing Browser Extensions for fun and profit
-
Upload
oleg-podsechin -
Category
Technology
-
view
583 -
download
0
description
Transcript of Writing Browser Extensions for fun and profit
![Page 1: Writing Browser Extensions for fun and profit](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/1.jpg)
Browser Extensionsfor fun and/or profit
writing
![Page 2: Writing Browser Extensions for fun and profit](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081811/54b47b4c4a79590b738b4574/html5/thumbnails/10.jpg)
Thank you!starthq.com