We are no strangers to Apple's closed platform approach to app development. While Android's platform has generally been open to customization from the very beginning, the iOS development community has had to come up with some creative solutions to get apps to share data with one another—until recently. With Apple's introduction of Extensions to iOS 8, the possibility of what third party developers can do has greatly expanded. Fast forward a few months, and we already see the effects of this change.
Some of the new possibilities that extensions allow: custom sharing actions, Notification Center widgets, and document sharing between apps. Photo from Apple.com
So what are Apple’s iOS 8 ‘Extensions’?
Simply put, extensions are packaged features of an app that can be accessed outside of that app. They allow users to have a more seamless experience—previously, in places where users would need to switch between apps, they can now access another app’s features without ever leaving their current location.
Extensions fall into a variety of categories:
Today extensions are widgets that can be accessed via the “Today” tab of the Notification Center, like weather updates.
Share extensions allow users to share content to other apps. Take Pocket, a popular read-later app, as an example. It now allows users to save content straight from Safari’s default Share menu.
Actions display or manipulate content from another app. For example, 1Password previously required users to login to services via their third party browser, it can now be accessed via an extension inside Safari.
Photo editing extensions give the ability to edit photos or videos inside of the native Photos app. Soon, users will be able to access the editing options offered by VSCO Cam, for example, without ever leaving Photos.
File provider extensions allow users to browse files which were previously accessible from another app only. This gives users the flexibility to manipulate documents stored on cloud services, like Dropbox, in a much easier manner.
Custom keyboards replace the default keyboard across the entire operating system. Keyboards like SwiftKey and Fleksy that were previously only available to Android users can now be experienced by Apple fans as well.
Hold your horses…
In typical Apple fashion, there are restrictions to what the definition of an extension can be. Apple has designed Extensions to be more like “feature sharing” rather than as a platform for standalone side apps. As a result, all extensions must be contained inside of a “parent” app, and that parent app must offer some sort of functionality to its users. Developers cannot offer extensions on their own. If a user deletes an app, it also removes any extensions that come with it.
But of course, people will find a way around Apple’s restrictions. This has led to the creation of some superfluous container apps, where the core product is really just an extension. The Fleksy custom keyboard, for example, has a container app that simply includes a tutorial, a rudimentary notepad, some basic sharing features, and settings. It basically exists to give a place for users to practice typing.
Finding the right balance
Others have used their imagination to push the boundaries of what extensions can do, some of which have not been taken so well by Apple.
The most notable of which was Launcher, an app that allowed users to create shortcuts—including opening URLs and apps, or doing common tasks like creating a new email, text message, or accessing a contact—all from a Notification Center widget. To the heartbreak of many users, Apple deemed it as a misuse of widgets, slammed down the iron fist, and it was no more.
Screens from the now-unavailable Launcher widget. Threw the photos from Cromulentlabs.com into the iPhones.
Sometimes, even Apple seems to be unsure about what they want to let slide. A popular calculator app, PCalc, was forced to remove its Notification Center widget (story on Mashable), with Apple stating that widgets cannot perform any calculations inside of the Notification Center. Peculiarly, at the time of its ban, it was featured in the “Great apps for iOS 8” section of the App Store, under “Notification Center Widgets”. After some significant press coverage, Apple reversed the decision (story on TechCrunch) the following day, allowing the PCalc widget back into existence.
This is an exciting time for app developers. While we will undoubtedly hear more stories of useful, innovative extensions being rejected from the App Store, we are still moving in the right direction. Apple’s consumer loyalty is heavily dependant on the great usability that we have come to expect out of their products, so it’s in their interest to keep it that way. Rolling out slow, incremental changes is just part of their process.
Apps used to be thought of as individual, isolated tools. In the early days of the App Store, we saw the proliferation of all sorts of small, widget-like apps—a weather app here, checklist app there—but as the app ecosystem has matured, so have our tools. Checklist apps like Wunderlist have grown into business-scale productivity suites. Extensions push that even further: developers previously had to create custom solutions to integrate with other services, but with extensions, we could see that process become much more streamlined. It’s not difficult to imagine productivity suites like Wunderlist work with cloud storage solutions like Dropbox, providing users an easy way to retrieve and share documents. We could see travel apps borrow weather extensions to achieve the same goals as if they were built into the app, except done much more efficiently. This could go on and on, and the possibilities will continue to grow.
Extensions are Apple’s first step into opening up their closed development system. With Apple slowly letting go of their restrictions, it seems as if iOS is starting to grow up, catching up to the flexibility that Android offers. This opens up a world of opportunity, and should be exciting to see what people build in the months to come.
What will you build?
If you have an idea you’d like to explore, we can help you bring it to life. Get in touch! Let's explore your idea together and build something amazing out of it!