Many moons ago when we were still building salesforce.com mobile apps on an ad-hoc basis, with ever changing technology, we started to see a pattern in what we were being asked for (in terms of the app and its performance) against what was actually needed.
The general requirements stated everything about the application logic and the user interface. This really boiled down to what the app should do and what it should look like. Fair enough and makes sense when coming from a desktop or browser based application.
But as we are seeing mobile is a very different beast. There is so much more outside of the developer’s and organisation’s control which is often not even considered, due to either being unknown, or just something that had to be accepted so best not discussed.
Where this always falls down is when the app is deployed. For starters the actual pain of deployment. Mobile means just that. These people we want to deploy to are literally all over the place. They are often running different devices from different manufacturers and different mobile operating systems. And if they are not today they maybe tomorrow. That lack of control is creeping in.