Mobilizing our enterprise applications

As an IT shop, we are often challenged with big and important tasks. Even though we have made great strides to show the industry how to truly use our products for great value, in the end, we understand that we are secondary to Intel's product manufacturing capability. So we strive to keep costs low, be responsive, provide innovative methods to improve productivity and do everything we can to keep the business running as smoothly as possible. We also help to grow our business by being there before the business knows they need something.

One new area we are developing guidance in is our ability to deliver enterprise applications to mobile devices. Application mobility is something we have been doing in pockets of excellence for our sales teams and some manufacturing support groups, but without an all-encompassing understanding, and not with our enterprise applications.

After having an event to discover all the activities around mobile devices that were planned or in-flight, we then formed a smaller core team of nine people covering Architecture, Engineering and Operations. This smaller Application Mobilization Working Group is tasked with the creation of policy and roadmap for the implementation of our architectural artifacts, communication approaches as well as guidance and governance methods.

Why do we care about creating a larger initiative in this area? We are really trying to fill a gap that developers and architects are clamoring for today as well as avoid wasted effort, while providing methods to prioritize problems that need solved. Whether we want to open our eyes or not, the world is where we have pushed it -- into the mobile space. Employees are bringing their own devices and being able to leverage those capabilities within pre-set guard rails will lend to a tremendous increase to productivity and employee satisfaction.

Part of our approach is realizing the different mechanisms that our current inventory could be delivered to mobile devices.

  • Native
    • These are instructions and data executed directly by a computer's CPU or on top of the target devices operating system. As an example, an application inside the app-store available for download and install.
  • Browser Based
    • Applications hosted in a browser-controlled environment or coded in a browser-supported language and reliant upon that browser to render and deliver the application executable.
  • Virtualized
    • Either virtualized client or steaming application ran on an encapsulated operating system (full or partial), streamed to the target device.

There are common concerns between the three delivery mechanisms, which we are putting guidance in place for. Where the challenge lies is placing discreet, focused guidance for those areas that are different.

As an example, it's relatively easy to convey the need to respect the form factor and avoid shoving a full desktop sized screen onto a device with 1/3 the screen property. To do this you realize that different devices have different screen resolution and that people are to leverage the types of input and output to support device form factor. Although easy to convey, this is one of our biggest challenges in documenting and delivery.

What is harder to communicate, is the need to break down tasks to those that would benefit from execution on a mobile device, and then deliver that task in a manner that leverages device capabilities, while respecting the form it is delivered on. The bottom line is that you do not wholly distribute applications to mobile devices without a task-breakdown-analysis, showing why it is needed. And you should always take the form into account.

We recognize that it's a challenge to deliver legacy enterprise applications onto mobile devices. To do so without any guidance, or at a minimum a community, wastes resources and does not make you more effective as a supporting organization.

As we continue this work I will be commenting and providing some learning’s here.