I’m a heavy Gmail user, with 6 (soon to be 7) separate Gmail and Google Apps accounts. On my Macbook, I actually IMAP in to all of the business accounts using Mail.app for one reason: cross-account search. For my personal account, though, I’m extremely reliant on Gmail’s web interface. I’ve used Mailplane in the past, and really loved it…with the exception of the inability to do cross-domain search. I use that daily.

On the mobile, there’s no option for cross-account searching. Mobile Mail.app gives me some native functionality and speed, but without cross-account searching, I’d much prefer to use Gmail’s mobile web app. HTML5 support in recent releases has made it faster, easier to use, and hands down one of the best mobile apps on the internet. I used Mobile Mail to connect to my Gmail accounts over IMAP because having multiple bookmarks was clunky no matter how I configured it, but I was always looking for something better.

In all cases I use IMAP because it keeps accounts in sync; changes made on the computer, the web, and the iPhone are all synchronized via IMAP.

I never used Push for my email because, well, I get a lot of it. I rely on Push for contact and calendar updates, but for email…if I haven’t checked my mail in 10 minutes, I can be sure that there’s something new in there.

Worse are unread counts. I’m compulsive about unread accounts. Mail, RSS feeds, Campfire, whatever it is…I hate having things unread. It’s a bad behavior, because I treat unread counts like to-dos, and in all of the scenarios where unread counts keep me on my toes, they are essentially to-do lists that OTHER people can put things on to. I’m already busy, I don’t need someone else to put more things on my to-do list.

The biggest loss in using Mobile Mail.app is tags, something that I do use pretty extensively. I’ve learned to get around it in Mail.app, which has better drag and drop support for moving things into folders that represent tags over IMAP. Mobile Mail.app was just clunky, and I resolved to not do that interaction on the go unless I had to.

I know I’m not describing everyone, but I am describing a lot of people. And as more corporations move their mail infrastructures away from Exchange and into Hosted Google Apps accounts, the group with this set of needs grows more and more.

A few weeks back, Dave Martorana (of MultiFirefox, Multiplex, and Two Guys on Beer fame) slung me a prototype of an app he’d been working on at IndyHall. It was called “MultiG”, and was basically an app that did fast account switching between Gmail and Google Apps Gmail accounts. It was rudimentary, but instantly useful for me. He quickly added an “unread” count to the accounts dashboard, but then did something I had never seen in an email client. He added a secondary badge that showed how many messages were actually new. I mean, how many of your unread messages weren’t there the last time you looked.

Think about that for a second. The anxiety of unread counts has finally found its Prozac.  All I care about is how many messages are new! In casual conversation, I dubbed this feature “TrueNew”, something that I hope other developers build into their app notifications.

At this point, I was hooked. But Dave wasn’t done.

He’d also whipped up integration with the iPhone’s native address book. I haven’t gone through the process of moving my address book into Google, and again, I have multiple accounts so where would I sync my address book to? Not all of them.

Dave added a button to the chrome of the Gmail browser window in his app that let me pull up my iPhone address book and insert email addresses right into the “To:” field. Sneakily, if I turned on CC or BCC, the exact same feature gave me the choice of which field to put the address in to. Simple, sleek, lovely.

Since emails tend to include attachments and links, Dave also put in a handler that made sure that they opened without leaving the app, much like our favorite iPhone Twitter client, Tweetie.

This feature set changed the way I interacted with mail on my iPhone. It made my life better. It made one of the most painful parts of my day, dealing with email, less painful.

We realized that “MultiG” was a lousy name, and Johnny Bilotta (the other Guy on Beer) proposed “Mailroom”.


He whipped up a sexy icon, and we were off to the races.

Dave got the app in the hands of a few other testers, worked out some kinks, processed some feedback, and with the hand of myself and co-conspirator Amy Hoy pushing him to “ship as early as possible”, got it into the App Store.

Initial feedback was mixed. People who were like me in terms of email use loved it. People who had different email workflows weren’t as convinced, and many people saw it simply as a “wrapper for Gmail”.

Technically they were right, but they were missing the progressive enhancements because they didn’t augment their workflow. The app wasn’t for everybody, and we knew that. We’d still struck a chord with a good number of our initial users, and got some great feature requests.

2 weeks later, Dave pushed out a significant release to Mailroom. We’d prioritized feedback against our desired feature set, and introduced some new ideas of our own. At the root of the new release was a settings screen.

Badge Icons were a huge part of our 1.0 release feedback. We’d been hesitant to include them by default because, without Push (which I’ll get to in a minute), the counts were largely inaccurate most of the time.

Since we wanted to encourage people to start using TrueNew, we made that the default badge icon if enabled, but gave the user the ability to turn on unread counts instead.

Another major improvement was both workflow and performance related. If you only had one account and used Mailroom, launching the app to the dashboard was wasteful. If you left Mailroom on a given account screen to go to another app, launching put you back at the dashboard again, which was undesirable. We gave users the opportunity to remember the last account used, meaning that as soon as they launched the app they were where they left off last. This immediately made my email experience more efficient.

And as a bonus, Dave gave the user the option to lock screen orientation. Not something I was particularly needy for, but a nice touch nonetheless.

And then there’s that last setting. Cache management. What’s that, you ask?

Well that brings us to the biggest quiet improvement to Mailroom 1.1. The app is now taking advantage of Gmail’s HTML5 offline storage. What does this mean?

It means that every time you visit an account, the entire interface is cached locally and a HTML5 database is created/updated with the email on your screen. Kill your connection (because ATT sucks, because you’re on an airplane, or because you’re in a meeting) and Mailroom is still useful. In fact, you can not only read messages, but you can reply to messages and even COMPOSE NEW MESSAGES without a data connection. As soon as you reconnect, your cached messages are sent while retrieving new mail.

He even made the multi-account dashboard smart, only allowing you to enter accounts that had offline caches from a previous visit.

Yesterday, all of these 1.1 features hit the iPhone App store, and already a large percentage of our users have upgraded. One of them left us a review in the app store that commended us not only on the app and how great its icon is, but on Dave’s responsiveness to feature requests. Big win for us, that’s exactly what we wanted.

We’ve already talked about feature roadmap for 1.2 and 1.3 releases, and it’s very much in the works. The plan is to continue with iterative releases, process feedback, and continue to grow the user base all at once.

Two “issues” continue to arise: the lack of Push badge updates, and the $2.99 price point of the app.

First, push isn’t as “simple” as some of our reviewers seem to think it is. Among the scaling concerns we have about people who move a lot of email. I ran some averages and my smallest inbox gets well over 24,000 emails a year. Those numbers aren’t staggering, but across the customer base we’re targeting, that becomes a LOT of notifications to deliver.

The real technical challenge is more complicated though. In order to accurately update badge icons over push, we’d need to store email addresses and passwords on a server somewhere, and that’s a HUGE security risk that we can’t figure out how to justify. I know I wouldn’t want that info out there, and I have to imagine that our users wouldn’t like it either.

So until we come up with a more elegant way to support push, Dave has built in an app-specific URL handler. Calling mailroom://username@domain.com from another iPhone app or even from a mobile web page launches Mailroom, and even jumps straight to the account if there’s one in mailroom that matches the email address in the URL. We’re hoping that other push services like Boxcar and  Prowl can build in support for our app. We know it’s not the best solution, but given the infrastructure for Push provided by Apple, we’re pretty limited in what we can do. We don’t want to deliver a half-assed experience, so until we figure this out, Mailroom will not support push. If anyone has suggestions for how to overcome this hurdle, our ears are WIDE open, so please, sound off in the comments or via email.

And about that price point. Some customers seem to think that $2.99 is too much for an app that’s “just a webkit wrapper”. I won’t do more than touch on the fact that it’s not just a webkit wrapper for the right users and workflows since I’ve already explained here. But why $2.99? First, we’re targeting business users and we know it. They’re more comfortable spending more money on apps because in most cases, businesses equate cost with quality. But more importantly than that is the fact that this is, in most cases, a high-touch app.

99 cents for an app that you’re most likely going to touch at LEAST once an hour, if not several more times in a given day, feels undervalued. Like Tweetie, which I launch several times a day, I feel like I get an immense value for the $2.99 I spent on it.

Fact is, our first release might not have been worth $2.99 for everyone and you could say they got pegged with an “early adopter” tax. But since we’re not charging for the updates, and plan to roll them out often, we don’t think its really a tax at all. It just means that you will continually get more value from the app you already paid for.

We’re confident that future releases in our roadmap will continue to win people over the price point and even the “it’s just a webkit wrapper” theme. Mostly because, we’re listening. We hear what people like, don’t like, and how they are using the app. The more people feed back, the more they help to shape the future of Mailroom.

If you haven’t already, please consider heading to the App store and picking up a copy of Mailroom for your iPhone or iPod Touch. We’d love your feedback, and absolutely appreciate you supporting independent software development. You can also follow us on Twitter for app updates, or send us ideas and feedback there as well.