Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

iOS 8 Extensions: How they work and why they matter to you

Marco Tabini | Sept. 18, 2014
Even though iOS 8 superficially looks like its immediate predecessor, there are some new under-the-hood technologies that'll have a huge impact on the way we all use our iOS devices. One of the most significant of these is something Apple calls Extensions.

Until now, iOS's sandboxing model prevented apps from accessing each other's functionality. This meant that if developers wanted to, say, provide support for saving and retrieving documents from Dropbox, they would have to embed the functionality right in their software, leading to problems like duplication of code, inconsistency in the functionality provided by different apps, and the need to log in to the same service multiple times.

Even worse, the old approach caused apps to become "closed" once they were published: Following the example above, if you didn't want to use Dropbox for whatever reason, you could only use a different provider like Google Drive if the app specifically supported it.

With Extensions, apps are automatically aware of each other and can exchange information in a standardized way (assuming, of course, that developers implement the appropriate bits in their iOS 8-compatible software). Better yet, developers won't have to constantly reinvent the wheel just so that their apps provide the same kind of basic functionality as everybody else's, leaving them free to focus on creating innovative new software.

Is this secure?

Apple has gone to extreme lengths to make sure that extensions are implemented in a way that is fundamentally compatible with iOS's focus on privacy and security.

Despite the fact that apps are now allowed to communicate with each other, they can only do so in a very specific way that does not compromise the operating system's sandboxing model. Essentially, the operating system creates a "netural zone" in which both the host app and the app that provides an extension can "meet" and exchange data in a controlled fashion.

Inside this virtual Switzerland, communication with either app — and with the outside world — is strictly regulated to ensure that extensions do not gain access to unwanted data without the user's permission.

Don't be too worried if this sounds draconian: Developers have had years to get used to life inside iOS's sandbox, and they won't find working with extensions much different. Besides, it's entirely possible (and probably a good thing) that Apple has decided to err on the side of caution for now, and will open up more communication avenues for third parties in a later release of iOS if the need arises.

Won't this lead to a lot of hidden software on my device?

No. To avoid this very problem, Apple has decided to foist a significant limitation on developers: They must bundle their extensions with apps that provide some kind of functionality.

Thus, any extension that ends up on your device must be tied to a particular app — and, when you remove the app, its extensions will be deleted as well.

 

Previous Page  1  2  3  Next Page 

Sign up for CIO Asia eNewsletters.