Trev wrote:
I wasn't trying to say that they needed to know their target platform (which in this case is Windows Mobile and not the hardware itself, although having to compile for multiple CPUs does complicate performance analysis)--that's a given. What I was I trying to imply is that programmers need to be smarter than that.
See AmigaHeretic's message above. Windows Mobile only supports a single CPU (family).
Extending the GPS reference a bit, you don't write GPS code, you write location awareness code and let the operating environment worry about how the location is determined (GPS, cell tower triangulation, WiFi hotspot database, user input, etc.). It's unfair to blame the platform for your own design mistakes.
Not blaming the platform, I was only using the example of how the devices do not have the same performance and/or functionality. That is, the iPod Touch uses Core Location very differently than any of the iPhones due to it's lack of GPS and GSM.
The main point is that these gaps are only going to get bigger as new iPhone/iPod models are released. Perhaps a new iPhone will have a better bluetooth profile, increased resolution, etc. The criticism that Windows Mobile was difficult to develop for simply because there are so many varying devices available is likely to affect the iPhone/iPod too.