This is a guest post by Brian Blankenship, a Senior Mobile Solutions Provider with Clearly Innovative, Inc. Brian is an experienced mobile developer, as well as a certified project manager with experience and certifications in agile development. He has developed apps for various industries including the federal government.
Overview: Many organizations are spending time and money to develop mobile apps – often for multiple platforms (e.g., iPhone, iPad, Android, BlackBerry, etc.). What they often do not know is that cross-platform tools exist – allowing an app to be written in one language, one time and ‘published’ to multiple platforms, rather than hiring multiple developers or teams.
Many organizations today are releasing or considering the release of an ‘app’. The explosion of mobile devices and capabilities over the last few years has quickly offered many business cases for delivering content and functionality to mobile users, whether they are potential customers, current customers, employees are members. There is no ‘going back’.
However, while organizations that have been ‘early adopters’ of this new medium have often reaped the rewards many times over, questions now are starting to turn back to evaluating the time and cost of such efforts. Those questions not only revolve around the initial development, but also around the ongoing maintenance of these ‘apps’.
Compounding the question is the sheer number of different devices, operating systems, and device features. Early on in the ‘mobile revolution’, an organization could create an iPhone-only app and be applauded by their customers or constituents. Now, users expect an iPhone app, an Android app, an iPad app, a BlackBerry app or more. The issue is that these platforms require vastly different toolsets and code (see table below). That means developers with very different knowledge and skillsets. For your organization, this naturally translates into more resources – more people, more time and more money.
|Android||Java (Android flavor)||Eclipse|
|BlackBerry||Java (BlackBerry flavor)||Eclipse|
Suddenly, organizations must face several options to handle the various platforms:
Option A: Hire a consulting firm that has programmers for each platform
Option B: Hire multiple consulting firms – each with their own expertise on a given platform
Option C: Hire multiple internal programmers, each with their own ‘niche’ expertise on a particular platform
Option D: Only choose a single platform and risk alienating a customer or user population.
None of these are attractive options, although many organizations have internally justified them, or forged ahead before questioning the approach.
At this point, an organization may have several development teams working simultaneously, or they may have one team (e.g., ‘the iPhone team’) developing an app first and then the second team (e.g., ‘the Android team’) waiting to do their work when the first team is done.
The problem then becomes, what if there is a change that needs to be made? Or, what if there is a bug?
If both teams are working simultaneously, the changes or bug fixes must be duplicated – that’s right – twice. (More often for bugs they will be different types on different platforms – further complicating the matter). The needed changes must be communicated to two different teams of people – increasing the chance that the results will not be the same, or at least ensuring it will take even longer to make sure they are the same.
If the organization had the Android team waiting to begin after the iPhone app was complete the impact could be even worse. If a bug or needed change is discovered while the Android app is being created, is the iPhone team still around to fix it? Have they rolled on to another project?
In addition, there can be an opportunity cost with having a lag between releases of your app on different platforms. Are you losing ground to a competitor that already exists on the other platform? Or later enters the market on that platform before you do?
To combat this issue, cross-platform mobile development tools have emerged over the last few years. They allow apps to be developed for multiple devices and operating systems by writing code in one language and toolset. The code is then essentially just ‘published’ to each platform (with minor tweaks and differences as needed or desired).
Using a cross-platform tool offers many benefits:
- More economical launch by saving cost on the initial development
- Quicker launch by saving time on the initial development
- Reduced cost of ongoing maintenance
- Faster enhancements and bug fixes
- Simplified staffing
- Easier knowledge transfer
- Reduced lines of code – even if you only want an app for one platform
Leading Cross-Platform Tool: Appcelerator Titanium
Probably the best example of a cross-platform tool is Appcelerator Titanium. Launched in 2009, Titanium was one of the first to provide the ability to quickly create cross-platform mobile applications and has since steadily grown and been enhanced to become the most widely-recognized tool in its class. Consulting firm Gartner has recognized Appcelerator as a ‘visionary’ in the mobile space. There are competitors such as PhoneGap, but they typically involve running the app in a ‘webView’ (read: embedded browser), which generally offers slower performance – not only limiting user experience, but also limiting the complexity of apps that can be safely created. In addition, this embedded browser approach ‘mimics’ native controls rather than delivering actual native controls – providing a less appealing visual look and a less responsive touch.
Not only does Appcelerator Titanium offer cross-platform native controls, but they also offer extensions through ‘Modules’. What this means is that additional features and functionality can be ‘plugged in’ without having to write the code from scratch. This saves further time and cost during the development and maintenance phases and allows the rapid addition of features.
Currently, there are more than 350 modules available for Appcelerator Titanium, with more with more being added everyday. Here are just a few examples:
- QR and Bar Code Scanning
- Push Notifications
- Google Analytics
- 3D Graphics
In addition, Titanium can be used to create apps for the emerging Android tablets such as the Nook Color, Nook Tablet, and the Kindle Fire – to reach an even larger user base and set of demographics. To even enhance the business value further, Titanium offers the ability to use the same codebase yet again – to publish a web version of the app in HTML5.
Who Uses Appcelerator Titanium?
Large enterprises such as NBC, Merck, ZipCar, PayPal and eBay – just to name a few.
Also, these days, roughly one in every 3 apps submitted to the App Store was developed in Titanium.
There is a wide range of types of organizations and individuals that use Titanium – clearly signifying that it’s not just for large corporations and it’s not just for solo hobbyist programmers. The benefits in time and cost savings have been recognized at all levels and through various types of organizations around the world such as corporations, non-profits, healthcare organizations, and federal agencies.
What are the drawbacks?
If your app concept relies mostly on intense 3D graphics or 3D gaming, Titanium may not be the best platform for you (but that has started to change with the development of the Appcelerator gaming engine by Lanica). However, there are not many limitations beyond that – there couldn’t be if over 50,000 apps to date have been published using Titanium. One common misconception we do hear often though is that cross-platform tools force your app to look and behave the same across all platforms – which could confuse users and degrade the experience. This is not true – you do not have to make your apps look exactly the same. With Appcelerator Titanium, you create native controls for each platform – meaning a tab or a button on iPhone looks and behaves as one should on iPhone; and a tab or a button on Android looks and behaves as one should on Android. You can of course tailor your app to each platform as much as you desire. Back to the misconception though – you could certainly make the apps be identical if you desired, but that choice is up to you.
Developing a mobile app for your organization is an investment, just as any other technology initiative is. You must evaluate the business proposition – how much do you expect to earn or save by having the app – and how much is that worth to you? In addition, if you are creating an app for multiple platforms, you need to consider how much you will spend to develop apps for those various platforms. For most organizations, it would be difficult to justify creating apps for multiple platforms with wholly separate teams, skillsets and code. Cross-platform tools fill that ‘common sense’ gap.
About the Author
Brian Blankenship is a Senior Mobile Solutions Provider with Clearly Innovative, Inc. He is an experienced mobile developer, as well as a certified project manager with experience and certifications in agile development. He has developed apps for various industries including the federal government.
Clearly Innovative, Inc.
Clearly Innovative, Inc. is a certified small business and a premier provider of mobile technology solutions for iPhone, iPad, Android, BlackBerry, HTML5, Windows 8, Nook and Kindle. Based in Washington, DC and founded in 2009, Clearly Innovative has developed dozens of apps and serves clients in various industries such as the Federal, DoD, Commercial, Social Media, Non-profit arenas. Clearly Innovative specializes in mobile app development using the Appcelerator Titanium platform, which essentially allows code to be written once and ‘published’ across multiple platforms – drastically reducing time and cost throughout the development lifecycle. Clearly Innovative is an official Appcelerator Gold-Level Integration partner, with many certified mobile app developers and deep expertise on the platform. In addition to bringing top-notch mobile expertise, Clearly Innovative brings solid project management and process improvement expertise to support a solid and lasting solution.