Tag Archives: Hybrid Apps

The Mobile Enterprise: Part I – Composite Mobile Apps

Five years ago the enterprise was a much simpler place.  Web applications only had to support one front-end (IE), UI design was straightforward (if not the most elegant), and users were blissfully unaware of of the limitations web applications placed on their “user experience”.

How time flies…

Now, thanks to Steve Jobs and Apple (with some competitive nudges from Google and Microsoft), the enterprise exists in a much different world.  Instead of one front-end, enterprise applications have to support dozens, if not hundreds of platform permutations; users are in open revolt because they see alternatives to the status quo; executives are sorting through the hype trying to figure out where Cloud fits in; and just as web investments start paying off along comes the push into mobile.

So why (except for pointing out the obvious flaws in 5-year I.T. roadmaps) is this important?

Over half of Americans own a smartphone, another 35% own a tablet; and 35% of these use an app before they even get out of bed in the morning.  It’s not just that people are mobile, it’s that they are connected… all the time.

Welcome to the world of Connected Mobility.  And in this world, a Mobile Enterprise isn’t an option.

But how does a company get to a Mobile Enterprise while leveraging their investments in the web and without massive new I.T. expenditures?

The answer is Composite Mobile Apps.

Composite Mobile Apps – What Are They?

Composite Mobile Apps are enterprise-class applications that have a single Enterprise Core supporting multiple front-ends (iOS, Android, Windows Phone, Mobile Web Apps, etc.).  They are assembled from component parts (mobile apps, web apps, enterprise services, enterprise databases, etc.) into an enterprise application that functions as a complete whole.  They combine all types of mobile apps (native, hybrid, and web) with new or existing enterprise applications.

Composite Mobile App vs. Mobile App

Although mobile apps come in multiple flavors, every mobile app has one thing in common: they allow the user to interact with the app from their mobile device (smartphone or tablet).  But where the app is actually running is another thing.

With mobile web applications all of the app is executing on the backend, with content (as HTML pages or encoded streams) served up to a browser running on the mobile device.   (**Note: Although the browser is running on the mobile device, it is not a part of the app.  It’s just a container for content served up by the app.)

Native mobile apps are just the opposite: most of the apps’ functionality runs natively on the mobile device.  They may or may not have back-end components supporting the front-end, but if they do the back-end functionality is specific to the native app.

Hybrid apps are nothing more than mobile web applications packaged to run natively so they can take advantage of mobile device capabilities (GPS, Bluetooth, camera, microphone, etc.).  Core application functionality still runs, and content is served up from, back-end components.  A small slice of functionality is native, but most is on the back-end.

All three types of mobile apps have (or may have, in the case of native apps) back-end functionality.  But all this back-end functionality has one thing in common: it’s specific to the mobile app.  Take away the mobile device and the back-end has no purpose.

Composite Mobile Apps approach mobility from an enterprise perspective.  “Mobile Apps” aren’t something that stand alone; they are simply one component in a broader enterprise application.

Composite Mobile Apps are characterized by a single Enterprise Core supporting multiple client platforms: native mobile (iOS, Android, Windows, etc.), hybrid (HTML/CSS containers running on mobile devices), mobile web, web, and even native OS clients (Windows, Mac OSX, Linux).  Core functionality is then shared across client platforms.

Composite Mobile App

Dual MVC Design

Composite Mobile Apps are structured around a dual MVC design, with a localized MVC design for native apps and a master MVC design for the overall application (including web) – with the native apps themselves part of the master MVC architecture.

Within the master MVC design, native apps define the “View” layer and the Enterprise Core contains the “Model” layer.  The “Control” layer is shared across local and master MVC structures: localized controllers within the native app (part of the local MVC design) handle application control on the mobile device; they interact with local controllers on the back-end, which in turn delegate control to master controllers in the Enterprise Core (local and master controllers are part of the master MVC design).

CloudSmart

Composite Mobile Apps assemble an end-to-end enterprise application from component parts. One of those components can be (should be?) cloud storage for content shared across multiple client platforms.  And with a dual MVC design, content can be shared across mobile and web clients.   (Learn more about how to make your app CloudSmart)

Composite Mobile Apps – Why Are They Important

Composite Mobile Apps are critical to an enterprise for several reasons:

  • Mobility is viewed from an enterprise perspective, not from the perspective of individual mobile applications.  Mobile apps are aligned with existing capabilities and not just dropped into an organization.
  • I.T. shops can leverage their existing investment in web technology.  Composite Mobile Applications extend and enhance web solutions, they don’t replace them.  This significantly lowers the cost of standing-up a Mobile Enterprise.
  • Composite Mobile Apps are easily adaptable to new mobile technologies and new ways of applying these technologies.  A lot of mobile apps lock you into a solution, Composite Mobile Apps opens up the enterprise to technology advances.
  • CloudSmart.  Mobile Apps and the Cloud are components of an enterprise app, not point-specific solutions.  This facilitates collaboration and sharing of content across mobile devices and between users.
  • Mobility isn’t as risky.  Solutions are assembled from parts that are already working, with development isolated to net-new capabilities.  Don’t carve out the enterprise for individual mobile apps.
  • Quicker paths to a Mobile Enterprise.    There’s less to build and what needs to be built takes less time.

Parting Thoughts

Composite Mobile Apps represent the fastest, least risky path to a Mobile Enterprise.   Other elements contribute to getting there (e.g. a winning mobile strategy) but Composite Mobile Apps should be in every I.T. organization’s toolbox.

-Mike