Avo Reid is CTO at the Bureau of National Affairs and Mobility Blogger on Dr. Dobb's CodeTalk.
As mobility moves from the cool phase to being a strategic part of business infrastructure, one of the key questions for business technology leaders becomes what platform to choose.
With more than 70% of organizations recently surveyed by IDC deploying multiple mobile applications, operating system features and software development tools become deciding factors. One-fourth of companies are deploying CRM to handhelds, a recent InformationWeek Analytics survey finds, showing it's a growing business priority. What started as a tool for managing personal information is now seen by more companies as a key computing platform in their overall IT strategy. These organizations believe in the promise of mobile computing to streamline business processes, enable round-the-clock access to enterprise applications, even increase customer satisfaction.
Business technology leaders embracing mobility face a lot of difficult decisions as they drive mobile platform decisions. For a company that uses Lotus Notes, for example, it may make sense to standardize on the BlackBerry, because of its Lotus support. However, if that shuts down POP support in the process, employees won't be able to retrieve e-mail on their iPhones, because Notes doesn't support that platform. More complicated are the questions around whether the application development tools are sufficient for companies to develop the internal applications we want, and which tools fit our needs.
Many of the benefits companies expect from mobile devices are derived from a blend of the platform and operating system they use as well as the hardware running it. Is there one best mobile device platform? The answer is no, as each platform has its strengths and weaknesses.
There are two major steps in charting a mobile development strategy. First is to consider what ways your company plans to use the platform. Second is to assess which platforms best fit those needs.
Gartner offers a useful grouping into three usage patterns seen most often:
- The "appliance profile" is the simplest and lowest cost, and it fits a company that limits device and application choices, does little application development, and focuses on moderate security capabilities such as passwords and remote device wipe.
- The "platform profile" allows development of feature-rich applications and the broad use of third-party apps with robust security features, but limits the device choice.
- The "concierge profile" allows for custom application development and permits broad device choices. It's the most costly -- Gartner estimates it's twice the total cost of the appliance approach.
For companies developing in-house mobile applications, the platform choice is the most challenging. Each major platform has evolved its development tools into broad application development toolkits focused on single-platform development not multiplatform work. Since each vendor's development tools require a different set of skills, deploying the same team that developed a RIM BlackBerry application to work on iPhone applications will require some retooling.
Many companies first venture into mobile technology is providing BlackBerry e-mail access. Next, they often look to appplications for sales and other field employees, CRM, and business intelligence, such as performane dashboards. In short, mobile applications are integrating with corporate systems and other programs on a much more complex level.
One challenge involves the goal of limiting the amount of coding our developers have to do. The solution is to architect mobile applications to take advantage of cloud-based computing and Web services for the heavy lifting, and writing code only to provide user interface and feedback. This approach limits the amount of device-specific code that needs to be ported to other devices. Companies also can consider portable technologies such as Adobe's Flash Lite, which makes it possible for the same application to run on BlackBerry, Windows Mobile, or any other mobile OS that has the Flash Lite environment running in the target OS.