Open Source, Android Push Evolution of Mobile Cloud Apps

397

For years, cloud gurus have claimed mobile devices will drive cloud computing, but they’ve had few cloud-specific mobile apps to point to. That is changing, however, as a growing number of mobile cloud projects break cover, with open source and Android leading the way.

Open source clouds are red hot, with platforms like OpenStack, CloudStack, and Eucalyptus enjoying surging growth. Equally sizzling is the category of open source mobile software — Black Duck Software estimates the number of open source mobile projects almost doubled to 18,000 in 2011, with more than 70 percent created for Android.

Not surprisingly, then, open source mobile cloud apps are also proving popular. While there are still relatively few in production use, Black Duck’s Director of Developer Marketing, Dave Gruber, sees a recent flowering of activity in the segment, especially in mobile cloud infrastructure

According to Gruber, today’s single-task apps will evolve into full-fledged mobile-cloud platforms. “Early mobile-cloud open source projects seem to be focused on solving specific tasks like backup, data-push, and resource monitoring,” said Gruber via email. “As these projects come together, we expect to see more broad, mobile-cloud platform projects like OpenMobster play a significant role in helping enterprises deploy scalable mobile infrastructure.”

Cumulus, a CloudStack Admin App

Cumulus app screenshotAccording to Gruber, most open source mobile-cloud projects are designed for a specific cloud platform. For example, Creationline’s Cumulus is an Android 2.3 app for backing up data and managing VM instances and other cloud data inside CloudStack.

“Cumulus is primarily designed for enterprise private cloud administrators that use CloudStack,” said Tadahiro Yasuda, CEO of Japan-based Creationline, via email. “We think our app is a great backup tool for an admin on the road.”

Cumulus streamlines the CloudStack API security negotiations, and lets users download data for offline access and back-up. Status updates are provided for a VM instance’s virtual machines and snapshots, and users can do basic manipulation like starting and stopping a VM process.

Version 1.0 will soon go stable, and the project is now planning a version with improved monitoring via a connection to the Zabbix distributed-monitoring software. In addition, “we are thinking about adding alert/alarm features about scheduled maintenance notices and preset actions,” said Yasuda.

Cumulus will also evolve into a more active participant in cloud processes. “We think Cumulus should have more detailed control on VMs such as the ability to make VM images,” said Yasuda.

Open Source Finds a Platform

OpenMobster has a broader scope than Cumulus, supporting multiple cloud platforms as a JBoss AS runtime. Its cloud server exposes enterprise systems to mobile middleware, letting users interact with a cloud API and extract information. The company is readying its first Release Candidate (version 2.2) for Android and iOS, and the software is already in use in production settings.

OpenMobster diagramOpenMobster’s two central features are data sync and push notification. Sync compares cloud data with the app’s local database, and is available in two-way and one-way modes. Push notification, meanwhile, notifies the mobile user when selected data changes in the cloud.

“Sync is especially big in a mobile setting,” said OpenMobster CEO Sohil Shah, via email. “It’s important to store some data locally and access it regardless of whether the device is online. Our goal is to let developers create apps that store data locally without worrying about sync.”

Two more well-established open source projects that are evolving into mobile-cloud platforms are Funambol and RhoMobile, an offshoot of the Motorola-sponsored Rhodes project. Funambol bills its Android cloud service as an alternative to Apple’s iCloud, offering email sync and PIM push services. Like OpenMobster and Funambol, RhoMobile focuses primarily on cloud sync.

While sync is currently driving mobile cloud apps, the next growth area will be location, predicts Shah. “Location information by itself is boring, but when it’s mashed up with cloud information, all kinds of innovative apps are possible,” said Shah. OpenMobster recently added a Location Module along with a location-aware sample shopping app. A more typical enterprise app, however, would locate service reps.

Why Android Rocks the Cloud

Most open source mobile-cloud projects are still in the early stages. These include the fledgling cloud-to-mobile push notifications app, SimplePush, and the pre-alpha Mirage “cloud operating system” which enables the creation of secure network applications across any Xen-ready cloud platform. The 2cloud Project, meanwhile, has the more ambitious goal of enabling complete mobile cloud platforms. All of the above apps support Android, and many support iOS.

Among mobile OSes, Android is best equipped to support cloud applications, said Shah. Android supports sockets to help connect to remote services, and supplies a capable SQlite-based local database. It also offers a JSON (JavaScript Object Notation) interchange stack to help parse incoming cloud data.

Unlike iOS and Windows Phone 7, Android provides background processing, which is useful for building a robust push infrastructure, said Shah. Without it, he added, users need to configure the app to work with a third-party push service. Most importantly, Android is the only major mobile OS to support inter-application communications.

“Mobile apps are focused, and tend to do one thing only,” said Shah. “When they cannot communicate with each other, you lose innovation.”