It might be surprising, but the fundamental nature of IT – computers, operating systems, networks, and applications – hasn’t changed that much over the past 50 years.
Sure, we’ve seen a huge migration to flexible and inexpensive mobile devices, as well as wired and wireless networks that have enabled modern information systems to become pervasive at remarkably low cost.
But the basic elements and requirements have remained pretty much the same – computers, software, networks.
One area that hasn’t seen as much progress as the others, however, is the development of applications software. Writing code is more complex today than ever. With graphical user interfaces that are essential to end-user productivity and large, growing, and complex databases with their essential management and analytical tools. Add on challenges of mobility, security, and compressed timescales and budgets. Even the most skilled programmers are busy, to say the least.
But since application software is essential to the mission of every organization, the key element in this debate is deciding on an application strategy – specifically, local apps or Cloud?
The rise of powerful and flexible mobile devices continues to reinforce the traditional application strategy that has prevailed since the early days of IT: running local applications on a local operating system. And today apps, as they’ve become known, dominate in the mobile space.
"There’s an app for that,” – apart from being great marketing, that meme couldn’t be more accurate. There are literally millions of apps available today. Most of these are consumer-focused, but many are custom-developed by organizations for use in both internal and customer-facing settings.
But there’s a problem with apps – they are generally fixed to a specific platform, and often to a specific release of a specific OS.
As new releases appear, modifications are required just to keep current functionality operational, along with ongoing demand for new features and requisite bug fixes. And the costs (and often risks to schedules as well) inherent here can be considerable.
Moreover, at least two major versions of any given app (iOS and Android) are usually deployed, each with their own code base, but version for other operating systems may be required as well.
For starters, Windows, Mac OS X, and Linux continue to evolve, and versions of apps for each of these may be required. Add in a few outliers like the mobile variants of Windows, BlackBerry and other legacy OSes (Symbian, anyone), and developing apps can become difficult to justify - writing, maintaining, and supporting apps can become a cost and logistics nightmare.
This fundamental challenge has contributed to many organizations placing limitations on BYOD and consumerization choice – just because it’s possible to use a wide variety of mobile devices and mobile OSes doesn’t mean that such is cost-effective.
And there’s one additional important consideration, and that’s the essential nature of contemporary information systems today. The primary goal of most IT organizations is to distribute information to anyone, on any device and at any time. Employees want to interact and collaborate, easily, reliably and cost-effectively. Adding everything required into an app can be – well, you get the point here.
And so it’s easy to see how the operational and cost constraints faced by just about every IT organization work against the traditional app model.
The alternative is to deploy applications in the Cloud. This makes a lot of sense today for a good number of reasons:
1. First, it’s much easier to implement device- and OS-independent solutions. Yes, there are variances in browsers that may require some consideration, and ditto for any plugins that might be required. But increasing standardization of the browser environment works in IT’s favor here. Write once, run anywhere is finally possible.
2. Add in the sheer size of the databases required by modern IT departments, along with the significant (and always increasing) amount of processing power involved, and the argument for server-side implementations gains additional steam.
3. It would literally be impossible for all of the data required in modern organization-class applications to be cached or even moved to a mobile device, as the communications costs would rapidly become excessive and the local storage even on modern devices quickly exhausted.
These are powerful arguments in favor of a Cloud-based application strategy. And while many still argue that disconnected operations are still essential, it’s easy to see how “offline” operations are rapidly becoming impossible for organizational IT today.
But, as one might be suspect, both local apps and Cloud-based applications are important - they just have different missions and constituencies.
We recommend that any customer-facing applications be implemented as local apps, even if these are little more than front-ends for Cloud-based services, with both iOS and Android versions kept up to date with the latest releases of both operating systems.
The reason for this is easy: it’s very important to control the customer experience and to have minimal to no dependence upon other local software, even a browser.
Support costs can be minimized via this strategy, and end-user satisfaction increased. All that’s required is to download the app (which by itself assists in bonding the customer to the organization), and for the end-user to observe notifications to keep it updated, and the mission is fulfilled.
Yes, the development costs required must be considered, but improved customer service and retention can usually justify the expense.
On the other hand, internal applications should be Cloud-based, with browser-centric access applied wherever possible. Standardizing on a single browser platform that runs across all mobile operating systems can help in keeping implementation and support costs bounded. And the flexibility of this strategy is the icing on the cake – changes are easy to deploy, and reliability is seldom an issue.
We like to describe the state of IT today as the era of Infocentricity, where the key focus is on information rather than computers, networks and applications. While these other elements are certainly important and remain essential, it is information that is truly priceless. Picking the most appropriate applications strategy for the mission at hand helps to maximize the value of – and return on – that information.