View
1.196
Download
1
Tags:
Embed Size (px)
DESCRIPTION
This was a talk given by the guys at Xoopit about how they enhance Gmail with Greasemonkey hooks, and a Firefox extension to deploy custom JS
Citation preview
1
Extending Gmail
Jerry Su & Ben Zotto August 2008
{jerry, ben}@xoopit.com
2
What is Xoopit?
A company in the Mission district.
A web service that indexes media in email.
A Firefox extension that brings Xoopit experience into web mail.
Show you what we’re up to and start a conversation about building a platform on top of web email.
3
Xoopit demo
4
Creating a platform within Gmail
Firefox extension
Gmail Greasemonkey API
Xoopit Javascript
5
Firefox extension
Based on Greasemonkey
Allows cross-domain XMLHttpRequests HTTP/S directly to Xoopit web service.
Correct cookie behavior happens due to browser.
Inserts Xoopit JS into Gmail page (more later)
6
Gmail Greasemonkey API
Google provides rudimentary API inside Gmail for scripts
Global “gmonkey” object
Get current view (inbox, message, settings)
Register for view change callbacks
Get references to some DOM locations (masthead, nav area)
… a great start, but still pretty basic.
7
Xoopit Javascript
Most of our plugin lives in JS code downloaded from our service. Object-oriented JS: controls, data sources, controllers, etc.
Lets us update rapidly without bothering user.
Interacts with Firefox extension and Gmail API
8
Going Beyond the Gmail API
Hook into other views: Search, Settings
Help user find relevant content: conversation context.
Hook into other Gmail functionality: status messages
(Carefully) add elements to arbitrary parts of the page
Trying to add value to the full experience.
9
Quick demo
Conversation relevance
Leveraging the Gmail experience
10
Living Gracefully with Gmail
…or inside any web application that you don’t own.
Gmail is a constantly moving target: it changes.
Know where your fragile points are and fail gracefully Gmail’s API: pretty robust
Listening for clicks on various UI elements: not so robust
Namespace CSS/Javascript CSS selectors: “xoopit-something”
JS: one “xoopit.*” namespace
11
What’s Next?
Building a platform on top of email…
How do we all think about other developers extending our applications?
What more can Gmail provide to add value for users?
What about other webmail providers?
What do you think?
12
Thanks!
Sign up at:
www.xoopit.com/signup (invitation code: “jsmeetup”)
We’d love to meet you:
Ben Zotto ([email protected])
Jerry Su ([email protected]
References:
Gmail Greasemonkey API: http://code.google.com/p/gmail-greasemonkey/wiki/GmailGreasemonkey10API