I get lots of email and need to be up to date. Commute time is not used as well as it could be. If I could listen to my email while driving or sitting in traffic I could think about what I need to do and formulate what I need to go back to people with.
This is what started my search for an app that would read out my email for me that was distraction free and could be used safely while driving. My search resulted in a realisation there was a big hole waiting to be filled by Speaking Email.
How it works
Texting and driving is a big issue and we've placed a lot of emphasis on driving safety, making sure there are no complex interactions. Your emails can be continuously spoken, meaning you never need to look at or touch the phone.
Challenges I ran into
We tried doing voice recognition and I learned heaps about phonemes and how that all works, but we came to a dead end and realise we needed to rewrite and use a different library so had to pause on that. I'm keen to get back to it but need to pace ourselves due to too much to do.
Mobile development on Cordova using Windows has been difficult due to debugging tools being a bit faky and general slow code-debug-run cycle that you get with the build process.
Emails are difficult to process with the many complex formats in the wild.
Accomplishments that I'm proud of
Getting our first app in the App Store just over a month ago was an exciting moment!!
What I learned
Learned a lot more about email. I thought I knew a lot already, like how inline attached emails and CIDs work, but turned out there was a bit more to it with iPhone emails being multipart mixed and still containing inline images. With gmail api you have to compose messages in raw format - base 64 with mime boundaries which I've never had to do in 20 years of programming!
What's next for Speaking Email
We've just pushed a new version to the App Store, now supporting Gmail, Outlook.com, Yahoo! Mail, iCloud, or any IMAP mail server. We've also built in more customisation of how you manage your email (eg mark as read or move to folder instead of archive). Next up is the Android version and better integration of Context.IO including utilising their Exchange connector. Then possibly voice recognition.