In case you've been living under a rock – or simply don't care about mobile development – Google recently released a public preview of Android, a new platform for mobile devices built on top of a Linux kernel. You may have heard of it before as it turns out that Android is the thing everyone assumed to be the Google "gPhone". Well, they're not releasing a phone but with a ton of device makers on board to use Android (sounds like everyone except Apple, surprise, surprise) I don't think anyone is going to mind.
One of the more interesting things is that applications are developed in Java with the Android
SDK and use Android API calls to access device functions such as Bluetooth, cameras, touch screen, etc. Apparently you can use C as well but it's far more complicated to get everything going so it's probably not worth your time. I do wonder if other programming languages could be supported via the JVM used. For example, would Jython work?
The documentation for the SDK "preview" is rather extensive for a product that hasn't been released yet. It takes you through the basics of creating an application, testing apps and explains what the various parts of the SDK are for. From my brief look through everything it appears as though writing applications for Android is pretty damn simple (assuming you know how to program Java).
It'll be interesting to see where this goes. Despite having been out only a short time, the platform is generating a lot of buzz and with so much major backing here's hoping it can start a revolution in the mobile world so that mobile application development can be made a whole lot easier.
Update: you might also like to check out this article on Linux Devices.