Skip Links

Network World

Mark Murphy

The Calculus of Integration

Why Android App Developers Should Add APIs of Their Own

By Mark Murphy on Wed, 01/13/10 - 9:24am.

A lot of developers like going past the bounds of the Android SDK to tap on innards that, while publicly accessible, are not part of the official API and therefore are subject to change. Reading the SMS client database, connecting to the Amazon MP3 music store app, and the like are all sexy, but not part of the API. Developers, in turn, then tend to complain that such things really should be part of the API.

However, what I don't see all that much of are Android developers adding APIs to their own apps. After all, what's good for the goose really ought to be good for the gander.

Android has a rich framework for applications to offer integration points that other applications can connect into. There is a whole message bus (so-called “intents”) that apps can elect to tie into, such that other applications can send messages that trigger your app's UI (“activities”) or background processing (“services”). There is a formal remote procedure call system for exposing a traditional object-based API to third-party applications. There is the whole framework of “content providers” that provide an abstraction around your app's database, letting you expose some subset of your data to other applications. There is the extensible permission system, so you can ask that users agree to allow other applications to access your app's data. There are ways to detect if certain intents will generate a response, so third parties can gracefully degrade their applications if yours is not installed...or even trigger a link to the Android Market to let people download your application. There are even intents that, if you add support for them, will allow you to be an option for users from built-in system applications.

Yet I hear about relatively little of this being used.

That's sad, because offering such integration points can be very valuable. Every application that integrates with yours helps drive demand for yours. They can even help drive awareness of yours, since other authors will be touting integration with your application as a feature of theirs. Techniques like these, more so than trying to do the equivalent of SEO on a Market category, have the potential of delivering sustained benefit. Not only that, but users do well in the process — the whole of their purchased apps may well be greater than the sum of their parts.

Should the Android SDK offer more APIs to internal applications and capabilities? Indubitably. However, at the same time, developers need to put their money where their mouths are, and offer up APIs of their own. It benefits them, it benefits users, and over time it benefits Android as a whole.

About Android Angle
Mark Murphy is the founder of CommonsWare and the author of The Busy Coder's Guide to Android Development. A three-time entrepreneur, his experience ranges from consulting on open source and collaborative development for the Fortune 500 to application development on just about anything smaller than a mainframe. A polished speaker, Murphy has delivered conference presentations and training sessions on a wide array of topics internationally. Outside of CommonsWare, Murphy has an avid interest in how the Internet will play a role in citizen involvement with politics and government.
 

Most Discussed Posts