Since launching Pocketbook 12 months ago – there was always a huge calling for Pocketbook to be on mobile. We knew we had to be on mobile – but when we did we wanted to make sure we got it right. First impressions count!

Our decision to launch on iPhone first was based on stats. We could see more of our users coming to the Pocketbook website from the iOS platform versus Android.
I wanted to give you some background to our Android development process.
Laying the groundwork
We laid the groundwork for a mobile offering quite early on. In particular, prepping the API’s that would power the app. Even before we had finished launching the iPhone app – we had already begun working on the Android version.
Some challenges over iPhone development include factoring in major changes to Android API versions and the fact that we wanted to support all major Android phones in use today. Each brand and model had a different screen size and resolution. To ensure that our app was widely available for everyone, we used a combination of Google support libraries and 3rd party libraries such as ActionBarSherlock.
Using iterative development we were able to quickly bootstrap working prototypes very early on in development. Building an app the second time around (after iPhone) – the pace was much quicker as we knew where particular bits of information would go and what they should look like.
Major Improvements on Android… then iPhone
One of the big wins we had while developing on Android was performance.
Based on the user feedback from our iPhone app – we understoodd that the app was slower than our users would like it to be. This was consistently the major piece of feedback from our iPhone users. Developing for Android gave us the perfect opportunity to look deeper into this area and tackled it from 2 fronts.
We were (and still are) using a 3rd party library called Pixate and we worked very closely with their team to improve the performance on the iPhone. On our side we did some major optimisations to our APIs and client-side API logic.
The end result here was impressive. A speed improvement increase in the order of 5x. If you’ve used both the Android and iPhone app – you would have seen the difference immediately – the initial release of Android was the first to benefit from these optimisations.
Today we’ve built the improvement back into our iPhone app, so both are now blindingly fast. The new iPhone version (v1.6) is in the AppStore today.
Challenges coming up to release
We originally wanted the Android app to go out in late August / early September. As we neared the final stages and began rigorous testing across different Android phones and different environments (lots of apps open, using camera etc.) – some problems started to crop up.
Some of these problems would only manifest on certain models of phones – e.g. Samsung Note 1 vs Note 2 behaved differently. Sometimes the app would crash following in a certain set of conditions e.g. low memory states or when the camera would be used. Accounting for all these scenario’s across different devices takes up a lot of effort.
We wanted to make sure that users had a great experience from the get-go. So we took the time to iron out all the kinks before release day. This involved a combination of remote crash tools, bringing back certain phones into the lab and attempting to replicate scenario’s which we had seen cause issues while we were out and about using the app.
A huge effort in all. If there was one thing that took the most time during development of the Android app – it would be this.
Get the apps today
If you haven’t yet tried our iPhone and Android apps, you can get them here:
Android App and iPhone App
And please do keep the feedback coming – we read every single one of them.
Alvin
