Jul 26, 2011
Ah, fragmentation. The issue that continues to be bandied about as everything that is wrong about Android, because it is still a problem. Google is now offering a way for developers to work around this, by allowing developers to upload multiple APK files for a single app.
What this means is that a developer can upload an APK for an app that is optimized for certain device resolutions or features. For example, an APK that supports wider resolutions specifically, and features art assets for that resolution, can be made available. Apps that are designed for tablet resolution and features can be uploaded as well, and these will all be under the exact same app listing, so the process is hopefully invisible to users, and features the benefit of all remaining under the same Android Market listing. As Eric Chu of the Android Developer Ecosystem says, “When you upload multiple APK files, Android Market handles them as part of a single product listing that aggregates the app details, ratings, and comments across the APKs. All users who browse your app’s details page see the same product with the same description, branding assets, screenshots, video, ratings, and comments. Android Market also aggregates the app’s download statistics, reviews, and billing data across all of the APKs.”
This means that developers can address fragmentation issues directly, instead of trying to shoehorn in support for a variety of devices in one single APK that gets uploaded to the Android Market. Tablet support can now be more easily added in to games that may have had trouble with support for tablets due to file size limitations; Battleheart is a notable example of an app that could take advantage of this. While this is a lot more work for developers in some facets, this could help address many of the issues facing the platform and fragmentation, in a way that is both advantageous to the consumer and developers. Consumers get more apps that work properly on their devices, and developers have the ability to support a variety of devices in a way that is invisible to users.