Skip Links

Network World

Mark Murphy

Coloring Outside the Lines

Fuel Behind the Android Fragmentation Fire

By Mark Murphy on Tue, 11/24/09 - 12:10pm.

A recurring meme in Android-space is fragmentation. One source of such fragmentation fear is the current triad of Android versions in public use: Android 1.5, 1.6, and 2.0. That situation should improve with time, as 1.5 vanishes, most devices move to 2.0, and 1.6 is perhaps used for some devices.

However, the other area of perceived fragmentation comes when device manufacturers or developers “coloring outside the lines”, by which meaning that they do not follow the contract set forth in the form of the Android SDK. Whenever one side or the other fails to pay attention to what is in (and not in) the SDK, compatibility becomes an issue, which may add to the fragmentation fears.

A device manufacturer “colors outside the lines” when it modifies Android to suit its fancy yet does so in a way that breaks public APIs. For example, device manufacturers will frequently wish to revise the Contacts application, so they can add their own value to their devices (e.g., offering a blend of traditional contacts and ones imported from social networks). Making such modifications is fine...so long as the public APIs still work. Alas, that is not always the case.

When a device manufacturer breaks the public APIs, applications that depend on those APIs will break as well. Users who try to use these apps may start by blaming the app as being “buggy”, but over time the pattern will become obvious, indicating that the device itself is “buggy”. This is unlikely to help the device manufacturer's sales in the near term.

Similarly, developers “color outside the lines” when they attempt to dive past the public APIs contained in the SDK and use facilities not ready for such use. For example, most of the SMS add-on apps on the Market today do so in violation of the SDK, because the SMS content provider is not part of that SDK. Device manufacturers are given specific latitude to change up things that do not impact the SDK, and the core Android team itself may change how things like SMS work in the future.

Developers who rely on undocumented capabilities run the risk of eventually “getting caught”, because either Android evolves or a new device shows up that changes those capabilities. Once again, users will grouse about these apps being “buggy”, which in this case is technically accurate.

If too many developers or device manufacturers “color outside the lines”, Android device users will eventually conclude that Android applications are not trustworthy. Think of such buggy apps and devices as pollution that degrades Android as a whole, even if any individual application or device problem has minor incremental impact.

Open source and open markets mean there is less enforcement of the SDK as a contract. Instead, it is up to all actors to behave responsibly and help steer miscreants back to compliance. While there is always room for growth, Android as a platform is rich enough to create a wide range of applications and compelling devices — breaking Android to try to one-up the competition is a bad move tactically for you and a worse move strategically for Android.

Dead on

0

I got ahold of a Hero for the first time, and was shocked to learn it was only 1.5. So I updated it, only to find after the update it's still 1.5!

I'm betting it's because the phone supports Adobe Flash in the browser, and they want to preserve flash while updating.

Could also be because it's not a Google Experience phone.

Not being a Google Experience phone might also be why it has Adobe Flash.

Sir, your site has popups.

0

Sir, your site has popups.

coloring Outside the Lines

0

Mark, I think we agree that it's OK to color outside the lines...as long as you don't fall off the page!
Jeff Tobe
www.ColoringOutsideTheLines.com
(author: Coloring Outside the Lines; Business thoughts on creativity, sales and marketing)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You can use BBCode tags in the text.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <p> <strong> <i> <br /> <br> <ul> <ol> <li> <dl> <dt> <dd> <blockquote>

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Welcome, visitor. Register Log in
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.