Mobile fragmentation is the problem of a Mobile Application not being able to run on many different types of devices with different screen sizes and hardware specifications without specific code or support. This poses a major problem for businesses looking to have a mobile application developed because this increases the likelihood that their application will not function as expected across many different devices.
Every type of mobile device is subject to this problem, including the iPhone. Many businesses who are new to the mobile application development space are not aware of these problems and do not factor this into their development budgets. This is a major cause of budget overruns and stalled or failed projects. You can avoid this trap by, first of all, being aware of the problem. The second is to talk to your developer about the strategies below and see what works best for your project.
Although not bulletproof, there are ways to overcome this problem.
Generalized Code Base
One way to combat the problem of mobile fragmentation is to keep the code base very general. This means that you can't have specific code to use features that are specific to a certain device manufacturer. For example, you wouldn't want to write code to take advantage of a feature that only Samsung offers. This would also include the use of generalized "helper" libraries which assist in detecting whether these features or not exist and run your application accordingly.
Be Specific on What Devices you Want to Target
Another way, essentially side-stepping the problem, is to have your mobile application only target specific devices, and exclude any others that you may not want to support. For example, if you're developing a BlackBerry application, you might want to develop for devices that can support BlackBerry OS 5.0 and above to take advantage of the SQLite functionality that is offered at this level.
Avoid Using Custom Graphics
The last way is to avoid using custom graphics or designs. I don't mean avoid using things like your logo or images. I mean that you should avoid creating custom buttons or toolbars unless you are prepared to create scaled graphics for specific devices.
By adhering to the advice above, you can save yourself a lot of wasted time and money and avoid a lot of headaches when getting an iPhone, Android, BlackBerry or Windows Phone 7 application developed for your business.