Friday, January 09, 2009

Why are Mobile Applications for Handheld PDAs So Hard to Develop?

Mobile software applications for businesses are getting better and more advanced today, but they are still very difficult and expensive to develop on your own. Why? Let's talk about some of the challenges.
The mobile handheld PDA industry is divided up among, Microsoft Windows Mobile, Apple iPhones, Palm, RIM Blackberry and many other unique operating systems. This means that a software developer must either invest in many different development tools and training classes, or choose to be only a niche player.

If a developer chooses to be a niche player and develop only for Windows Mobile or the iPhone, they are reducing their overall use potential and betting that the devices supported by these operating system will continue to be popular long enough to deliver a positive ROI for the original development effort.

Once a developer chooses the operating system they will support, they have the next challenge which is how to decide how to support the specific features in many different kinds of mobile handheld devices and PDAs. Many devices have different buttons, screen sizes, operating speeds, memory, and other add-on accessories. The developer must decide which subset of features and hardware configurations they will support.

If you are a software developer in a large enterprise that had thousands of employees and a global distribution, then how do you get a consensus on which mobile handheld devices and smart phones you will support? This is a big challenge.

So far we have just listed a few of the challenges related to the mobile software application. These applications have very little value unless they can synchronize and share data with the enterprise database applications in the office. Each operating system and database vendor will have their own kind of synchronization technologies. What mobile database will you develop on? How does it synchronize with your specific office database application?

Does the software in your office have a mobile client, or do you have to develop a custom mobile application? How do you synchronize and share data between your mobile device and your office software if it is not defined by your vendor?
Who will update the software everytime there is a new mobile operating system released? Windows Mobile seems to come up with a new version every year, and Apple about every 3-6 months. Once new OS versions are released, it is very difficult to find mobile handhelds that support the older versions. Therefore to keep your mobile application useful and relevant you must either stockpile lots of mobile devices that support the older versions, or keep you mobile application updated to the latest OS. It is not easy to convince your business manager to support the current development project plus all future update projects. They want to pay once and be done with it. Mobile technology changes to quickly to support this model. Often mobile application development projects are not completed before the next mobile OS is released. Ouch!

These are just some of the challenges IT developers face on a daily basis when working with mobile applications. The right strategy for many of these issues is to find a good RAD (rapid application development) environment for developing a wide range of mobile applications. Many of these issues have been resolved by these vendors. It would rarely make sense for an IT developer to try to figure out all of these issues on their own as IT budgets would rarely afford the time and resources to get through the learning curve.
MobileDataforce is one of many vendors that help developers and businesses work with these issues.