It's clear that the simulator does not represent the true behaviour of any devices. It's great for getting going, but testing on the actual device is essential to ensure the app works correctly.
The problem with this is that you either need to buy lots of devices or only support one. The former is not possible for lone developers and the latter is bad for general adoption of the app. It would be a shame to not mark apps as compatible with a device that they would actually work on, if they could only be tested.
I suggest that a crowd testing approach is adopted, whereby we offer the device we have as a testbed for other people's apps. A developer can post a request for testing and provide the compiled app to be side-loaded for testing. The developer also details exactly what needs testing and what feedback they require. The tester will then run the app and give feedback appropriately. In exchange, the tester can make similar requests for their own apps, which will be tested by other users with different hardware to them.
Anyone up for this idea?