and his epic battles with software bugs

Announcing Better Mail

About a year ago I bought the first Android phone available in Japan for the sole reason of making apps. Unfortunately I’ve had very few itches that needed scratching.

About a month ago that changed, because the built-in Gmail app has a fatal flaw.

The Problem

If you temporarily lose connectivity while sending an e-mail, the e-mail gets stuck in a “Sending…” limbo. There’s no way to re-send the message. It’s not even possible to edit the message. It’s not in the outbox, and not in the sent folder.

When OhLife first started I spent 30 minutes writing my first journal entry. Unfortunately I’ll never get to read that post again because it never finished sending.

Also the native app doesn’t support Japanese emoji. Which means that sometimes I get what looks like blank e-mail from my wife or my friends which were actually just full of emoji.

I decided to do something about it. So I started using the Gmail mobile web app which doesn’t have this problem. Pretty soon however I started to miss the integrated experience of the native app.

My Solution

Better Mail is a native android app with a WebView hardcoded to mail.google.com. But that isn’t all, it also listens to the same new e-mail broadcast as the Gmail app. It will notify you of new e-mail without a constantly running background process. It also includes a native menu so that you can navigate without having to scroll all the way to the top. Also, since Better Gmail is a separate application it stays in memory longer than a web-page would which makes it much less painful to use. I also took the time to fix some of my pet-peeves with Gmail’s notification style. For example, I added a “Quiet Mode” feature that automatically turns off sounds and vibrations when you get new e-mail at 2 in the morning.

The Price

A buck. Making this application wasn’t trivial, since I had to do some reverse-engineering. While the die-hard Free Software nut inside me has some reservations about using DRM, it does improve performance a bit. And performance is the biggest problem.

I have a lot of ideas in the pipeline that I could work on if there’s enough interest. Eventually I would like to try injecting my own javascript code into the page to provide an even deeper level of integration.

Update:

I’ve decided to work on bigger and better things. The code is now Open-Source (GPL) and available for free!

The Future

This app is definitely a minimum value product, there’s plenty of room to expand. If anyone has a feature request let me know via e-mail or in the comments.