Our first feature this week is written by Sara Chang of the husband and wife team at Peegos Publishing. Their children’s book app, The Odyssey, translates the classic story into an interactive format for children to enjoy. Sara explains their thought process on supporting iOS or Android, and which factors are making the biggest impact in this evolving decision.
As a relatively new mobile app developer, we at Peegos Publishing had to learn best practices when it came time to develop for Android, versus a much more familiar iOS environment.
The idea to develop our app came when we were trying to find kids’ versions of world classics for our 4-year-old daughter. Rather advanced in her taste for stories, she was ready to explore beyond the popular children’s stories. Without much luck in finding the kind of stories that we wanted, we set out to develop our own animated ebook. Our idea was to combine cartoon-like animation with static pages, in order to keep the children engaged.
We decided on an app format that combined multiple animation styles into one easy-to-use app. In the iOS world, this was a relatively simple task. There are basically two devices: the iPhone and the iPad. Every iPhone in the consumer’s hand has the same size screen. At the time of our development, there was only one version of the iPad. Developing for Apple’s hardware devices is not too difficult and easy to test.
Android has much more diversity in hardware, and development is getting both better and worse every week. There are multiple versions of the OS, multiple hardware platforms, multiple screen sizes, hardware limitations, different marketplaces and Google app size restrictions. Not all hardware manufacturers update their hardware to the latest version of Android, so there are always going to be older versions floating around. The addition of features in later releases, like Flash support, makes development easier. But with each release, there is more testing required, which means decisions need to be made about which versions of the OS to develop for, and which to ignore.
Since our app is very graphic intensive with animation, we ran into a few specific problems. First, with the lack of Flash support on older models, the animations needed to be much larger in file size, and we needed several versions of them to support the different screen sizes. However, Google places a limit on the size of the app that can be on the phone. We had to choose to limit the number of different screen sizes we would support, thereby making our app not look optimal on many devices. Alternatively, we could develop in Flash so everything could fit, but exclude a large percentage of our potential customer base.
In the end, we decided to put the project on hold until the number of Flash-based Android devices outnumbered non-Flash-based devices.
Apple controls every aspect of their world, and while this can limit what a developer can and cannot do, it at least gives them the advantage of knowing what these limitations will be for the foreseeable future. Developing in the Android world can be a lot more frustrating, even though there may be more options for advanced apps using faster hardware.
In conclusion, we will name iOS the winner in ease-of-development over Android. But are we completely giving up on Android? The answer is no. It might take Google just a couple more iterations on the OS for us to be able to bring all of our features to Android.