Developing for Apple’s iOS vs. Google’s Android: Case Study from Peegos Publishing

by Moms With Apps on April 30, 2011

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.

{ 7 comments… read them below or add one }

Stephanie Rach May 1, 2011 at 9:30 am

Thank you for this refreshing feedback! It is a big decision – time and budget – when it comes to stepping into the Android market. We stepped into iOS/iPhone then iPad almost two years ago and are amazed by how much has changed, and we feel like we are constantly updating because of our early entry. I think for all new developers the enthusiasm to jump in needs to be tempered by the changes that happen everyday and the cost to keep up with the changes. Though we experience an increasing number of people asking when we’ll have an Android version of Let’s Go Chipper we feel that our time is better spent in the the watch and plan phase as well. I’d love to hear feedback from others as well. Stephanie
http://www.letsgochipper.com

Lenny Greenberg May 1, 2011 at 1:40 pm

Very good article on the Android challenges. It presents more challenges with a smaller kids title App buying audience than iOS. A few other things the we found:

- Limit devices and form factors. There are two screen Android devices coming to the market. We are not rewrtiting for that. There are very small resolutions where your App may not look good. We are now pretty specific on minimal resolutions and have a message in the App when someone tries it on a QVGA phone, for example.

- Decision on which Market to post your product. Many devices don’t have the Android Market. For example, the nook color only uses B&N’s own market. Archos devices use AppsLib. Amazon is promoting its own app market that allows users to preview apps on their computer. There are a dozen more.

- Vendor specific “oddities”. The “standard” four device (menu, back, home buttons, search) are not consistent or even there on some devices. Minimize their use.

Tom Horn May 1, 2011 at 5:14 pm

I wonder if you had considered developing your app natively?

That way you aren’t dependant on the version of Flash installed and you will also have an easier time with the resolution variants. The layout stuff on Android is pretty nice.

Sara Chang May 1, 2011 at 9:07 pm

Stephanie, glad to hear that we are not the only one standing on the sideline in the Android scene. We are preparing to re-visit the issue in July. So we will see what happens! :)

Sara Chang May 1, 2011 at 9:09 pm

Lenny, thanks for the tips. I will be sure to keep them in mind when we get back to our Android development effort. I very much agree with your first point, we will have to put a limit on what resolutions we will support. It is just impossible to support them all!

Ramon Paxus July 4, 2011 at 12:05 am

You keep mentioning the problems with older versions not supporting flash? I wonder what version these might be, as I know that my trusty old HTC G1, the first ever android device, running Android 1.6 already had Flash working just fine.

Dennis Chang July 9, 2011 at 11:07 pm

Development for iOS is also fragmented, albeit not nearly as much as with Android. I’m finding that my iPhone 2G can’t run any of the apps I want; I’m stuck with old apps from the early days of iPhone development.

I know that not many people own the 2G any more, but the fact remains that iOS isn’t as monolithic as many purport it to be. Without dumping my iPhone 2G, I’m excluded just like the fringe versions of Android out there.

Leave a Comment

{ 1 trackback }

Previous post:

Next post: