The newest version of the Android SDK was released recently, without support for the GChat and Bluetooth APIs as it did in the first few releases. As some developers were upset as to why the vital functionality was ripped from the SDK, Google has finally offered an explanation as to why it decided to make the move.
The Android Developer’s Blog is reporting that security vulnerabilities had surfaced in the GChat API that forced the team to pull the functionality before it went “mainstream” and out to thousands of developers. In another twist of fate, the team working on the Bluetooth API stated they “simply ran out of time” for the development of a stable Bluetooth API before the first devices came to market.
The “XMPPService,” as it was called at first, was included in the first early-look SDK and was the backbone for the GChat functionality that many developers were anxious to begin using. A security review team was brought in, however, who pointed out some “fundamental security problems” that had to be addressed. Rich Cannings, one of the security researchers brought in to review the API, had this to say; “when I first read about ‘GTalkService,’ I was both excited and scared. As a developer, I was interested in a feature that provided a simple interface to send messages between two Google Talk friends. The messages would appear on the receiving device as a standard Intent that was easy to handle. How simple and beautiful is that? Unfortunately, when I put my tin foil hat on, I recognized that things are a little more complicated than that.
While the first Android handsets will support Bluetooth, the API was removed mainly due to the fact that is was “incomplete,” and therefore not ready for a full-fledge release to developers. It seems Google didn’t want to delay the release any more than it already has, and therefore just removed the Bluetooth API all together in preparation for a future release.
Nick Pelly, one of the Android engineers responsible for that functionality, had this to say about the removal; “the reason is that we plain ran out of time. The Android Bluetooth API was pretty far along, but needs some clean-up before we can commit to it for the SDK. Keep in mind that putting it in the 1.0 SDK would have locked us into that API for years to come.”
While it’s disappointing for some developers who had high hopes on incorporating chat and Bluetooth functionality into their apps, it’s better overall to simply remove them, bring to market the first handsets, and then work on repairing and finalizing them for years of use. I would guess Google has seen what happened with Apple and the iPhone 3G, and wants to avoid such problems with their device. Something as simple as a defective 3G chip has brought a lot of problems to the iPhone, and it’s smart for Google to learn from Apple’s mistakes.