Many mobile application developers are frustrated by the complexity involved in creating apps that work across all platforms. What works on an iPhone won’t necessarily cut it on a BlackBerry and apps that sing on an iPad need to be completely overhauled for an Android-based tablet.
An open development ecosystem would go a long way toward getting apps to market faster, and potentially mean less wear-and-tear on developers trying to keep up with evolving technology. Kurt Daniel, COO of mobile application platform WorkLight, makes a great case for the necessity of open mobile app development and has some tips on what developers should consider before writing their first line of code.
The Importance of Openness in Mobile Application Development
by Kurt Daniel, COO, WorkLight
The proliferation of smartphones, tablets and other mobile Internet devices, along with the popularity of downloadable apps, have many organizations and their developers looking for ways to implement more comprehensive mobile strategies that will positively impact the bottom line.
The mobile market, however, appears to be moving further away from standardization, and many of the skills required for the development of one smartphone app for one device are rarely transferable to additional devices and mobile operating systems. As a result, multiple development efforts are required different devices -- from iPhones and BlackBerrys to Androids and iPads -- and each involve writing and maintaining an independent codebase. That approach to mobile app development quickly becomes cost prohibitive, time-consuming, and, ultimately, unrealistic.
The right approach should be designed for “openness,” allowing the developer to use a mobile application platform that affords development flexibility to choose between native languages, standard web technologies, or a combination of the two approaches, as well as IT-friendly integration with enterprise systems and manageability.
App developers cannot afford to be locked into a limited set of proprietary technologies and tools, but instead must be allowed to freely improve functionality and add new rich capabilities as the market evolves. They must also be able to optimize the user interface for each device on which it runs, while allowing the user to access and make use of specific features, such as location-based services and the camera. Without the proper technology to enable full control over the process, environment-specific optimization is not much different than independent development efforts and will require the same amount of time, cost and effort, for each device.
When choosing a mobile platform, developers should consider:
· The ability to balance application functionality between the client and server to enhance application performance and reduce system loads.
· The choice between using commonly used web technologies, native languages, or a combination of both when developing the application.
· The ability to use third-party libraries to enhance and streamline the development and integration process.
· The ability to use existing tools for native and web development in order to reduce the learning curve and increase developer efficiency.
Another reason for open development is to be able to control and manage access to and transport of sensitive data, which requires delicate integration with security and authentication systems, as well as continuous maintenance and synchronization. The migration of services and data that, until recently, were only available through secure websites are now also available in variety of new mobile environments. That presents new security threats and regulatory challenges.
Identifying the appropriate technology for developing mobile apps will make or break such initiatives and can very well make the difference between throwing good money after bad and implementing an effective solution that will support the entire application lifecycle. Recognize, too, that enterprise mobile apps are not independent entities; they are recognized transactional channels that enable access to back-end data systems, applications and services. Organizations should strive to turn the mobile channel into an integrated part of their IT infrastructure by allowing users to retrieve data from multiple sources, transform it, and maintain its integrity in a way that is transparent to the user.
A reasonable solution would address these issues inherently, leverage existing mechanisms where possible, and adhere to the standards that are currently upheld in the organization. A lot has been said about fragmentation of the mobile market, but thinking upfront about leveraging an open approach and technologies will go a long way to solving the complexity of developing and maintaining apps across different devices.
The bottom line? Choose carefully, and keep the long-term in mind.