Android
Dear Google: Please let Android developers target their apps for specific devices
May 12, 2010 | by Andrew Kameka
Google Android
Next week, Google will host thousands of Android developers and enthusiasts at its annual Google I/O conference in San Francisco. In a series of totally unauthorized but wholly-constructive criticism, Androinica.com suggests ways to improve the operating system we all love so much.
———————————————
Hello, Android team. My name is Andrew and I’m the Managing Editor of Androinica.com, a website dedicated to Google Android news. As you can imagine, I spend a great deal of time looking for and writing about the leading apps available in the Android Market. Sadly, there’s a major problem with it: The Android Market comment and rating system is worthless.
Android’s method for collecting user reviews and comment stinks largely because of user error. I won’t hold you responsible for them, but I’m hoping you can help minimize their impact. Allowing developers to make their apps visible to specific devices could help in that regard. It would do wonders to reduce the number of comments saying, “Boo! This doesn’t work on Android 1.5!”
There once was a time when comments and ratings were a split-second indicator about whether something was worth checking out. However, the Market is now filled with people who can only be described as willfully ignorant. These are a foul breed of people who do nothing but go through the Android Market and 1-star apps that don’t work with their phone. Fragmentation is annoying as is, but it’s even worse when seeing good apps rated poorly just because someone can’t read the description that clearly states his phone is not compatible.
Google, please let developers filter out who is able to see their apps. You already do this based on carrier, country, and screen size, so why not extend that very logic to device type? If someone builds an app specifically for phones like the Desire, Droid, or Nexus One, they shouldn’t have their work tarnished by people upset because they were left-out.
Barcode Scanner has several negative comments from Motorola Devour users upset that the app won’t work because their camera lacks autofocus. That’s a hardware issue, not a problem with the app, so letting people dump on Barcode Scanner for that reason is senseless. There’s also no reason Raging Thunder 2, an app that clearly states first-gen phones can’t use it, should have pages of illiterate Android users complaining because the app doesn’t work on a G1 or myTouch.
The free and open model for the Android Market needs to be tweaked. If people won’t pay attention, make them unable to see incompatible apps. Do the right thing, Google. Let developers target their apps by device.




















Is this what you are referring to? http://developer.android.com/guide/topics/manifes…
It sounds like the feedback system needs to be tweaked rather than the targeting of apps(which already happens) Try get on market with a low end device like a HTC Tattoo and you will not be allowed access to quite alot of apps. The most useful feedback system would simply send the device type so that feedback left will log that, so if someone doesn't like Raging thunder after having tried it on an older phone, then feedback that says "This sucks!" will be accompanied by "device: X. Android vers: 1.x" and can easily be filtered out from valid feedback.
Yes… let's create an OS with fragmentation issues with even more fragmentation.
Part of the problem with this idea is that developers might start only allowing their apps for the devices they *know* work. I had a G1, now I have a droid. The applications transfer, including the purchased ones. If I buy a new phone and some application refuses to install *only* because a developer didn't check a box I'll be pissed. Even worse – developers could try to force you to re-buy the app by publishing the same app over and over just with "( – Droid edition)" or "(- Incredible edition)" added.
ASeven, that's not really targeting, it's more an issue of the hardware being blocked because of screen resolution. My suggestion is a way to deal with phones unable to comply with certain apps because of shortcomings of their device. There's no way to control that at the moment. ereb, Android is already fragmented one way or another – OS version, screen size, etc. If an app already can't work with a device, that's fragmentation and exists whether or not users can see them. andy, that's a very good point I actually didn't consider about upgrades. You could theoretically have some devs get greedy and force you to repay for apps, which would be really unfair. that would be a huge detriment to my suggestion.
About the example mentioned: Barcode Scanner and the Motorola Devour. We ported to Android the technology we developed for the iPhone 3G (also without autofocus). The app name is pic2shop. If Motorola Devour owners would like to give it a try, we'd love to hear their feedback. Thanks!
The problem here is not (and should never be) fixed by blocking specific devices. If anything, because the list of devices will soon be too large for a single person to handle. It should be handled by requiring the correct hardware, if the Market doesn't already support that. Barcode Scanner, for example, could require auto-focus camera (there are already means for requiring a camera, for example; we just need a requirement for auto-focus). Raging Thunder 2 should ask for OpenGL ES 2, or a certain amount of VRAM, or whatever. tl;dr the Market needs many improvements, but blacklisting or whitelisting devices is a horrible solution. Check for hardware capabilities.
Apparently, my comment is getting filtered because of a link. Google "uses-feature android" The SDK supports hardware feature targeting and the market will filter accordingly.
Oh! The SDK does support auto-focus camera. Yeah, half his argument went down.
Daniel is absolutely right. Android OS is "theorically" made to allow developers to adapt their app to specific hardware capabilities (see the APIs). So if developers don't do their part of the job, that's a programming problem and must be resolved by correcting the issues. But "theory" has its limits and that's the problem. Developers should be informed of the specificities of some devices. A simple example ? The API Demos/Graphics/Camera preview app does not even work on the Nexus one. So how could you correctly code an app for the camera ? What we need might be something like the "java compatibility test". A test suite that would allow manufacturers to test their phones and inform the developers about the gap between the devices and the specifications, and how to fill it !