The ongoing debate is “Is the iPhone ready for the enterprise”, but this is rapidly becoming irrelevant and the wrong question. The iPhone is infiltrating organisations hidden in senior executives pockets much to the dismay of CIO’s. But the iPhone has the potential to be a powerful ally when deploying enterprise applications, where lack of adoption of applications by business users is the real enemy.
So the question should be “Is the enterprise ready for the iPhone?”
Most of the talk is about the core use for the iPhone – as a phone and email device. So the topics of security are discussed at length in the blogosphere. As are the other discussions about the iPhone support for MS Exchange and sychronisation. It is clearly getting better – except for Tasks. What happed to that? Perhaps once you get an iPhone you are either too cool to understand tasks and deadlines or so senior that you have delegated everything
For those not in this luxurious position read Stanley Bing's excellent Being retired at work blog
But the debate that is starting, and a recent post at CIO.com although they are arguing for the Smartphone rather than just the iPhone and the topic of my keynote at iCE09 in Amsterdam is how the iPhone and iPod Touch is becoming an enterprise platform.
As an enterprise platform it is the perfect device for the CIO to engage the business users – getting closer to them. Closing that ever widening business-IT divide. A divide that Cloud Computing is making even wider as I discussed in a recent blog Why Force.com is the CIOs nightmare
A book I’m currently writing with John Appleby of Bluefin Solutions is Thinking of… Developing an iPhone app for the enterprise? Ask the Smart Questions, published by Smart Questions. What is interesting is the number and range of questions that need to be answered BEFORE you start writing code.
So what are the challenges (over and above those simply using it as a phone and email device)? BTW I’m only going to be able to scratch the surface. Obviously we will going into a lot more detail in the book.
Ownership & device
The first debate is what device and who owns it. Notice earlier I said iPhone AND iPod Touch. The iPod Touch is essentially the iPhone without the phone and a few other bits and pieces. As it has wifi and no ongoing cost it maybe is a cheaper better platform if the person who will be using it does not need a company phone.
If the iPhone is owned by the employee you have some interesting challenges which I’ll discuss in distribution.
What app
At the moment there are relatively few iPhone Apps that are design for the enterprise. There are lots that are aimed at business people - let’s call them standalone productivity apps. But a true iPhone enterprise app is where the iPhone as an integral part of an enterprise application. So the apps supports all or part of an enterprise process such as R2R (Recruit2Retire), O2C (Order2Cash), or I2P (Idea2Product). Good examples are the recently launched Salesforce.com Mobile app.
Buy vs build
Are you implementing an app built by a 3rd party or building your own?
Buy - Buying and distributing a 3rd party app
If it is a buy what due diligence have you done on the supplier? How good is their coding, security, scalability and encryption? Will they be in business next year?
If it is a 3rd party how are you going to get it onto the device as it will probably need to be downloaded from the iTunes store by the owner of the device and paid for. Even if is only 99c how is the person going to be reimbursed. Or is the IT department going to register every iPhone user and download the apps for them. That sounds like a McJob.
Build - architecture, development & release cycles
You also need consider the future functionality of the Apple iPhone OS roadmap (or what is visible of it) when you architect your app. What other apps in the iPhone are you going to integrate with? What about your core external systems.
Certainly when Nimbus started to develop its Nimbus Control for iPhone application there was as much work to do to our core enterprise app (developing the web services) to let it to talk to the iPhone, as the work to create the iPhone app itself.
But that ties you into the core app release cycles. How do you disconnect yourself so that you can iterate your iPhone app more rapidly as the true requirements emerge? That requires a clear view of the roadmap for the iPhone app so that you can build in the hooks into the core app.
iPhone vs Smartphone
I’ve focused on the iPhone because in many ways it is easier to develop for than other Smartphones. At least it has a single OS, a single screen size, one app running on the device at a time, and a single mechanism to download/sync apps (iTunes store).