As mobile devices become more powerful and ubiquitous in the workplace companies need to begin supporting and developing for these consumer devices. The old command and control framework of IT management providing a limited number of hardware devices needs to be re-evaluated and adapted to the new workplace.
By adapting a ‘bring your own device’ policy management can decrease costs, increase worker happiness and improve data security. Major companies like Kraft Foods gives employees a stipend to purchase a device for use with their corporate systems.
A key part to this bring your own device strategy is leveraging the cloud to roll out software to devices and insure data security. Using a cloud based system insures no data is maintained on the device unless the application is active and the user has logged into the app.
This post details ways to build native phone/tablet applications, a separate post will cover web app development technologies including Sencha Touch, Phonegap and jQuery Mobile.
Device & Policy Selection
- Adapting a ‘Bring your own device’ policy will empower employees and reduce training time. It can make employees more effective and reduce the number of calls to IT support.
- Setting up a website detailing all company policies and resources for mobile devices will insure that everyone has access to information. The site should contain a forum for users to ask other users for help and video tutorials on application features.
- Passwords should be mandated for any device with corporate information and IT should have rights to remote wipe the device if it is lost or stolen.
There are currently 5 major operating systems competing in the mobile space with no one system maintaining more than 30 percent market share. In order to insure the long-term viability of the mobile application it needs to be designed and built to work on all major operating systems.
Developing for all of the current and future operating systems requires the use of a third party development environment. There are three main mobile development platforms: Rhomobile, Appcelerator Titanium and Corona SDK.
Rhomobile is a set of developer tools; RhoHub, RhoSync and RhoGallery, that allow companies to build and deploy mobile applications that integrate seamlessly with existing enterprise servers.
RhoHub It is the only development as a service platform that does not require software installation on a local machine, all development and testing is done in the cloud. This allows development of iOS applications on windows machines, something no other platform allows.
Apps built with RhoHub are true native applications with support for Model-View-Control, synchronized data and operate on most major mobile operating systems; iOS, Android, Blackberry and Windows Phone 7.
Interaction with an enterprise server is done through RhoSync, an app integration server that keeps all the data on the device synchronized with the backend system. RhoSync uses “No SQL” to allow for high volumes of data and devices to be interacting with the server at once. The device not only syncs data with the enterprise applications but metadata as well. This means that if new fields get added to the enterprise application they are automatically synchronized to the device.
RhoGallery allows for companies to manage apps and deploy them to employee devices. If a device is stolen or an employee is terminated the applications can be remotely removed as well. By managing only the applications and not the device it makes support cheaper and easier.
The Rhomobile framework is used by over 15,000 developers and is well supported, but documentation is not as good as the competitors and sample code is not provided. Because the framework uses high level-programming models there is a steep learning curve and users should be familiar with the underling languages (Ruby, HTML, CSS) before beginning development.
With the ability to develop apps in the cloud, interact with an enterprise server and deploy apps remotely Rhomobile is the clear choice for developing mobile applications in enterprise. It is the only platform that allows for deep integration with an existing system and enterprise level security.
The Corona SDK is a framework that allows for cross platform development using the Lua programing language. It is designed allow programmers to create multimedia rich applications and games without Objective-C, C++ or Java knowledge. Finished apps can be deployed to iOS and android devices through their respective app stores.
Using the Lua language allows developers to focus on creating applications quickly. It is primarily for game development but includes APIs for interacting with enterprise servers on a basic level.
Corona SDK is a framework best suited to game development. It is easy to learn but lacks the required enterprise services such as application management, and server synchronization.
With over 1.5 million active developers Titanium is the largest mobile development platform. Apps built with Titanium work on iOS, Android and desktop environments. It is well documented and has multiple prebuilt apps to begin development with.
It is designed to work with databases and create more business minded apps than corona that is designed more for game creation. The software works on both Windows and Mac, but just like corona if you want to deploy to iOS devices you need to compile the code for iOS on a mac.
While Titanium is capable of creating more business-oriented applications then Corona it does not match Rhomobile for enterprise integration and deployment. It is the only platform that can create desktop apps along with mobile applications.