Late last year, we tested a prerelease of the software development kit for Google’s Linux-based Android mobile phone operating system. Although we saw a lot of potential in the platform, there were a number of serious flaws in both the software and the underlying development process. Both have seen noteworthy improvement since our original tests.
The developers announced the availability of m5-rc14 this week, a new Android prerelease that addresses many issues and brings a significant user interface overhaul to the operating system. I put the new version of the SDK and Eclipse plug-in to the test on my Ubuntu desktop computer to see how it compares to the version that we tested in December.
As we noted in our previous review, one of the significant strengths of Android in the area of third-party development is the ease of installing the SDK. That advantage has been retained, but I ran into a minor snag with dependencies for the Android Eclipse plug-in. Ubuntu 7.10 users who wish to use the Android plug-in might need to download the latest version of Eclipse in order to do so. If you have a standard version of Eclipse, the installation process for Android and the plug-in is relatively straightforward and can be done in a matter of minutes.
Twittering away on Android
My first test after installing the new SDK was attempting to compile and run the experimental Twitter client that I developed for my previous article. This initially failed because of alterations to the Android XML manifest file format, but it was very easy to make the requisite changes. You can refer to the Android manifest documentation page to see how the current manifest file should look.
In the source code for the program itself, the only element of the Android API used by my Twitter client that no longer works is the now-defunct EmboldenedSpan object. I simply changed it to a StyleSpan object with a Typeface.BOLD paramater. All things considered, it wasn’t all that painful to get my simple application working with the new version of the SDK, but developers with more complex projects might have a different experience. Google’s documentation includes an overview of the API changes between the m3 and m5 releases. In general, the documentation seems to be a bit better all across the board.
Squashing bugs and polishing the UI
In our previous article about Android, we voiced sharp criticism of Google for failing to provide a public bug tracking system, an omission that greatly impeded the process of providing feedback. Google finally resolved that problem last month when it announced that it would be using the issue tracker at the Android code.google.com page. This is a very positive sign that Google is taking the needs of the Android third-party developer community more seriously.
The user interface of the Android platform also got a big boost with this release. The home screen menu system is a bit more finger-friendly now and still retains solid usability with navigation buttons. We noted in our previous article that Android has a highly hardware-neutral design that reflects Google’s intention to make it support a variety of different kinds of handsets. The user interface changes generally seem consistent with that approach. One oddity is a slide-down panel that displays notifications. It can be dragged from the top of the screen, but I couldn’t find a way to activate it with a button. Overall, the new home screen menu feels more functional and less cramped than its predecessor, but is a bit less stylish.
One very noticeable change in the Android user interface is the addition of transition animations. The animations show up in many places throughout the system, generally when windows, dialogs, and menus appear. They are very subtle and add some additional elegance without becoming a distraction.
I tested several of the applications that come with the SDK, including the mapping program, the contact book, and the web browser. I also tested the experimental Google Talk chat integration feature. I was able to connect to Google Talk and receive messages, which are displayed as items on the notification panel. The performance and usability of the bundled applications is pretty decent.
The interface feels more complete now, but there are still some holes. For instance, the home screen menu offers an option for changing the background wallpaper, but selecting it only displays a dialog stating that the feature isn’t available yet. There is obviously still work to be done before the interface is ready for use on a phone, but it is definitely improving at a reasonable pace.
It seems like the initial prerelease was primarily to let developers see what the platform would offer, and this release is more about addressing the needs that emerged in the process. Google is clearly giving due consideration to criticisms of Android and resolving problems identified by third-party developers. There are still technical issues to resolve, but Google has now demonstrated enough responsiveness to developer demands to justify giving the company the benefit of the doubt. This second look at the platform and the development ecosystem has boosted my confidence in the endeavor and given me reason to be optimistic about Android’s prospects.