Google on Monday released the first beta version of its software developer kit (SDK) for Android phones, a significant step in the company's hope for "open" phone technology.
Google, which is leading the 34-company Open Handset Alliance to create the largely open-source Android software stack for mobile devices, already had released an "early look" SDK in November 2007. With the new beta SDK, though, the company is telling programmers they can get started in earnest creating software that will work on Android phones due to start shipping later this year, though stopping short of promising full compatibility.
"Since this is a beta release, applications developed with it may not quite be compatible with devices running the final Android 1.0," Google developer advocate Dan Morrill said in a blog post.
Among changes in the new SDK are the addition of the phone's new home screen as well as some new applications for controlling the camera, playing music, setting alarms, viewing pictures, and dealing with SMS and MMS messages.
Android phones, notably HTC's Dream, are due to ship in the fourth quarter.
Google had hinted in May that the new Android SDK was imminent, but the company ended up sharing it only with finalists in an Android programming contest until Monday. The Android Developer Challenge is awarding $10 million to coders to try to jump-start development efforts; on Monday, Google said a second challenge will be announced later this year that "will give developers a chance to build polished applications once hardware is available."
Google hopes Android phones will be open to run innumerable applications, not just locked down to handle a relatively small number of authorized packages. To achieve this promise though, one key step is helping programmers to write that code. And SDK does just that, for example, by providing a software emulator that can run Android applications without an actual Android phone.
When it comes to Android's APIs (application programming interface), though, some significant features were removed in the new API. "Due to significant API changes in the upstream open-source project and due to the timeline of getting certain Bluetooth profile implementations certified, a comprehensive Bluetooth API will not be possible or present in Android 1.0," Google said.
Also removed is GTalkService, an API for instant messaging. "Due to the security risks inherent in accepting arbitrary data from 'outside' the device, the data messaging facility of the GTalkService will not be present in Android 1.0," though the phone can use Google's servers for Google Talk IM, Google said.
"We know that these changes will affect many developers who have worked with the prior early looks at the SDK, and we are very sorry for the resulting inconvenience," Google said in the release notes. "We look forward to the possibility of restoring some or all of this functionality in a later version of the Android platform."
For further details, see Google's not terribly illuminating Android developer road map, SDK change list, discussion group, and some porting tips for programmers moving their code to the new SDK.