What do I need to learn to write a Gmail Labs feature?
September 26, 2009 10:14 PM   Subscribe

What do I need to learn to write a Gmail Labs feature?

What programming languages and other technologies do I need to learn to write one of the experimental features for Gmail found in the Labs tab under Settings?

I currently know Python and some Java. In case it is necessary to your answer, here is what I want to develop:

The feature, named Herdcat, is intended to help me keep in touch to make sure I and my friends and associates have not forgotten the projects we're working on together. It uses Spaced Interval Repetition (SIR). I got the idea from flashcard software, in which SIR modifies the rate of how often to repeat a flashcard by recording the number of repeated failures or successes. In Herdcat, SIR determines how often to prompt me to nag someone, based on how seldom they reply in Gmail. Each collaborator's interval starts at a length of two weeks. Every week that a collaborator emails me, the interval until Herdcat reminds me to email that person increases in length by one day. Every week that person does not email me, the interval until Herdcat reminds me to email that person and remind them about our project decreases in length by one day. When the interval on one of my projects reaches zero, I get an alert that I should give up on that collaborator and their contact is removed from Herdcat.
posted by Matt Arnold to Technology (7 answers total) 1 user marked this as a favorite
You need to learn enough about general Computer Science (especially algorithms, networking, and computer architecture) to get through the Google interview process, because only people who work there can write Labs extensions.
posted by steveminutillo at 10:24 PM on September 26, 2009 [1 favorite]

Writing a Gmail Labs feature requires, first and foremost, that you work for Google.

Assuming that's not the case, the most straightforward way to implement your feature would probably be to write a standalone client program in the language of your choice that connects to Gmail, reads the messages in your inbox, and determines how to update the intervals for each person of interest. Python has an IMAP client library built-in, and I'm sure you could find something similar for Java. After that, it's up to you to decide how to display the results.
posted by teraflop at 10:25 PM on September 26, 2009

Best answer: AFAIK Gmail Labs features are created by internal developers, not third parties. So the answer to what you would need is likely a job at google. (and those aren't easy to come by...)

That said, there are other ways to add functionality to Gmail, mainly through firefox extensions. Two examples are Remember the Milk and Better Gmail. There are limitations to this sort of approach, though, and you won't be able to tap into most of the core functions of Gmail.

A easier approach might be to work on a Thunderbird extension. Once you've pulled down your email with POP or IMAP, it's in a nice, easy to work with mbox format, which would probably simplify your life considerably.

There are various guides for creating firefox/thunderbird extensions just a web search away. Good luck.
posted by chrisamiller at 10:34 PM on September 26, 2009 [1 favorite]

The "gmail labs" thing refers to items under research and development by the gmail development team. If you worked for them, you wouldn't be asking this question.

You might do as chrisamiller suggests. You also might be able to build it up it up out of greasemonkey, or as a firefox plugin.
posted by Netzapper at 10:52 PM on September 26, 2009

Best answer: Actually, another, more obvious approach would be to write a Grease Monkey script that applies to Gmail.

Grease Monkey is an add on to firefox that lets people write and distribute extensions for any website. Google has a couple here, here are a couple more. you write grease monkey scripts in regular javascript.
posted by delmoi at 10:55 PM on September 26, 2009

Perhaps the original poster is referring to Gmail Gadgets, such as the second bit of software on this page. You do not have to work for Google to make Gmail Gadgets. There just aren't that many of them.
posted by Mo Nickels at 12:59 AM on September 27, 2009 [1 favorite]

Response by poster: You know, it's funny it never occurred to me that Gmail isn't open-source. I must have had some kind of mental block to make such an assumption. I knew not every Google product was open-source-- Google File System, BigTable and MapReduce weren't, for instance. But those aren't end-user applications.

Still, it's good to know there are ways to work around it to meet my needs!
posted by Matt Arnold at 12:30 PM on September 29, 2009

« Older Help my kiddo sleep!   |   Help! Cat stuck in duct! Newer »
This thread is closed to new comments.