Friday, March 05, 2010

reMail is Now Open Source

Read the announcement on the reMail Blog

As someone who is passionate about mobile email, my hope is that developers interested in making email-related apps can use reMail code as a starting point. Good luck with your projects!

Google Code: remail-iphone

Labels: ,

Wednesday, February 17, 2010

reMail Selected for SXSW

reMail was accepted as a finalist at the South by Southwest conference's Microsoft BizSpark Accelerator program!

Labels:

Wednesday, February 03, 2010

How to Replace IMAP

IMAP is a complex and difficult protocol. Its original design, RFC 1730, dates back to 1994. Here's a sample IMAP session that shows you all of IMAP's quirks: It's a stateful protocol where you login and select a mailbox to operate on, it has an unconventional parenthesis-heavy representation for structured data, and fetching messages is a multi-step operation.

Design Outline

One of these days, I'll write up a spec for the mail access protocol of my dreams. I'm planning to call it the "reimagined Mail Access Protocol" (short: reMAP) which is handy because reMail already owns the domain name :-)

I would aim for a RESTful design with the following properties:
  1. All communication over HTTP / HTTPS: Pure TCP connections are great, but for transferring large amounts of email, HTTP is the way to go. Problems like security, parallel downloads, persistent connections, caching, compression, download continuation via ranges, and so on have already been solved. There is no reason to solve them again.

  2. Stateless: There's no reason to introduce state like IMAP does with its selected mailboxes. All you need is a HTTP session cookie used for authentication purposes. Session cookie also allow for things like OAuth. OAuth would let third parties get your permission to access your email without having to give them your username and password.

  3. JSON and UTF-8: All data that's ever sent to or received from the server would be in JSON format. JSON is much more human-readable than XML. UTF-8 would be the only encoding allowed, since it is able to represent any character in the Unicode standard.

  4. Conversations as first-order objects: Gmail, the iPhone SMS app, and Facebook's messaging system have shown the value of viewing messages not individually but in the context of conversations. In reMAP, the server would be responsible for grouping together messages. While you could still access individual emails, the first-order unit of data would be a conversation.

  5. Labels, not folders: Labels are much for flexible than folders. Each conversation should have multiple labels, and the labels would be included when you request the message, rather than having to scan all folders for the message via IMAP.
  6. Stable and unique IDs: IMAP has a UID for each message, but it changes the moment you move the message into a different folder. An IMAP server can also declare all UIDs to be invalid at any moment throughout the session. No more! reMAP would have stable and unique IDs for all conversations, emails, and attachments.

  7. The beginning of the end for MIME: Yes, you could still get the MIME representation of each message that is sent. But MIME is a messy and complex beast. Instead of requesting the MIME-encoded message parts, you could just ask the server to give you the message as represented in plain text or HTML. Attachments can be downloaded in separate HTTP calls.

  8. Push built in: The two prevailing methods for implementing push email are the IMAP IDLE command (not widely available in IMAP servers) and Microsoft's ActiveSync, which requires developers to purchase a license from Microsoft. In reMap, clients could just call an HTTP endpoint on the server which returns as soon as new messages are arrive.

  9. Full-text index on the server: reMAP servers would need to maintain a full-text index of the contents of all messages. There's no reason clients should be required to download and index everything in order to do an exhaustive full-text search of your email.

Enormous Potential


I believe that one of the reasons for the lack of innovation in the email space is the lack of a simple yet powerful email access protocol. Every developer that wants to try something with email needs to first jump through the hoops of IMAP and MIME, or worse, the Outlook Object Model and MAPI. A new protocol like reMAP would lift this burden off their shoulders. We've seen what open, simple standards can do for innovation with Twitter's and Flickr's API. Now imagine unleashing the same sort of creativity to the vast ocean of data that is email.

Let me know what you think. My goal with this post was to encourage a discussion about this topic, and your comments are much appreciated.

If you liked this, consider following me on Twitter where I often tweet about email-related topics!

Labels: , ,

Tuesday, December 15, 2009

The In-App Freemium Model

We're now letting users download reMail for free and then upgrade to IMAP support and no ads. Previously we were charging $4.99 upfront, now we're selling features via In-App purchase. I think many useful apps will eventually charge this way. For example, navigation apps might charge you per city or per routing instead of charging $80 upfront. Games have already shifted to selling virtual goods and levels.

Initial sales are encouraging. I'll let you know how it worked out for us once I have more data.

Read more about how we implemented freemium on the reMail blog.

Labels: ,

Friday, December 11, 2009

reMail 2.7 is Out

We released reMail 2.6 late last week and it had some bugs. Bugs we should have caught in our QA department [*]. Sorry about that.

However, we fixed those bugs ASAP and resubmitted a new version. reMail 2.7 is out on the App Store now and you should update.

[*] We don't really have a QA department. Yet.

Labels: ,

Sunday, December 06, 2009

The Vision for reMail

As an entrepreneur, there's one question you get asked a lot: "What's your vision?"

Unfortunately, I don't have a beautiful answer like Larry & Sergey's "Organize the world's information and make it universally accessible and useful." That's a powerful one. So powerful that Eric Schmidt apparently questioned their sanity when he first heard it.

For reMail, the goal is to solve the two big problems in mobile email:
  1. You're on the way to a meeting and you need to look up where it is, or who you're meeting. This is an email search problem.

  2. You're walking from the meeting room to the bathroom and have 45 seconds to catch up on your new messages. This is a prioritization problem.

These two problems are not orthogonal: You can see prioritization as a special case of search. You're searching for important messages. You can see search as a special case of prioritization: You want to see the important messages related to your current state of mind, as expressed by the query. The solutions aren't as clearly separated as the use cases are. And that's good for reMail.

We started with search because it's easier to solve, and the value is clearer to the user. We've built a pretty successful product - it needs a lot of refinement but it fills a clear need for users. I've built some sketches of prioritization tools in May - reBoxed and something I called "reMail Commander" - but they need a lot more work.

We were so luck to focus entirely on mobile email. Mobile email usage is growing and there's no reason why mobile email usage shouldn't eclipse desktop usage in 5 years or so.

Sounds smart? This decision fell into our lap: In December 2008, we had a meeting with a potential investor (he didn't invest and probably wouldn't like to see his name here). We had plans to do stuff on the web, desktop, and mobile. During that conversation, it became clear to us that on the desktop we'd get killed by Outlook 2010, Postbox, Zimbra, Thunderbird, and many players with deep experience. In webmail, we'd get killed by Gmail Labs. Mobile seemed like the right spot, with lots of whitespace and huge problems. I'm happy that's what we decided to focus our efforts.

Say it with me, all together now: reMail is reimagining mobile email.

Thanks for your time.

Labels: , , , ,

Tuesday, November 24, 2009

I Love it When ...

I love it when users send me detailed, multi-page feedback on reMail's features and bugs. Yes, it means more work but it shows that they care. Thank you reMail power users - I raise my glass to you!

By the way - reMail's ratings are rising in the App Store. Check out these recent reviews.

Labels:

Friday, October 23, 2009

Million Dollar Apps

Check out Business Week's list of million dollar apps. [1]

My goal is to have reMail join this list in the next 12 months.

[1] Found via marissac

Labels:

Sunday, October 04, 2009

reMail 2.4.1 Released

Read about the new features here. And don't forget to update!

Labels:

Friday, September 18, 2009

reMail V2.3

Please update to reMail V2.3. Here's the list of new features and bugfixes.

Labels:

Monday, August 31, 2009

Yummy New reMail Videos!

I put together reMail's launch video in a haste a few days before launch. With the help of a video pro, we reshot the whole thing. We also added some real-life shots of reMail to show off how fast it really is. Here's the result:



Then I got a haircut (as you will see in a minute) and shot another video. In this one, I talk about how to set up reMail with your Gmail or IMAP account:



A lot of people have asked about how to do advanced searches in reMail. Our full-text search engine is pretty powerful. To illustrate its power, I put together this video that talks you through reMail's advanced search options.



Enjoy!

Labels: , , , ,

Friday, August 28, 2009

reMail V2.2 is Out!

Here's how to update.

Labels:

Thursday, August 27, 2009

Do you speak French, Spanish, Italian, or Dutch?

I think reMail is especially valuable for Europeans. In Europe, you're never more than a few hundred kilometers away from a different country. Having your emails on your phone becomes crucial - European carriers charge a lot for data roaming.

We're looking for volunteers translate reMail into:
  1. French
  2. Spanish
  3. Italian
  4. Dutch
We can't really promise you more than our gratitude and an entry on this page.

The process entails is translating two text files with a total of 189 strings, plus the text for the App Store entry (300 words). I can give you the German and English equivalents. Ideally, you'd be a native speaker with an iPhone set to the language you're translating to.

If you're interested, contact me. My email is here.

Update: Looks like I've found several French speakers willing to help out! reMail seems to be popular in France. :-) Spanish, anyone?

Labels: , ,

Thursday, August 13, 2009

Introducing the New reMail

Today, we're launching the new reMail for the iPhone! It's a completely new product.

reMail downloads all your email to your phone and lets you search full-text at light speed.

All My Email On My Phone? Really?

Yes, reMail downloads all your email to your phone. It will let you read and search all your email when you're offline. Just let reMail run overnight to complete the download. reMail needs less space than you think: 100,000 emails take only 500 MB on your phone - only 6% of the capacity of an 8 GB iPhone (the smallest iPhone you can buy).

This Will Save You Money

My family lives in Switzerland and I live in San Francisco. One thing I've found very frustrating whenever I travel to see my parents are the insane fees that AT&T charges for data roaming: For Switzerland, AT&T charges $19.97 per Megabyte. Check out this SMS I get the moment I turn my phone on the tarmac in Switzerland.

Now, with reMail, I don't have to think twice about searching for meeting times or flight reservations. When I'm abroad, I just download all my email over Wifi and have data roaming turned off.

We put together this page that contrasts data roaming prices with AT&T and T-Mobile Germany with the cost of reMail.

reMail Searches Full-Text

Another crucial difference between iPhone 3.0 Mail and reMail is that reMail searches full-text.

The built-in header-only search is frustrating, because so many times, the words I'm searching for don't appear in the To, From, and Subject lines. If the words you search for aren't in the headers, reMail will find the email, iPhone Mail will not. reMail is email search you can trust.

What happened to reMail Search Beta?

We launched reMail Search a few months back, it was a server-based product. Searches were being done on the server, and you had to give us your email password. It turns out people are very opposed to sharing their email and password with third parties, especially a small startup.

So we built the new reMail. Now, everything happens on the phone. reMail downloads your emails directly via IMAP. No more reMail server.

What reMail Users Are Saying

We have beta tested the app with a lot of users, and they are loving it:
  • “This app is awesome! I use reMail constantly all day. It's so fast!”
    — Sachin Agarwal, Co-Founder, Posterous
  • “I am loving reMail!”
    — Richard Price, CEO, Academia.edu
  • “Complete Berlin trip organized via emails found by reMail. No printed reservations and tickets needed!”
    — Bernhard Heinzel, Beta User
  • “reMail is a super useful app and search speed is incredible.”
    — Dan Veltri, Co-Founder, Weebly

Get it Now

We hope you'll love it too. Get it now. It's $4.99 on the App Store until Sep 1, and $9.99 thereafter.

Update: Coverage here and here.

Labels: , , , , , ,

Friday, July 17, 2009

More reMail Private Beta Invites

Last Friday, when I opened up signups for the reMail Private Beta, the 50 spots were gone in a few hours. Many of the testers have been extremely helpful with trying to debug problems, and almost all the issues they found are now fixed.

This past week, I've also added IMAP support to the new reMail. Before, it only supported Gmail accounts. If you have a non-Gmail IMAP account, have a taste for fast email search, and want to help me test the new version, sign up for the Private Beta here:

reMail Private Beta Signup (IMAP)

There are only 25 spots. While I'd love to bang this against as many IMAP servers as possible, I'm maxed out on developer device IDs in Apple's developer program and have resorted to "borrowing" them from another developer account.

Existing Beta Users: Yup, you can get the new version! You can just re-use the personalized download links I sent you - they will pull the newest version. You'll need to delete the old version first. You can verify you have the new version by going into the "Status" screen - it should say "V1.5". Enjoy!

P.S.: V1.5 also has a localized German UI if your iPhone is set to German. Let me know what you think - it may not be perfect as I put it together at 3 am last night.

Labels: ,

Friday, July 10, 2009

Help me Test the New reMail

Want better search on your iPhone? I'm beta testing a new version of reMail for the iPhone and need your help.

We've been working hard on the new reMail. In this new version, 80% of the code is brand new. It does amazing new things. If you want to help me test it, sign up for the Private Beta here:

reMail Private Beta Signup

There are only 50 spots. You have to have an iPhone with the 3.0 OS and a Gmail account (we'll later support other account types as well). If you sign up, you can't blog / tweet / write about reMail until it's released. Also, I'm trying to get real iPhone users, not the Silicon Valley crowd - read the beta agreement to see if you can participate.

Thanks for your help! I hope you guys will love the new version as much as we do.

Update 1: The Private Beta is now full.
Update 2: All invites have now been sent. Mail me if you didn't get your invite.

Labels: ,

Friday, May 22, 2009

I need your IMAP Settings!

I'm planning to build an "IMAP Settings Directory" for an upcoming version of reMail Search, and I need your help!

Right now when you sign up for reMail Search, you need to manually enter your server settings. That means not only looking them up on your computer. You also need to type it in on the iPhone's small keyboard. That's painful.

In the next version of reMail Search, I want to take a different approach: You tell me who your email provider is, and reMail will pre-fill IMAP settings for you. I want to have this for the top 20 hosted email providers at a minimum.

If you're using a third-party provider to host your email, please leave a comment on this post with a link to their IMAP configuration page. This crowdsourced approach worked well for an Outlook-related request I had last year, so I'm going to try it again.

Here are two examples for what I want:
  1. Mailtrust IMAP configuration page
  2. Gmail IMAP configuration page

Labels: , ,

Tuesday, May 12, 2009

reMail Search Status Update

The people want powerful full-text email search on their iPhone.*

They want it so badly, in fact, that our servers were running red hot yesterday with signups and new users - many more than I had expected.

I turned off new signups for now. For the days, I'll be working on adding more servers, storage capacity, and resolving some bottlenecks in our code. I'm pretty sure I'll be able to add more accounts by Thursday morning Pacific time, but I can't quite guarantee it.

Right now, if you download reMail Search off the iTunes Store, you'll see a screen saying that we disabled signups for now. It will also ask you to join our waiting list. I'll send out notifications to people on the waiting list once I've added more capacity, so please do add yourself. I've also included a few questions about your email behavior to better understand our users.

Thanks for your patience!

Labels: , ,

Monday, May 11, 2009

Launching reMail Search

Quick, what's the most annoying thing about the iPhone's email client? Yup, it's the lack of email search. That's why we built reMail Search for the iPhone. And we're launching a first version today.

reMail Search doesn't just search the subject, to, and from - it's full-text search of your email, on your device.

Even better, reMail Search works offline! You can search your email when you're driving through a tunnel or when you're in a plane. Our server syncs emails you're likely to search for on the device, and you can search them even when you're offline. When you're offline, you can search your entire email archives - with older search results coming from reMail's server.


We've built a lot of smart search features into reMail Search. The feature I use the most is initials search. Typing on the little screen is hard, and the most common type of search query is for people's names. Let's say I need to find an email from Jessica Livingston at YCombinator - I type in "JL", and reMail will suggest a search for "Jessica Livingston".

Sometimes you'll want to do advanced searches from your phone. Stuff like "Only search for everything from Paul that I got last week". If you type in "paul inbox last week", reMail will detect that "paul" is a person restriction, "inbox" is a folder, and "last week" is a time restriction. No advanced search dialogs or typing search operators.

For more, check out our product website at www.remail.com.

Labels: , , , ,

Tuesday, April 28, 2009

reBoxed: Global People Rankings

reBoxedI'm experimenting with a new feature for reBoxed, the email prioritization tool I built two weeks ago.

By having you and others vote on people's relative importance, reBoxed re-sorts your inbox according to the importance of senders in your inbox. But wouldn't it be interesting to see the most important contacts based on the votes of you and others? That's why I built a feature called "Global Ranking", which gives you the global importance of people in your inbox based on everyone's votes.



I'm enforcing two rules to protect everyone's privacy:
  1. You can only see the global importance of people you have communicated with from the Gmail account you're using.
  2. You can only see the global importance of people whom you've voted on yourself (either for or against). If you don't see enough people in your global ranks, you should re-play the reBoxed voting game a couple of times.
Additionally, Global Rankings will not show rankings for addresses you've marked as "not a person" - bulk senders, spammers, and the like - that adds a little more sanity to the page.

You can access the feature through your reBoxed Inbox, by clicking on "Global Rankings".

Give it a spin and let me know what you think! As always, you should report bugs on the reBoxed GetSatisfaction page.

Labels: ,

Saturday, April 18, 2009

48 Hours of reBoxed

reBoxedAnother quick update on reBoxed. I launched it a little more than 48 hours ago. Here's the visitor curve so far from Google Analytics - looks a lot like a hockeystick:



And this is what has happened since my last update:
  • reBoxed was covered in ReadWriteWeb and Lifehacker.
  • reBoxed now has 414 users - compare that to 128 users at this hour yesterday.

I expect that growth will fall off over the weekend, as fewer people use the Internet on weekends. I've decided that I'll take a few more days trying to incorporate user feedback and make the site more useful (rather than working on reMail's core product), but I'm taking part of the weekend off for my own sanity. Hopefully, you'll see new features on reBoxed sometime early next week.

Labels: ,

Friday, April 17, 2009

reBoxed on ReadWriteWeb

Marshall Kirkpatrick writes on ReadWriteWeb:

Former Gmail engineer Gabor Cselle has been working on improving email for years. This week he built a new system for prioritizing all the emails in your inbox. It's called ReBoxed, and it relies on crowdsourced A/B preference voting on email senders, and Cselle built it in just 3 days.

Marshall points out some flaws in our current ranking algorithm (There any many, considering I wrote it so quickly), but closes with this:

ReBoxed is a small project that presumably could become a part of Cselle's larger email startup company, ReMail. That service is yet to launch but if this is the kind of creativity that will be included there, we're excited to see it.

I'll be working on reBoxed all day today and will keep you updated. Meanwhile, check out reboxed.remail.com.

Labels: ,

24 Hours of reBoxed

I launched reBoxed a little more than 24 hours ago, at 5 p.m. yesterday.


Since yesterday:
  • 128 people have signed up for reBoxed
  • 746 visitors have checked out the site. See the Google Analytics pic above.
  • I've made 34 checkins to our source code with bug fixes and new features

We've had some pretty good feedback so far, and users have also tweeted me with suggestions and bug reports - I've set up a GetSatisfaction site for the latter.

reBoxed also now has a "Delete all my data from reBoxed" feature. You can use that to delete all of reBoxed's knowledge of your contacts and email. You can find it at the bottom of your reBoxed Inbox:


Next, I'll be working on the reBoxed homepage. I want to make it more attractive, and I'll break it up into "Home" and "Learn More". I should have that done by tomorrow.

Labels: ,

Thursday, April 16, 2009

Should reBoxed have a "Skip" button?

reBoxed is growing - people are signing up! Pretty exciting to run the script that spits out the number of users. I'll give you an update on user numbers tomorrow (after I've caught up with sleep).

reBoxed lets you vote on your contacts and reorganizes your inbox based on your and everyone else's votes. This is what that looks like:


@andyy writes on Twitter:

@gabor repeatedly wanted a "can't decide/equally important" option - am I too apathetic? :) [...]

I think that reBoxed should not have a "Skip" button. I want you to make a decision. Those two friends that you both value? Your sister vs. your brother? Make a choice. This might sound radical, but one of those people usually does write more important emails.

Labels: ,

Wednesday, April 15, 2009

reBoxed is up!

reBoxedTry it now at:

reboxed.remail.com

reBoxed sorts unread emails in your Gmail Inbox by the importance of the sender. You start by voting on pairs of contacts - "whose emails are more important?". Your votes are then combined with your friends' votes. reBoxed's algorithm then sorts your inbox based on this input.

reBoxed is your inbox, sorted by your friends.

And we built all of it in just 75 hours. (Well, more like 77 - I needed an extra 2 hours to iron out some kinks at the end).

Labels: , ,

reBoxed - Almost done

It's 3 pm on Wednesday, which was my personal deadline for reBoxed. It's not quite there yet - still working out some kinks. But it should be up in the next hour or so.

Labels: ,

reBoxed - Day 3

reBoxedI woke up to the sound of the alarm at 9:00 am this morning, and rushed to pick up a friend at SFO. Should've thought about that when I went to bed at 4:30 am ...

I only spent about 5 hours coding on reBoxed today, mostly fixing bugs and making the UI at least bearable. We spent hours discussing derivative ideas, and probably got a little too excited about the eventual potential of reBoxed. Then, we met with Paul Graham at YC office hours - he seemed optimistic about the idea, but pointed out some UI shortcomings that are going to take a lot of effort to improve.

He had one more point: reBoxed will require quite a bit of input from the user before reorganizing their inbox. I hope users will understand that we can't just reorg your inbox out of thin air, and won't get too impatient with the work we ask them to do.

The quality and speed of the UI, however, will continue to haunt me. I feel like I'm pretty good at designing and implementing UIs, but making them good takes takes enormous amounts of time. With my deadline at 6 pm tomorrow, there's just no time get to get the UI up to my personal quality standards.

Plenty of small work items remain, but I think we're on track to push the first version tomorrow Wednesday at 6 p.m. - Exciting!

--

P.S.: If you're wondering why I only coded 5 hours new today - The Winter 2009 YC founders decided to continue the Tuesday dinners even past the official YC dinners. Tonight, we had a little get-together at Cloudkick HQ in San Jose. I just got back from that.

P.P.S.: I just noticed my original post said I'd have V1 up by Wednesday 3 pm - So that's what I will aim for (instead of 6 pm). I'd say 6 pm is more realistic though.

Labels: ,

Tuesday, April 14, 2009

reBoxed - Day 2

reBoxedWow, it's 4:10 am - I started working on reBoxed at 10:30 am today. Almost 18 hours and 1045 lines of code later, I have a crude prototype working, in line with my plan from yesterday.

reBoxed still seems like an excellent idea, but I've found that it's crucial to keep expectations down - since the reBoxed idea is so new, I still find myself being wildly enthusiastic about it. I typically get much calmer about a new idea after about a week or so.

The first version is going to suck. Especially the UI. I'm going to spend some time sprucing up the user interface on Tuesday, but I doubt it's going to look really good in the next 36 hours.

I wasted some time today by deciding to look into fancy machine learning algorithms for reBoxed. I dusted off my copy of Data Mining (the only ML book I own that isn't with my parents in Switzerland). But after 45 minutes or so, I abandoned all of that and went with something really simple.

People have emailed and asked reBoxed - it's a combination of a number of ideas, some of which I've written about in A Model of your Inbox and How Researchers are Reinventing your Email Client. You'll find out soon enough.

Ok, off to sleep now.

Labels: , ,

Monday, April 13, 2009

reBoxed - Day 1

reBoxedI'm working on an idea called reBoxed and want to launch the product by Wednesday night.

Day 1 went pretty well. I spent an hour setting up a test server, and then most of my time was spent learning Oauth, which I'm going to need to use for getting access to some data I need. I decided to use Leah Culver's Python Oauth code and adapt it for my purposes. I was going to write a Design Doc but decided to just scribble something down for lack of time. This will likely come back and bite me. I was up until 3 am last night and started working at 10:30 am this morning.

So far, on target for Wednesday.

Labels: ,

Sunday, April 12, 2009

reBoxed - An Experiment in Rapid Development

reBoxedI have a little bit of free time on reMail's main product right now and I've decided to implement a possibly great idea I've been thinking about over the last couple of weeks. reBoxed is a new take on inbox prioritization - and I'll build and launch it in the next 3 days - 75 hours. My deadline is to have it done by Wednesday 3:00 pm Pacific time.

My timeline is something like:
  1. Today Sunday: Learn a technology I'll need to understand for reBoxed to work. Write a Design Doc.
  2. Monday: Implement all functionality but keep the UI super crude.
  3. Tuesday: Brush up the UI. Meet with PG at office hours in the afternoon to get his feedback.
  4. Wednesday: Write deployment tools and deploy to a server. Launch.

Don't set your expectations too high: The first version of reBoxed will likely suck. reBoxed is an experiment in how quickly I can develop and launch a mail-related product. And a way to prove out a possibly great idea.

I'll post a daily update on this blog.

Labels: , , , ,