How does Google Play work out if an app is compatible with my device? I have one "generic" Android tablet, and often when I come to install and app, Google Play says it's incompatible with my device. It happens even on popular apps such as Twitter, Instagram, Evernote, Foursquare and even Google Maps! 

I know it works, because if I copy the APK from my Motorola phone onto this tablet and install it manually, it runs fine (at least Instagram and Twitter do). 

I'm not trying to make Instagram work on my tablet. I'm trying to find a way to install the apps from the Play Store.



How and where does Google Play performs a compatibility check on my device? I suspect said check is failing somehow. I want to be able to install apps that will work on my device and stop Google Play preventing me.
When developers make apps, they have to specify any hardware/software requirements in a file called the androidmanifest.xml file. 

These can be hardware or software requirements, such as if the app needs GPS, or telephony features - or if it will only work on a certain Android version.

When you use Google Play, it sends your device's 'features' to the server, and then filters apps accordingly.

The most likely reason it is deemed incompatible by Google Play is that it is set to require a certain screen resolution - or maybe portrait/landscape mode defaults.

Some tablets have a low resolution, and also tell google play that they cannot go into portrait mode.

It could also be, your tablet being generic, that it does not have the required GPS or sensors that the manifiest file says it needs, and the market is stopping you from installing because of that.

I shall find out what the instagram app needs (look at it manifest), and edit this answer for you.

EDIT:

According to the Instagram manifest, the only 'required' item is the glEs version - minimum 131072. It could also be because of your tablets country/carrier setting.

Twitter needs a minimum of Android 2.1, and may also need a Vibrator, as it uses the vibrate permission.