TLDR: The web app Gander is now the iOS app Skimbox.
Et tu, Brute?
Star of the Nightmare: User Experience
The cool classification technology we are working would be of no use without a great user experience. The expectation of a modern mobile app is that it will be responsive, interactive, very fast and a joy to use. It simply is not possible to build this quality of user experience using HTML5 and a mobile browser, even when applying all the fancy CSS hardware acceleration tricks.
Upon waking, we thought...iOS or Android?
We bit the bullet and decided to rewrite Gander as a native app. We started with iOS since it it’s the platform of choice for the early users we’ve talked to. Enterprise users in North America seem to prefer iPhones even though Android is gaining so much traction for consumers worldwide.
Developing for iOS is fab!
The Xcode documentation, github integration, debugger and simulator integration all enhance productivity significantly.
...Most of the time
The major downside we’ve found so far is merge conflicts in large XIB files. We’ve mitigated that by a combination of technologies and Dev processes: using smaller XIBs, regular merges, small stories, and better code comparison tools like Source Tree.
A new way of prototyping
We thought we would continue to maintain the web client for prototyping purposes. Meteor has been a great prototyping tool, allowing us to experiment with new ways of getting users to triage their email faster. However, the combination of the Interface Builder and proto.io, we can prototype reasonably quickly for an app, and then wire up the code later.
We already had a pretty good architecture for both scaling and keeping client overheard to a minimum. Flexibility as needs evolve is the confirmation of a good architecture. In Skimbox’s case, the web client and native app are sharing the same schema in Mongo, the same node.js scalable server infrastructure and the same backend interface to the mail servers.
Back to the Future
I cut my teeth programming K&R C on a PDP 11/45 run BSD 2.9 in 1982. It feels super strange to be writing iPhone apps in a Smalltalk + C language on a computer running BSD in 2013. Dr. Emmett Lathrop Brown would be proud. Have we progressed so much or so little in three decades?
Lol. So when will it ship?
We are expecting a minimally functional V1 of Skimbox over the summer, with more substantial, enterprise ready version to ship around iOS 7 timeframe. You can sign up here. As always, we look forward to your great feedback!
*Give or take