With Apple’s announcements at WWDC, one of the most interesting new features is the app extension (or simply extension) that allows you to extend custom functionality and content beyond an app and make them available to users while they’re using other apps. This news shows that Apple has finally started opening up iOS, which is a big deal. Why? It is particularly interesting because Apple has historically been known for its closed operating systems. Why should enterprises care about extensions? Extensions provide a hint at where enterprise apps can possibly go. Since enterprises require many systems, all processes can’t be captured in just one app. Multiple apps are required to make an impact in the multitude of areas and departments in a business. As enterprises create more mobile apps, extensions will help these apps communicate with one another, making processes even more streamlined and efficient.
What Is An Extension?
As mentioned earlier, an extension lets you extend content and functionality beyond an app and into other apps. By creating an extension, developers can enable a specific task and users can get the extension and perform the task in a variety of contexts. These extensions are tied to an area of the system (Sharing, Notification Center, iOS keyboard), which are called extension points. According to Apple, “each extension point defines usage policies and provides APIs that you use when you create an extension for that area. You choose an extension point to use based on the functionality you want to provide.”
There are various types of extensions in iOS and OS X including:
Today (iOS and OS X) – With the Today extension point, users can get an update or perform a task in the Today view of the Notification Center.
Share (iOS and OS X) – The Share extension point allows users to share content with others or post to a sharing website. If you want to upload files from an app into Dropbox, you’re able to do so with this extension.
Action (iOS and OS X) – The Action extension point gives users the ability to manipulate or view content within the context of another app. For example, you can use Bing Translate to translate some text in a Safari browser window.
Photo Editing (iOS) – Want to edit a photo or video inside the Photos app? Use the Photo Editing extension point. At the keynote, Apple showed how the VSCO Cam extension could be used to edit photos without leaving the Photos app.
Finder (OS X) – The Finder extension point allows you to use a remote file storage service.
Storage Provider (iOS) – The Storage Provider extension point allows users to choose a document from a set of documents the current iOS app can access. For example, businesspeople can use a productivity app to store documents and then open and edit them in another app like Pages.
Custom keyboard (iOS) – If users want to replace the iOS system keyboard with a custom keyboard for use in all apps, the Storage Provider extension point can be used.
An important thing to note is that each extension a developer creates matches exactly one of the extension points listed earlier. Developers don’t create a generic extension that matches more than one extension point.
How Do Extensions Work?
In order to get extensions to work, users will need to download them from the App Store. However, developers need to make sure that each extension lives within a containing app that offers some functionality to the user. In addition, Apple suggests that extensions should be designed to complement Apple’s software, which basically means that the extensions should look and act like Apple’s own widgets. The good thing is that developers can make as many different extensions as the containing app can offer. It’s important to note that each type of extension is activated in different ways. For example, widgets can be enabled or disabled from the Notification center while keyboards can be changed in the Settings area. For a more in depth and technical look at extensions, check out this article by Ars Technica or just check out the iOS Developer library.
Extensions For The Enterprise
To illustrate how extensions could be used to connect various enterprise apps, imagine that ABC company is a large warehouse that requires multiple applications. The warehouse manager opens the Warehouse app and views the day’s tasks. From the Today extension, the manager is able to see what action items and things will dictate the whole day. A shipment is coming in today so the manager decides to share this news along with a shipment document to the shipping clerk. To do so, the manager uses the share extension in iOS 8 to share the document from the Warehouse app to Dropbox. From there, the shipping clerk can easily get the files needed. If the document needs a translation, the shipping clerk can use Bing Translate to translate the text. Once the shipment is processed, the shipping clerk can update the Shipping app to say that the delivery has been completed. This completed status will also be sent over and updated in the Warehouse app.
iOS users will benefit from extensions and its capability of bringing all iOS apps and services closer together. In addition, extensions give users the ability to customize the iOS ecosystem. With a total of 800 million iOS devices shipped and 130 million new iOS users in the last year, extensions will have an impact on many people. In terms of enterprises, they will be able to use mobile applications that can be tailored to different processes and employee preferences. Extensions are an exciting feature because they will give way to a new class of apps and open up a wider world of possibilities.