Aug 02

Rapportive: A fantastic social email service with fantastic service!

Tech with tags: , , 2 Comments »


I can’t tell you how much I love Rapportive, the service that makes Gmail better by taking away the ads, and adding in useful information about the sender (teh social).

I have played with “social email” type plugins before, but they always tried to do too much, and rarely anything useful. Email is important to people. You tend to live in it. So, if you have an “add-on” the best thing to do is to quietly whisper useful information into the email users ear as they go about their business.

Once you install Rapportive, your email life instantly changes for the better. When I get an email from someone new I suddenly get a face to the name (via the profile picture), a feel for who they are (from their social updates), and more.

There are other fun side effects. I have had a few spammers de-cloaked for example. In general I feel like I have a leg up in a new conversation. Email feels different to me. I would hate to have it taken away…. which is a great sign.

The team behind Rapportive is equally awesome. They came from the great hacker dojo of Y Combinator, and other investors have come in behind that…. including Mr. Gmail himself.

The reason that I am actually writing this email though, is their service on behalf of their service.

There are a series of emails that I get that come from the same email. A lot of them fall into my “notifications” tag: Follows from Twitter, messages from Facebook, comments from Wordpress, plans from Plancast, etc.


Until recently, Rapportive hadn’t really done much for me there. Then, the team started to show information from the website of some of the companies behind these messages. I then reached out and said, what I really wanted was more meat that could be gleaned from the email. My use case was Twitter. When someone follows me, the more info I have on them, the more likely I am to follow them back. Twitter improved their template email a few weeks back (although for some reason it seems to have reverted for me recently?) but they don’t put in recent tweets from the person. I can see why: spammers would LOOOOOVE that feature. However, I would love to see it as I decide if I should reciprocate the follow! Rapportive could dip into the email content, parse out the fact that @foo has followed me, and show me their Tweets.

I don’t even think it was a full 24 hours later, and @rahulvohra their CEO, let me know that the feature was in place. I tested it…. and it was.

How about that for service.

ps. I love that Rapportive is an extensible platform. You can write “Rapplets” which are plugins for that right bar. E.g. load in Crunchbase information. I do find that some of these bug me when they say “Bob not found on …” when I would rather just not see anything.

I have a bunch of ideas for Rapplets, and after the great response from the team, I have every incentive to writeup thoughts on how to make the service better too. If you use Gmail, you should get this plugin.

pps. It is great timing for someone to build this service. We have had good ole microformats for awhile, and now with Web Finger integration here and there, let alone various services that key off of email, it is coming together that you can actually get a lot of good info based on just an email address.

Feb 05

Gmail Multi Pane changes workflow

Google, Tech with tags: 14 Comments »


The new multipane view for Gmail by Vivi will change my workflow for the better. I have placed views to the right of my inbox that show me:

  • My starred items (is:starred)
  • Emails sent to me (to:me)
  • Notifications. This is a big one. These items are things that I kinda want to see fly by but don’t care too much about. In the past they would clutter my inbox as I didn’t want to “skip inbox” and not see them (I never pro actively check out labels). Now that I can have the list scanning by, I CAN change my filter to skip the Inbox which will keep it cleaner!
  • Skipped content. I have a bunch of mailing lists that I tell to skip the Inbox. The end result is that I rarely see it, so it is really quite silly. Now though, I can have a small window into that world.

Very cool indeed. There are pain points though. If you are not plugged into a nice 30″ monitor, your real estate gets cramped fast. You can choose to put items on top, bottom, or right, but right is the only option that makes sense to me.

I want to be able to have fine grained control here. Gimme a splitter so I can choose how much space to give. Let me put some on the right, some on top, some on the bottom. Let me show and hide items so I can shoot open my inbox to be full screen when I need too.

Selecting items on the other panes is strained. You don’t have checkboxes and the arrow keys to help you over there. I wish that I could click on a space on the very left and have the “>” item show up there so I can move around and select things. I hate the mouse.

I am curious to see how I like this, and how it changes me Gmail usage. Do you like it?

Apr 11

Reply hooks in Gmail; A case study in over-engineering

Tech with tags: , 7 Comments »

Before I start, I have to get it out that the thinking in question took place at 5am. I have been enjoying time in Europe, getting to meet various developers on the On Air tour that Adobe was kind enough to have me speak at. Since I was in Europe for such as short period of time, and due to a few work matters, I ended up staying somewhat on US time. This never quite works, and I think I end up with my body clock tick-tocking somewhere over the Atlantic. If I ever had to crash land on that tiny American runway on the side of a volcano, I am sure I would sleep fantastically at 10pm.

Anyway, to the matter at hand. These emails drive me nuts:

Title: Bob Harris via Twitter to me

"Some random content in 140 characters or less"

Bob Harris / bobh

follow me at
reply on the web at
send me a direct message from your phone or IM: D BOBH your message here.
turn off these email notifications at:

You get them from Facebook too (thankfully they put the random content in there for some of the content), and many other services out there.

What is wrong with them? This is how they come across to me:

  • Hi, this is Twitter
  • I know that you are reading this in your email client
  • And here is some content to read
  • You very may well want to reply to this
  • I am going to tell you how to do so in many ways
  • But I won’t let you actually use email even though that is your context!

I got angry one night (after some dark and stormys, white russians, …) and wanted to fix it.

This lead me down the path of Greasemonkey. How about greasing up the wheels like this:

if the title of the message has / from Twitter to /
  when pressing the "r" key to reply or clicking on the reply button
    open up IM with "d [get reply to]" (grab /IM: D \w+/)
      now you can put in the message

The problem is that tying into all of the actions can be a pain, and it is a little bit annoying to be running this on every email. Oh, and what about the other sites! We don’t want to have to repeat this for every service that doesn’t care about me, do we?

After all of this over-engineering it seemed obvious that I shouldn’t be lubbing up the ape, but Twitter should handle this for me, and thus everyone that uses Twitter.

Instead of Twitter emailing me as <[email protected]> how about if a gentler, more Oprah-like Twitter greeted me as <[email protected]>. Then the email becomes:

Title: Bob Harris via Twitter to me

"Some random content in 140 characters or less"

Bob Harris / bobh

simply reply to this email, and the first 140 characters will be posted


follow me at
reply on the web at
send me a direct message from your phone or IM: D BOBH your message here.
turn off these email notifications at:

The 140 character limit could be one of the reasons that they don’t do this? Stripping could cut the message up, but if this was the case, I would get the monkey out again and write something to help enforce the limit by letting the user know as they types too much.

Having nice extension points to email sounds pretty interesting to me too. What if Gmail adding to the Greasemonkey JavaScript API so you could add event listeners to events such as: getting new mail, pre-reply, post-reply, typing a subject, adding contacts.

Think of the possibilities.

But, I still want services to take email seriously as an interface to them, as does Dopplr and some others. After all, doesn’t Stallman use email to browse the Web?

Nov 06

“Firebug can make Gmail slow”

Tech, Web Browsing with tags: , , , 5 Comments »

Man I love Firebug. How can you do web development without it? Unfortunately it does seem to slow down my general browsing experience now and then. Even when I have it disabled I see Firefox sucking down more memory, and taking longer to open new tabs and the like.

When I went to my Gmail account today I saw:

Gmail Firebug

Which links too Firebug can make Gmail slow:

If you’re using a Mac

Please note that if you’re using a Mac, you’ll continue to experience performance problems unless you disable Firebug for Gmail. To disable Firebug for, please follow the steps below:

  1. Click the green or red icon in the bottom right corner of the browser window to open Firebug.
  2. Click the bug icon in the top left corner of Firebug and select ‘Disable Firebug for’

If disabling Firebug for Gmail doesn’t improve performance results, you may have to entirely disable Firebug.

On Windows and Linux it suggests to turn off XHR logging (Firebug puts in a proxy XHR object to do all of the work). I wish that I could load up an instance of FF with it on, and one with it off…. I need to look into profiles again.

Nov 05

Gmail Greasemonkey Macros: Back, and Gmail even has support!

Google, Tech with tags: , No Comments »

Gmail recently got a JavaScript facelift which has subtle new features. For example, calendar attachments, smart top notices when you are disconnected and how the interface is retrying, and more.

However, most Greasemonkey scripts broke. This is bad news for me, as without Mihai’s macros script I feel real pain as I try to vi my way around the interface.

The new Gmail interface did add more keyboard shortcuts such as:

  • shift + i: Mark as read
  • shift + u: Mark as unread
  • shift + 3: Move to trash (not actually new, but not many people seem to know this one)
  • shift + 8 and a, n, r, u, s, t: Select all, none, read, unread, starred, unread

But, this isn’t quite enough. Luckily, Mihai has stepped up and ported over his work.

He has ported over:

  • g: Go to label
  • l: Apply label
  • b: Remove label
  • e: Archive (regardless of view, unlike “y”)
  • d: Discard (mark as read and archive)

and added:

  • f: “Focus” the current view (only show unread, starred or inbox messages)

What is really cool is how Dan Pupius and the team have truly acknowledge the Greasemonkey folk and have given us hooks to help us monkey around with Gmail:

For those of you adventurous enough to look at the script source, you’ll notice that it uses a gmonkey object that is present on the window, which in turn gets you a gmail object with methods like getNavPaneElement() and getActiveViewType(). What this means is that the version of Gmail, in addition to being faster, also has semi-official support for Greasemonkey scripts. I’m pretty sure official docs for this API will be out soon, but in the meantime, feel free to look at the script and use a tool like Firebug to investigate the properties of the gmonkey and gmail objects and play around.

Thanks Mihai and Dan!

Oct 24

Gmail now supports IMAP

Google, Tech, iPhone with tags: , , , 4 Comments »

I was really excited when I logged in to Gmail and saw the new settings:

Gmail Imap

I think this is my number one feature request for Gmail, so it is great to see it role out. Since Gmail is tag/label based, it isn’t as easy to implement IMAP as it may seem, so good job dev team!

The reason that I personally care is that I have been able to do this for my corporate account:

And now, I can finally do the same for my personal email account. Check out the automatic labels that you get.