DonutYesterday I got an email from the Android Market Team detailing two important improvements to the market. First, Android developers are now capable of targeting specific carriers in specific countries. Second, the Android market has gained support for different screen sizes and resolutions via Android 1.6 (Donut). These updates will largely impact application development strategy and design. The advancement of the Android Platform is largely welcomed.

1. Ability to target carriers

The Android Market now allows developers to select which carriers can publish their applications. So, I can create an application for only T-mobile subscribers in the US, and another one just for Roger subscribers in Canada. Why is limiting your user base a good thing? Selective targeting. Know your customers. For example, if you are aware that Verizon users have a specific drawback on their phone (Verizon’s practice of striping down functionality), you can build an app to resolves that specific issue. You know the “problem”, and you can create the “solution,” and in theory the application should be well received.

2. Support for additional screen sizes and resolutions

Prior to Donut, all Android devices used 3.2″ screens with a resolution of 320×480 (”normal”). This is quite a platform limit. Improvements in Donut address this major issue.

What does this mean for developers? Developers will now have to pay attention to User Interface design across different screens and resolutions. Google has simplified the task by creating 3 screen classes: small, normal, and large, while well documenting the development tweaks needed. What does this mean for end users? As more Android devices flood the market, consumers will have greater choice. Users may now choose devices with smaller or larger screens, depending on their needs, and are not locked to a single “standard”. Additionally, competition promotes competitive prices: cheaper devices.

Romain Guy, user interface engineer at Google, summarizes pretty clearly the idea on the Android Dev blog.

“To date, all Android devices (such as the T-Mobile G1 and Samsung I7500, among others) have had HVGA (320×480) screens. The essential change in Android 1.6 is that we’ve expanded support to include three different classes of screen sizes:

  • small: devices with a screen size smaller than the T-Mobile G1 or Samsung I7500, for example the recently announced HTC Tattoo
  • normal: devices with a screen size roughly the same as the G1 or I7500.
  • large: devices with a screen size larger than the G1 or I7500 (such as a tablet-style device.)”

Romain Guy, Google

For more technical details on how to adapt your apps for the new screen sizes, check out the Android Dev Guide for Supporting Multiple Screens.

Device Screens and resolutions supported by Android (1.6):
Low density (120), ldpi Medium density (160), mdpi High density (240), ldpi
Small screen
  • QVGA (240×320), 2.8″-3.2″
Normal screen
  • WQVGA (240×400), 3.5″-3.8″
  • FWQVGA (240×432), 2.8″-3.2″
  • HVGA (320×480), 3.0″-3.5″
  • WVGA (480×800), 3.3″-4.0″
  • FWVGA (480×854), 3.5″-4.0″
Large screen
  • WVGA (480×800), 4.8″-5.5″
  • FWVGA (480×854), 5.0″-5.8″