When a brief for a new mobile project comes across my desk it almost always demands that the finished application is to work across every mobile device and platform ever conceived.
This is an extract from a tender document that I received from a U.K. University recently.
The service should provide, as a minimum, support for all major smartphone platforms including:
- Apple iOS 3.x, 4.x and 5.x.
- Android 2.x, 3.x and 4.x.
- Blackberry 4.x, 5.x and 6.x.
- Windows Mobile 5.x, 6.x, 7.x.
This is a fairly typical request and, to be honest, it’s just a little bit silly.
Without going into the details of why this specific list is not worth taking seriously I’ll just point out that some of these platforms are no longer in circulation, some never allowed 3rd party apps, and of those that do some no longer have app stores servicing them. And before somebody says; “the solution here is a web app”, the volume and quality of the browsers available on some of these platforms makes that a non starter.
What this list highlights is that there is clearly a lack of understanding, on the part of the client, surrounding the medium for which they are commissioning a project. This is not uncommon. Many would be mobile project managers have previously run web projects and tend to treat mobile platforms in the same way that they have considered web browsers in the past. This is clearly wrong. However, having said that, you can see the logic. Everybody wants their app to be accessible to as many people as possible.
When consumer reach is a major goal in a development project the default position that many people take is to develop a web or hybrid app. This will give you a cross platform solution for a fraction of the cost of a multiple native app development project; although it still won’t cover all of the platforms in our tender request above. I’ve already discussed why this position is often the wrong approach and laid out some scenarios where web technology is useful so I won’t go over that again here. But I will say that while providing your service to the largest possible audience is an admirable goal this is a very lazy way of going about it.
This approach is akin to old school tuna fishing. The idea is that if you throw out a big enough net you will catch a lot of tuna. However, the problem is that you will also catch a whole bunch of other fish, dolphins, and shopping trollies along the way. By trying to make your service available on all platform and device combinations you will end up servicing technology that your customers do not use. This is a waste of resources.
Do your research
Instead, find out which platforms your customers are using and what their behaviour is on these platforms. For example, generally speaking, Apple users are far and away much heavier consumers of apps. On the other hand, Android users, while not using apps, are consistent users of their mobile web browser.
Remembering that even cross platform solutions need specific platform optimisation is important. This optimisation takes effort. If you know that your user base are not Apple users then building a web based solution for users on Android and Blackberry or Windows, for example, could mean that you do not need to spend resources on optimising for Apple devices.
By knowing your users and understanding their behaviour you can effectively target the correct platforms and thus spending your development resource in the right place. Ultimately this will lead you to a better solution than a “must work on everything”; catch all approach. Just demanding that your new service is available on every mobile platform on the market is not the right approach. You will spend a lot of resource that you do not need to and, if done correctly in each instance, is massively wasteful.