- the capability of recording a complete path track, via GPS, rather than recording only the observation spots
- the capability of attaching a sound recording to the observation
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:
- 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.
- 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.