On the Road with Android

This week finds me at the Google offices in jolly old London after a quick dash out to Belgium last week. I have had the chance to meet the Mobile developers based here in London and give them an introduction to Android, as well as do the same for 70ish external developers from the London area. It has been a fun week of Android hackathons, brainstorming for Android application ideas and occasionally finding bugs and holes in the documentation.



It has been really valuable spending enough time with a group of motivated developers to move beyond the first steps and into real development work. A couple of my temporary office mates here are already well on their way to implementing a general puzzle application for Android. It will enable you to choose your favorite puzzle engines to install and then play a selection of puzzles downloaded on demand from a server – quite an ambitious project for a first try, but these guys are pretty determined and hope to have a prototype of the first puzzle (battleships) working before I hit the road again on Friday. They are also treating the implementation as a chance to learn the architecture: learning the right way to use the architectural pieces in Android rather than opting for the quick and easy shortcuts, which is the best way to really learn a new platform in my experience (don't compromise, be true to your vision).



The week is far from over yet, with another internal and external hackathon planned, and as many more ideas sessions as we can cram in.



As for the London offices – well they are fantastic. Right in the middle of everything, Jaffa Cakes in the kitchens (if you don't know what a Jaffa Cake is, or how to eat one in particular, check out this informative video on the subject). There are also a wealth of pubs within easy walking of the offices, a welcome feature for an ex-pat like me.



With the holidays getting close, don't forget that a new SDK version was announced last week with several improvements. It might be worth grabbing that before taking off for the holidays, just in case you get the urge to do some Android coding while trying to work out if you ate just a bit too much for dinner.



Happy Holidays...

Life can be tough; here are a few SDK improvements to make it a little easier

It's been just over a month since we gave developers the first early peek at the Android SDK. We've been hard at work since then on some nifty new stuff we think you'll really like. We hope to show that to you soon, but in the meantime, we wanted to fix some of the important issues you've raised. We're very pleased to announce the immediate availability of m3-rc37a. (What a great name for a droid!)



Our servers are quivering in anticipation of the opportunity to deliver these bits fresh to your desktop. Don't be shy! But if you need further enticement to download the new version, here are a few of the improvements you'll find therein:




  • The new default skin for the emulator is HVGA, portrait mode. That's the one you should focus on for your submissions for the Android Developer Challenge.

  • We've added the ability to inject SMS messages into the emulator, which will allow you to more easily test IntentReceivers for incoming SMS messages.

  • The choppy audio problem in the emulator on Windows should now be solved.

  • There's a new emulator control panel that you can use to control network events like radio state changes and incoming calls.
  • The Eclipse plugin now does color syntax highlighting on the XML files, such as AndroidManifest.xml.

  • Some of the more annoying bugs in the Eclipse plugin have been fixed; for instance, the application launcher retries if the first try times out while waiting for the emulator to start, and "R.java" files are no longer flagged as read-only.



You can find a full list of changes for this and every release at the Release Notes page. If you're looking for tips on upgrading your SDK installation, we have those too.



We hope that these humble tweaks make your life just a little bit better, or at least, the part of your life you spend writing code.

Google Developer Podcast: Android



Dianne Hackborn and Jason Parks are two of the architects on the Android engineering team, and in this podcast they talk to us about the Android platform from a technical perspective.



Dianne and Jason share a background at both Be and PalmSource, and talk about how that experience has been applied to Android. Other topics covered include:




  • Some history behind the project

  • The high level architecture of Android. For example, how Linux processes handle the VM and manage security (the VM doesn't handle it)

  • Details on the Dalvik VM and how it is optimized for small devices

  • The architecture: From Intents to Views to Permissions and more

  • How XML is slow, but the tools convert the XML to a nicer format for you

  • The tooling and steps for building an application on Android

  • How so many objects have a URL, and how the environment is like a mini-SOA (Services across processes instead of across the network)

  • Thoughts on how you program for small devices, and things to watch out for if you move from the desktop

  • The control, or lack of control that you have over the application lifecycle

  • "Everything you do drains the battery"

  • The thread story: they exist, you don't have to deal with them if you don't want to, and the UI

  • Using XMPP for messaging



You can download the episode directly, or subscribe to the show (click here for iTunes one-click subscribe).