When we released Splitwise for Android v3 last November the whole team let out a sigh of relief: We no longer had an Android app that sucked, but rather a native, sleek beast we could all be proud of.
Seems like all our Android users breathed a sigh of relief, too — our average rating in the Google Play store climbed by .3 in a matter of days, and we got tons of excited emails, Tweets and blog comments from our long-suffering Android folk.
Today we’re pumped to announce that we’ve kept our Android-awesomeness momentum going. We released multiple payers a couple days ago (version 3.2.4), and offline mode is being beta-tested right now by some very kind community members. We’ll release it to the masses once we’ve slain all the bugs.
Our hearts do a little dance every step our Android app takes towards feature parity with web and iPhone. As always, we’re so grateful to have you (yes, you) along for the journey.
Take the leap to learn how co-founder and lead mobile dev Marshall got offline mode for Android up and running. Spoiler alert: It was hard.
Co-founder and lead mobile dev Marshall was inspired by Dropbox’s “incredibly helpful” dev blog posts on their Carousel and photo-sharing infrastructure. Their put-it-in-the-queue model is the foundation of how our offline mode for Android works.
Previously, the app was designed to communicate with the server each and every time a you made or edited a bill. In the absence of an internet connection that communication would simply fail.
Now, the app keeps a log of all changes made, and tries to push them to the server in the order they were committed. When you don’t have a connection the app can simply skip over anything it can’t immediately execute, intellegently saving it for later. The best part is it can do all this in the background, meaning you can add a bill and then immediately do some other task, like checking a balance with a friend, without being subjected to an annoying saving toast and lost seconds. This means that even if you never use offline mode for Android, you’ll now enjoy a better, faster add bill experience.
Conversely, our offline mode for iPhone still tries to save the expense on the server. Once the request has failed, the app marks the expense to be saved later. This still makes you sit through the saving screen, waiting for 30 seconds until the request times out.
About this new iPhone/Android difference Marshall was happy to note “this is the first case of our Android app having something significantly more awesome than iPhone”. We know it’s long over-due!
Marshall also lauds Path and the Robolectric testing platform as critical resources during this development cycle.