Google: I’ll pay, but only if you at least try.
I like android. I really do. But one thing that got me until I got a device running Cyanogen was the marketplace’s horrible habit of being… “Exclusive”… “Dividied”… no… thats not it…”Broken!” Yeah, that’s a good way to say it.
There are a shitload of Android devices in the world. How many? Enough to confuse most people. The problem is that no matter how hard you try, you will find that 99% of the apps on the market will never show up on those devices via the market. Why? Because the market relies on vendors of the devices to get Google to provide a few magical strings in build.prop that define what the device can or cannot do.
Why? Because its Google

That’s right, kids… Google just wants to play in their sandbox. And you know what… Thats okay!.
But why do I bring this up? This article at PC Pro UK had me thinking: Why this figure? Then I thought back to my recent experience with one of the above mentioned tables — recently replaced with a Nook Color running CM7.2RC2.
I had pirate apps in order to get some of the apps I wanted (namely: Beautiful Widgets, which I later bought, WidgetLocker). Why? This little message:


This is pretty common. Despite the fact that there are some vendor-specific apps like nVidia TegraZone which, no matter what you have, say they’ll run (And, oddly enough, this app will run. It will even charge you money for apps you can’t run).
This is even worse sometimes when you buy a device, e.g. a Samsung Galaxy S. It promptly breaks (no shock there) so you go back and find that you can get a refund and a slightly older device (say, nexus one or some such). Now, your apps that required something special on the Galaxy S (e.g. OpenGL ES 2.2)… don’t work. At all. And you paid for some of those apps.
There is a solution, and it involves being intelligent.
- Baselining. This can be done by OEMs, creating a baseline performance (scores X of 100 on openGL, hardware, etc.) — This does include vendor-specific hardware (e.g. 3G connection, Tegra-based chipset, OpenGL ES1/2+, etc). This should also be visible to the user (and runnable by the user) so they can confirm their carrier isn’t fucking them over.
- Not biasing against carrier (since now there are devices with no carrier), location (since when does location affect what kind of apps you should have?), etc.
- Allowing users with devices that don’t meet specs to accept the possible of functionality. Many, many apps (namely, Facebook, etc) decided their apps were “too heavy” for my previous tablet. Funnily, they run amazingly on my Nook Color, which has a lower benchmark on everything.
So, Google, if not this, can we at least be told why we don’t qualify to install some random app?







