Google Chrome Extensions

3,097 views
3,002 views

Published on

Presentation slides from DevFest Sydney 2010

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,097
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Google Chrome Extensions

  1. 1. Google Chrome Extensions PRESENTATION DATE : 30 th June 2010 initiate create passion passion strategy data media develop
  2. 2. Sputnik Agency <ul><li>We have worked with the following partners in developing extensions: </li></ul><ul><li>Presenting today: </li></ul><ul><ul><li>Dimitry Rybkin – Head of Technology </li></ul></ul><ul><ul><li>Sam Hemphill – Senior Frontend Developer </li></ul></ul><ul><ul><li>Tony Milton – Senior Software Engineer </li></ul></ul><ul><ul><li>Gary Munitz – Founder and General Manager of MenuLog </li></ul></ul><ul><li>Sputnik Agency is a full service digital agency offering services around : </li></ul><ul><ul><li>Software Engineering </li></ul></ul><ul><ul><li>Creative services </li></ul></ul><ul><ul><li>Brand & Strategy </li></ul></ul><ul><ul><li>Consulting </li></ul></ul>
  3. 3. LastTix Introduction
  4. 4. LastTix Implementation of core functionality <ul><li>chrome.tabs.create </li></ul><ul><li>chrome.browserAction.setBadgeText and chrome.browserAction.setBadgeBackgroundColor </li></ul><ul><li>Call Lasttix REST API with search criteria - performed in Background page </li></ul><ul><li>Messaging is handled with the use of - </li></ul><ul><ul><li>chrome.extension.onRequest.addListener </li></ul></ul><ul><ul><li>chrome.extension.sendRequest ({type: type, data : data}); </li></ul></ul>
  5. 5. LastTix Partner API Considerations <ul><ul><li>Quick responding REST API </li></ul></ul><ul><ul><li>Data returned in JSON format for speed of development. </li></ul></ul>
  6. 6. LastTix Security Constraints <ul><li>Anything placed within the extension is public available on the machine the extension is installed on.   </li></ul><ul><li>We wanted to use OAuth for Facebook and twitter authentication. </li></ul><ul><li>That would require storage of sensitive data within the partner extension </li></ul>
  7. 7. CarSales Introduction
  8. 8. CarSales Implementation of core functionality <ul><ul><li>Localstorage is used to maintain a list of cars within the extension with flags for favourite, hidden, read.   </li></ul></ul><ul><ul><li>Localstorage  limited to strings only. </li></ul></ul><ul><ul><li>chrome.browserAction.setBadgeText and chrome.browserAction.setBadgeBackgroundColor </li></ul></ul><ul><ul><li>Messaging is handled with the use of - </li></ul></ul><ul><ul><ul><li>chrome.extension.onRequest.addListener </li></ul></ul></ul><ul><ul><ul><li>chrome.extension.sendRequest ({type: type, data : data}); </li></ul></ul></ul>
  9. 9. CarSales Partner API Considerations <ul><li>CarSales would ordinarily have authentication information and data travelling over HTTPS , however as authentication details were stored within the extension we were able to revert to HTTP for improved performance . </li></ul><ul><li>XML returned from the REST API - parse into objects for use within the extension and serialize back to XML to store within localstorage . </li></ul>
  10. 10. CarSales Security Constraints <ul><li>Client concerned about their content being syndicated. They capped the number of requests  and limited the amount of data returned. </li></ul>
  11. 11. Qantas Frequent Flyer Extension Introduction
  12. 12. Qantas Implementation of core functionality <ul><li>Use  localstorage  to store the member ID and Surname </li></ul><ul><li>Messaging is handled with the use of - </li></ul><ul><ul><li>chrome.extension.onRequest.addListener </li></ul></ul><ul><ul><li>chrome.extension.sendRequest ({type: type, data : data}); </li></ul></ul><ul><ul><li>chrome.browserAction.setBadgeText and chrome.browserAction.setBadgeBackgroundColor </li></ul></ul>
  13. 13. Qantas Partner API Considerations <ul><li>Quick responding REST API </li></ul><ul><li>Data returned in JSON format for speed of development. </li></ul>
  14. 14. MenuLog
  15. 15. Question time!
  16. 16. THANK YOU!

×