Apple's iCloud Will Yield a New Development Environment
Apple's iCloud Will Yield a New Development Environment
When Apple launched its iPhone 4S and the new iOS 5 on Oct. 4, the company also detailed its effort to bring more content to the cloud. Apple iCloud is a combination of free cloud-based services and a set of APIs that allow third-party developers to take advantage of storing and processing information in a virtual cloud-computing environment rather than just on a physical device such as the iPhone or iPad.
The initial set of free iCloud prebuilt apps provided by Apple includes iTunes in the Cloud, iTunes Match, Photo Stream, Documents in the Cloud, iCloud Backup, Application Synchronization and Newstand.
iCloud is important to developers because it gives them a platform and set of APIs from which they can easily develop cloud-based mobile services. This is Apple's first foray into cloud-based services. The company built a data center in North Carolina that cost more than $1 billion to support this new apps development environment.
iCloud thus includes both hardware (data center servers and networks) and software (prebuilt apps and APIs) that will enable tens of thousands of developers to develop new apps that provide cloud-based mobile services to users.
This also includes enterprise IT developers who can leverage cloud-based computing within local mobile apps in iOS devices such as the iPhone, iPad and iPod Touch.
iCloud is an extension of the App Store in that the developer will still build a local iOS application. However, the difference is that the developer will be able to build cloud-based services within the app using the iCloud APIs. Users have demonstrated through downloading billions of apps that local apps give a better user experience than a Web app. This is due to better control and layout of the screen, faster performance with little or no latency, and screen gestures.
To be sure, any current iPhone or iPad app can be built to access remote information. The difference with iCloud is the APIs that will make it easier for enterprise IT professionals (as well as third-party developers) to build cloud-based apps. This is not trivial. Building access to cloud-based services can often be the most difficult and time-consuming part of building an iOS application. With iOS 5, developers can integrate cloud-based services easier than before.
Apple could have focused on only providing the prebuilt iCloud apps in iOS 5. That's what it did when the iPhone was originally released in 2007. The company included only its own apps and didn't provide any APIs or the App Store that would allow developers to build third-party applications for iOS devices.
But, a year later, Apple finally opened up the App Store and issued a number of APIs to enable third parties to build applications for iOS devices. The results have been astounding as developers produced more than 500,000 applications and Apple customers have performed 10 billion downloads.
With the launch of iCloud, Apple could have focused simply on its own prebuilt apps, but Apple realized that more was to be gained if the company made it easier for developers by giving them APIs that would enable them to integrate cloud-based services. It's clear that we'll now see more cloud-based mobile services created either by developers adding more services to existing apps or creating entirely new apps that enable mobile services as the app's primary focus.
What Third Parties Can Do With iCloud APIs
Here are a few examples of what third parties can do with the iCloud APIs:
- Stock analysis: A firm might have a proprietary set of algorithms that are compute-intensive. It builds an iPad app that uses the iCloud APIs to easily send user requests to the server, which, in turn, does the intensive calculations and sends the results back to the local application, giving the appearance to the user that all of the processing was done locally.
- Inventory search: A firm has a large inventory stored on servers. It builds an iPhone or iPad app that takes the inventory search request and uses the iCloud APIs to process the request in the cloud and return the result, giving users the impression that the inventory was available locally.
- Real-time services: The ability of an app to have an active dialog with the cloud so that up-to-date information is displayed locally (think "ticker tapes").
- Multiperson gaming: While multiperson gaming can be done today, the iCloud APIs and services enable a local app to more easily connect to more people than before.
Mobile services using cloud access are going to be the next "big thing" in mobile. First, we had local phone apps prebuilt and installed. Then mobile app stores were created to enable third-party developers to build exciting local enterprise and consumer applications. Hundreds of thousands of these apps have been created.
Watch for developers to take iCloud and build cloud-based mobile services into existing applications, as well as develop new mobile services that are specifically designed to provide cloud-based computing and storage access in local iOS devices.
Mobile services will keep the local app environment relevant and more useful. There will be a lot of activity in this area during the next year.
You can be sure that Google and Microsoft are going down the same path and will provide developers with similar cloud-based service APIs. Before long, we'll have so many cloud-based services that we'll come to expect cloud-based mobile services to be a part of all mobile apps.