I’ve been giving many talks lately to customers and partners about IBM‘s mobile strategy and recent moves in our product portfolios. See, for example, the news of the Worklight acquisition and the presentation I gave at Mobile World Congress 2012. Here are some more detail on one of the slides, the mobile lifecycle.
Let’s go through the bullets one by one.
Strong demand by LoB
Mobile is personal: people have and use smartphones and tablets in their everyday lives. It makes it much easier for business people to imagine how mobile apps can affect and improve their effectiveness, customer loyalty, and revenue. This then drives the CIO, CTO, and the IT staff to decide how to create and distribute the apps. Their decisions include choosing a platform on which they can can consistently build the 5, 10 or more apps they will create in the next 3 to 5 years.
Higher expectations of user experience with mobile apps
Since people have so much experience with personal use of mobile apps, even games, they expect very high quality user experiences from apps provided by enterprises such as banks, insurance companies, healthcare providers, and governments. They have similar high expectations for any apps they use to get their jobs done, such as business analytics, workflow, supply chain, commerce, and social business.
Lack of best practices guidance on how to deliver mobile applications
There’s been a lot of mobile app building experimentation by businesses in the last two years. Many of the apps were outsourced and, while they may look good, came in much more expensively than expected. Some of the apps were native, some were HTML5, and some were done in “interesting” ways. Businesses need to control the costs in building and maintaining the apps, while getting maximal reuse of current staff technical knowledge. This means you take what you know and apply it to creating your first mobile app, but also use the same information and technologies to build many mobile apps after that.
More direct involvement from users/stakeholders in design
It’s not up to the IT team to figure out all the technology to build, run, connect, manage, and secure mobile apps as well as to define the user experience. People who will be using the apps want to influence the interface design, and in many cases insist upon it.
Native programming models are not portable across devices
You can create amazing beautiful and functional apps using pure native methods with the Apple iOS and Android SDKs. Whichever one you pick, you can then do it all over again for the other one. This may be what you have to do, but recognize the difficulty and the expense. While some companies offer on-device environments to try to make apps work and look the same across devices, I think a much better approach is to maximize the use of open standards like HTML5. You also need to balance optimizing for a particular device, maximizing cross-platform code, and not having your app behave in a “least common denominator” manner.
Highly fragmented set of mobile devices and platforms
Raise your hand if you think we won’t see any more mobile operating systems in the next five years. Anybody? Nobody? Apple is different from Android which is different from BlackBerry which is different from Windows Phone. Android? Which version of Android? You need a mobile development and management platform that can handle mobile devices that exist today and will be introduced in the next few years.
Very large number of configurations of devices, platforms, carriers, etc. to test
Not only do we have many mobile operating systems, we have many handset providers and they may tweak the operating system and the applications available on it. The same goes for telcos. So you need a testing strategy that helps you cover the range of platforms you want to support. By the way, it is ok to say that you won’t cover all possible combinations. Pick the ones you absolutely must support and choose a mobile development and management platform that can handle those and the ones on your immediate roadmap.
Mobile landscape evolves at a much faster pace
New handsets come out every year, as well as major versions of mobile operating systems. Point releases of the operating systems come out every few months. For smartphones and tablets, many parts of the world are shifting from 3G to 4G. If you take too long to develop your mobile application or solution, you will be a generation or two behind by the time it gets to market.
More frequent releases and updates for apps with more urgent time-to-market demands
Not only do you have to get your app to market to match the hardware and software used by your consumers, you have to update and distribute your app as frequently as necessary to address bug and security fixes and competitive feature additions. Backward compatibility is important, but you need to evolve your app as fast as necessary to deliver what your users need to be productive and to stay your users.