Pretty image
Small changes could make a big difference for Android developers.

Google has baked the Donut and it’s time for a taste test.

The recently-released 1.6 version of Google’s Android mobile operating system, based on the Donut track of the project, brings changes that should brighten the eyes of Android developers. Ed Burnette has been scrambling to keep up with the changes—and to keep Hello, Android up to date. We asked him to take some time out to answer our questions about Android: where it stands today and where it’s heading.

ms: Hello, Ed. Susannah says you assimilated all the changes in Android 1.6 in record time. Now I’m hoping you have some free time to chat with me about where Android’s going.

eb: Sure, I’d be glad to.

ms: Let’s get right to it then. How significant for developers is this latest dot release?

eb: It’s a minor release but it could have a major impact on developers for two reasons. First, it includes a totally redesigned Android Market that has the potential of making paid applications much more visible and attractive to the typical user. Second, it expands the potential hardware base of Android by supporting screen sizes larger and smaller than the 320x480 standard that all Android phones (and, I might add, iPhones) have sported up to this point.

ms: Let’s start with Android Market. What’s changed, and why is it so important to developers?

eb: Paid applications will get top billing in the new Market, instead of being relegated to an obscure menu option.

ms: Up to now, paid apps have been sort of ghettoized.

eb: Right. Also, developers can post screenshots showing their apps in action before the user downloads a thing. These two little features, which helped contribute to the success of the iPhone app store, could make targeting the Android platform much more profitable for developers.

ms: I know you’ve given some thought to how to market Android apps effectively. What advice would you give developers?

eb: One of the most important thing that developers can do is to listen and respond to their users. Developers of the most popular apps often put out frequent updates to address problems and ideas reported by their users in comments and e-mail. I’ve seen many cases where a 1-star rating has been turned into a 5-star rating simply by giving the users a little attention. It’s hard, sometimes, because complaints can be harsh. As I wrote in my book, “A thick skin and a sense of humor are invaluable tools of the trade.”

ms: Developer tools didn’t get a lot of respect early on. Has that situation changed?

eb: Actually, I’m not sure if I agree with that. From the first version, Google provided a pretty nice Eclipse plug-in that took care of building and debugging Android applications. In 1.5 and 1.6, they added a way to manage multiple emulator configurations called Android Virtual Devices, or AVDs. The only thing lacking has been a nice GUI layout editor. The community has stepped up tools like DroidDraw, but hopefully in future versions of the SDK, this kind of capability will be integrated into the plug-in. I should point out that a GUI editor is a luxury but certainly not a requirement for Android development.

ms: The situation seems to be getting complicated regarding versions and platforms. Motorola seems to be developing a phone for December release that is based on Android 1.5, version 1.6 is here, and Android 2.0 appears to be in the works, although Google isn’t sharing much information. How difficult is it going to be for developers to track which phone uses which version? What are the implications for software development?

eb: Right now it’s not very complicated. Almost all phones are running 1.5 at a resolution of 320x480. The only challenge has been all the differing input methods. All the phones so far have touch screens, but some have trackballs, some have Directional pads (D-pads), and at least one (the Motorola Cliq) has neither unless you slide out a keyboard.

ms: That will change, though, right?

eb: Yes, by the middle of 2010, there is going to be a mixture of 1.5 and 1.6 or later, and a mixture of screen sizes. The 1.5 vs. 1.6 situation is pretty easy to handle: just stick with the 1.5 APIs so you’ll run on either platform. There’s nothing especially compelling in the 1.6 APIs, so this won’t be a problem for 99% of apps. For the other 1%, they can test the platform version at runtime and only call the 1.6 APIs if they’re running on 1.6.

ms: Then there’s the layout manager/screen size issue. There’s a phone coming out with a smaller screen size, on which apps created using earlier versions won’t work. How big a problem is this, and what’s the solution?

eb: Screen sizes are trickier. The first step is to get yourself out of compatibility mode. When Android 1.6 loads an app that was built for 1.5 it runs it in compatibility mode, which means it will assume the app was coded for a 320x480 resolution and it will stretch or shrink the user interface as necessary to make it fit the real resolution. This doesn’t always work well, especially on smaller screens, to the point that Google decided not to even show 1.5 apps in the Android Market if you have a 1.6 phone with a small screen such as the HTC Tattoo. Luckily, a one-line change in the Android manifest file will take care of that.

ms: So a one-line fix and you’re done?

eb: Not exactly; you still have to actually support all the screen sizes. The key to this is testing. Before releasing your app, try it using different skins in the emulator. A skin defines the width and height of the emulated device along with its pixel density (dots per inch). The 1.6 SDK comes with several skins that correspond to real devices like the Tattoo, the Sholes, and the Archos that will be out in the next few months.

ms: How about Skytone’s Android-powered Netbook? Does that even make sense? Does Android have the oomph to play in that field?

eb: I don’t think an Android Netbook makes as much sense as an Internet tablet. An Internet tablet will sport a touch screen somewhere in the 5 to 7 inch diagonal range, probably without a physical keyboard, with a resolution between 800x480 and 1024x600. If you’re a Star Trek fan, think of the PADDs they’re always tossing around.

ms: OK, there’s a successful technology. PADDs were in general use from the 22nd to the 24th century and throughout the galaxy. Google should be so lucky.

eb: Ha! As long as they don’t get Shatner to do their ads I’m OK with that. But seriously, with the right screen technology, good price point, high speed wireless connectivity and long enough battery life, I think these general purpose devices could define a popular niche. They could obsolete e-readers like the Kindle, and possibly even become standard and required for students, business folks, and starship captains alike. A common operating system and application development platform like Android could finally help make that vision a reality.

ms: What about multi-touch technology? Is Apple going to be able to lock it down legally?

eb: The idea that Apple has a legal lock on multi-touch technology is bogus. Multi-touch existed long before Apple ever brought it to the iPhone, although you have to give them credit for making it available and desirable to the masses. Eventually, I predict all touch-screen devices including Android phones will support multi-touch.

ms: Google seems to be better at making changes than at communicating about them. How can a developer keep up? Read your writings, of course, but doesn’t Google need to provide more information about when new versions will be released?

eb: It’s really hard for a developer to keep up, especially with changes in products and versions that haven’t been announced yet. Google needs to realize that developers need to make plans for the future, which means we need some predictability in basic things like release schedules. This is where Google could learn a lot from the Eclipse Foundation, which for many years has kept to a yearly rhythm of milestones and new versions. This lets all members of the ecosystem time their efforts and releases around the platform.

I decided I’d better let Ed get back to researching and writing about Android, which is no small task. Android 1.6 includes many changes that we didn’t touch on here. Search, in particular, has been significantly enhanced. There’s support for VPNs, and user interfaces to several tools have been improved. There’s the Pico multilingual text-to-speech engine. There’s the GestureBuilder tool and the Gestures framework for adding gestures to your app. There’s a new Accessibility framework that lets you make your app more, uh, accessible. All good. But the big news is Android Market, which now should start to give Apple’s iPhone App Store some competition.

If you haven’t already done so, you can download the Android 1.6 SDK here. More and more devices supporting Android 1.6 are hitting the streets.

Thanks to Susannah Pfalzer and Jürgen Fey, who contributed to this interview.

Ed Burnette is a software industry veteran with more than 25 years of experience as a programmer, author, and speaker. His development credits include everything from commercial video games to high-performance grid computing systems. Ed is a founding member and senior researcher at the SAS Advanced Computing Lab.

Ed has authored numerous technical articles and books, including Hello, Android from The Pragmatic Programmers. He writes the Dev Connection blog for ZDNet, and is the creator of Planet Android.

In his copious spare time, you can often find him playing video games with his two sons at their home in central North Carolina.