April 2007 Archives

Going the distance

Posted by charles at April 20, 2007

Levenshtein distance: obscure formula invented in 1965 for computing the difference between two strings of text and soon a part of the intelligence engine that drives Mailroom.

One of the more exciting promises of Mailroom has always been its ability to automatically suggest replies to your emails based on your past responses. Our first version of this did OK at first but would become less useful over time.

We spent some time researching why this was the case when designing Mailroom 2. One of the things we found was that people would generally use suggested replies as a starting point rather than sending the suggested email outright. If you made any changes, though, Mailroom thought you had started a new reply, so it never built up any good learning history.

For Mailroom 2 we did a couple of things to make this better. The first thing we did was we added the helpful new Suggested Reply picker. If Mailroom doesn’t automatically suggest the reply you want, this picker makes it easy for you to go find the one you do want. Doing this helps Mailroom get better in the future, so its always better to use the picker instead of typing a new email from scratch.

The second thing we did with Mailroom 2 was to add a bit of code that would look at the reply you sent and compare it to the suggested reply you chose. While we send whatever reply you type, if the reply you send is changed only a “little bit”, then Mailroom will not create a new saved reply; instead it will just train on the reply you chose, as if you had made no changes at all. It’s very clever.

Incidentally, the formula we currently use to determine when a reply has been changed a “little bit” originally came from the University of Pennsylvania. Was was invented to help some professors catch students who were turning in copied papers from past years. It turns out this formula works better with longer text (like term papers) than most emails, which brings us to the Levenshtein.

The Levenshtein algorithm is much more precise than what we use now. In fact, it is commonly used today to suggest alternate spellings when you fat finger words into search engines. It does even better on emails one or two paragraphs long, which is basically what most of our customers do, so we think its going to be much smarter.

This new formula is implemented and in our testing environment now. You should see it go live when we do our next roll out in a couple of weeks.

Plunging the depths of obscure mathematical algorithms; just one of the many things we do everyday to make your Mailroom experience just a little better. ;-)

Mailroom Interruption (Resolved)

Posted by charles at April 09, 2007

We currently have a network failure at our hosting facility that is limiting access to Mailroom. We are working to get it fixed as soon as possible. I’ll pst here when we have more information.

UPDATE: It looks like there is a hardware problem on one of our web servers. Our backend and database are both operating normally however so your email will be waiting for you when the site is back online.

UPDATE 2: Problem resolved. Mailroom is back up and running. We’ve been holding incoming email while the service was down, which is now being delivered so expect more new messages to appear over the next few hours.

UPDATE 3: We are focused right now on making sure everything is working well again. Later tonight I’ll post a more in depth explanation of what happened and what we are going to do to avoid it happening again.

Now With More Cowbell

Posted by charles at April 03, 2007

It’s been a little quiet here because we’re really busy working on some cool new features for Mailroom. In the meantime, though, we found some time to deploy some new servers last week, which has made Mailroom really zippy.

For those of you that are interested in such things, in addition to deploying new servers we also switched from an older configuration using lighttpd and fastcgis to one using pound, mongrel, and memcached. These new components for Rails-based environments really rock. Mongrel is very fast and stable and memcached has reduced our database load dramatically.

In in the end, our servers are now running at only about 25% capacity thanks to these new changes. If you haven’t tried it since we launched Mailroom 2, now is definitely the time to take a look.

(We also rolled out a new blogging system today, which should take care of the comments and trackback spam that was cluttering up our blog. Thanks Mephisto)

Leave a comment...

Other Posts You Might Like

Blogroll

Popular Topics

Inbound link count provided by Technorati