Platinum Partner
java,mobile,android

Pros and Cons of Modular Android Apps

Android has got some powerful characteristics that, paradoxically, are posing me some serious decisional issues. For instance, the Activity/Intent facility is very suitable to create modular applications and to foster cooperation among multiple applications. For blueBill Mobile, for instance, I'm thinking of a number of enhancements and new features, among which:

  1. the capability of recording a complete path track, via GPS, rather than recording only the observation spots

  2. the capability of attaching a sound recording to the observation

There are already existing applications for Android that perform those tasks, so one might think that it's better to integrate them rather than writing the code by himself.  Not only you save time, but you also offer the user the choice of which helper application to use.

This raises two problems:

  1. integration tests. You need to test your application together the ones you're integrating, and this means that you have to pay attention not only to your own releases, but also to those of the external applications.

  2. user friendliness. While you might want to advertise "blueBill Mobile supports recording bird calls", then you have to explain to the user that he needs to install additional software. Of course, you can do that by means of a dialog box, but I fear this could be annoying in some cases.

It would be nice, indeed, if the Android Market could declaratively enforce a dependency relation, that is if it was possible for me to declare that blueBill Mobile needs GPS Logger Pro or HiFiCorder and automatically offer the user to install them. 

What do you think? I'm going to buy a directional mike for my Motorola Droid and decide which way to go. I have to add that I'm thinking of other very specific new features of blueBill where a plugin architecture, that could rely on other blueBill-XYZ applications, might be helpful; for instance, various plugins could bring in the capability of populating the birds fact sheets from different sources (WikiPedia and other ornithology-specific sites). But I'm a bit puzzled about the user friendliness thing.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}