With the release of iOS 8, Apple has finally brought significant customization options for its mobile Operating System. iOS has long been criticized for the sandboxed nature of its ecosystem and the lack of customization features compared to other platforms, especially Android. But iOS 8 brings forth a number of customization options for its users, all without compromising the privacy and security factors that Apple is especially known for.

iOS 8 Extensions

Extensions in iOS 8

Apple has made customization possible on iOS 8 mainly with a new feature called Extensions. Earlier versions of iOS (including iOS 7) did not allow apps to perform actions outside their own sandbox. Hence, to edit or view a file stored outside its local storage, an app was required to import it first. Extensions on iOS 8 now allow apps to extend their functionality to other third party apps. Using extensions, any particular app will be able to use the features of another app, from within its own sandbox.

Extension Points

Apps on iOS 8 can only extend their functionality to cover 6 pre-defined set of customization areas, known as extension points. Extension points may be regarded as handles for an app to interact with elements outside its sandbox. Beyond these specific points, a third party app cannot control other app-specific or OS level features. If you want to change your default web browser or set a custom lock screen, iOS won’t let it happen. That being said, these are the different extension points that third party apps can utilize and extend their features upon.

Today Extensions (Widgets)

Today Extension (Widget) on iOS 8

These extensions can be added to the Today view in iOS 8 Notification Center to display app-specific information at a glance. Widgets run separately from their parent apps, so they are able to display updated information even when the particular apps aren’t running. But to reduce memory usage at the same time, widgets on iOS 8 load only when the Notifications panel is revealed, and are inactive otherwise. Today Extensions are comparable with Android’s Home screen widgets or Windows Phone’s Live Tiles.

Apps using Today Extensions

Today Extensions will generally be available from apps that provide timely updates, such as Weather, Stocks or News Alerts. Some apps currently using the Today Extension include Yahoo Weather, Yahoo News Digest, Clear, Calendar 5, Dataman, Who’s viewed you (LinkedIn), etc. But we may also come across widgets that allow quick interaction with a particular app from the Notification Panel. One example of an app that uses Today widgets for quick app interaction is PCalc. PCalc puts a fully functional calculator in your Notification Center’s Today view.

Enable & use Today Extensions

To enable and use Today Extensions in the Notification Center, follow the steps below:

  1. Install an app on your iOS device that supports Today Widgets.
  2. Pull down the Notification Center and tap on Today tab.
  3. Scroll down through the existing notifications in the Today view and tap on Edit.
  4. Available third party widgets will automatically be listed under the Do Not Include section. Select a widget from this list to add it to the Notification Center.
  5. Tap on Done in the top right corner. The selected app widget will be added to the Today view of Notification Center.

Share Extensions

Share Extension on iOS 8

Share Extensions enable users to share content from an app to an online service. These extensions will allow you to do things such as selecting a photo in the Photos app and sharing it directly on social networks like Facebook, Twitter, etc. The available sharing options will depend on the type of content being shared (context-specific). For example, while sharing photos, services specific to photo sharing will be available; but while sharing videos, only the apps that allow video sharing will be listed in the available options. Share Extension for a particular supported app is automatically added to the Share menu once the app is installed.

Apps using Share Extensions

Some examples of apps that are using Share Extensions include Facebook, Twitter, Flickr, LinkedIn etc. for sharing photos; and YouTube, Vimeo, etc. for sharing videos. There are many other Share Extensions possible for other types of files.

Enable & use Share Extensions

Here, we’ll take the example of photo sharing extension. Follow the steps below to enable and use Share Extensions:

  1. Install an app that supports Share Extensions.
  2. Go to the Photos app and select a photo you want to share.
  3. Tap the Share icon on the bottom left corner of the screen. This will open the Share menu.
  4. The first row of icons in the Share menu (the colored ones) indicate apps/services which support Share Extensions. If you want to add other services, just tap on the More (…) icon at the end of the list.
  5. The Activities list will display all the apps that support Share Extensions. You can toggle these options on or off to include or exclude specific services from the Share list, or even rearrange their positions. When finished, tap on the Done button in the top right corner.
  6. Now select the service (For example, Facebook) where you want to share the photo.
  7. Finally tap on the Post/Share button when your post is ready for sharing.

Action Extensions

iOS 8 Action Extension

Action Extensions enable apps to perform specific actions on a particular selected content. This type of extensions allow you to manipulate or view content using other third party apps. These extensions cover a wide range of features such as using a password manager to automatically log into particular websites, convert a web page to PDF document, translate a text in a particular app using a translator extension, print the contents of a file or webpage using a printer app extension, etc. Like Share Extensions, Action Extension options are context-specific too.

Apps using Action Extensions

Bing Translator Extension could be used to translate a webpage in Safari, though as of now, an update for Bing is not available yet. 1Password is another Action Extension available which can be used to automatically log in to websites when browsing in Safari. Apps may also use some exclusive extensions. For example, Opera Mini browser uses a QR Code reader extension to open URLs by scanning QR code.

How to Use Action Extensions

Action Extensions are available from the Share menu below the Share Extensions. You may control the available Action Extensions by going to the Share menu and then tapping on More (…) button at the end of the Action Extensions list, and finally enabling or disabling specific extensions available in the Activities list. If an app that supports Action Extension is installed, its action extension will automatically be added to the Activities list of Action Extensions. To perform an action, select the content you want to interact with and then tap on a particular Action Extension from the Share menu.

Photo Editing Extensions

iOS 8 Photo Editing Extensions

This type of extension allows the native iOS Photo editor to access and use the features of supported third party photo editing apps. For example, the native photo editor now lets you to apply third party filters to your photos. After editing is complete, you can save the photo back to your albums without leaving the Photos app.

Apps using Photo Editing Extensions

Several photo editing apps are now available on the App Store, which implement Photo Editing Extensions. Some examples include Camera Plus, Camera 360 for applying filters and effects to photos, or Scanner Pro for scanning documents from images.

How to use Photo Editing Extensions

Follow the steps below to use Photo Editing Extensions:

  1. Install an app that supports Photo Editing Extensions.
  2. Launch the Photos app and open the photo you want to edit.
  3. Select Edit from top right corner. The default photo editor in iOS 8 opens and you can make adjustments to the photo here if required.
  4. If you want to edit using another supported third party extension, tap on the … icon at the top left corner of the screen.
  5. A list of extension compatible apps should now be displayed along with the More (…) button.
  6. If the app you want to use is not available, tap on the More (…) button to access the whole list of supported apps. Here you can enable or disable photo editing extensions for particular apps.
  7. Tap on Done to return to the extensions list. The enabled extensions should be listed now.
  8. To edit the photo, tap on a particular extension and access the app-specific editing features.
  9. Tap on Done when editing is complete to return back to the default iOS 8 photo editor.
  10. Tap on Done once again to save the changes to your Photos album, or Cancel to discard them.

Storage Provider Extensions

Storage Provider Extension on iOS 8

These extensions enable third party apps to access files from a Cloud service or from the local storage of another app. You could, for example, open and edit a file stored on your personal cloud directly within a third party document viewer app.

Apps using Storage Provider Extensions

Personal cloud service DropBox and document viewer/editor app Quip are few examples of apps using Storage Provider Extensions.

Enable Storage Provider Extensions

Storage Provider Extensions can usually be accessed within supported apps from app-specific import menu. When you want to add/import files to an app that supports Storage Provider Extensions, in addition to its native options, it’ll also provide options for browsing files stored on other supported apps. As with other extensions, you can tap the More (…) button to manage your available Storage Provider Extensions.

Custom Keyboard Extensions

iOS 8 third-party Keyboard

Apple has finally pulled its restrains regarding third party keyboards. On iOS 8, in addition to Apple’s stock keyboard, one can also install and use third party system-wide keyboards. Third party keyboards can be activated from the Keyboard Preferences in the Settings app.

You can switch between active (native or third party) keyboards by tapping on the Globe icon, or choose a particular keyboard by tapping and holding the Globe icon. Some third party keyboards may combine the numbers keyboard and the Globe button within a single key. In this case, you might need to tap and hold the Globe button in order to switch keyboards.

Third Party Keyboards can be used on any screen that requires text input. Some third party keyboards might require you to allow full access to provide features like text prediction, or in some cases, work at all. To change the settings of third party keyboards, you need to open the keyboard preferences from within the specific keyboard app accessible from the Home screen.

Apps using Custom Keyboard Extensions

Several third party custom keyboards have been released since the rollout of iOS 8. These include apps like Fleksy, SwiftKey, Swype, MyScript Stack, Minuum, etc.

Enable & use Custom Keyboards

Note: Before using custom keyboards on iOS 8, you should know about the precautions one should take in order to protect their privacy.

In order to use a custom keyboard, you have to install an app that uses Custom Keyboard Extensions. The following steps will guide you to install and use third party keyboards on iOS 8:

  1. Install an app that supports Custom Keyboard Extensions.
  2. To enable the custom keyboard, open Settings >> General >> Keyboard.
  3. Tap on Keyboards. Your active keyboards will be listed here.
  4. Tap on Add New Keyboard and select your preferred custom keyboard under Third Party Keyboards section.
  5. The newly added keyboard should now be displayed in the Keyboards screen.
  6. To use a custom keyboard, tap on a text input field to reveal the keyboard.
  7. Tap or hold the Globe icon for switching between active keyboards or to select a specific third party keyboard.

The above six types of extensions enable third party developers to provide a lot more functionality in their apps than what was possible before. The apps we have mentioned in this article are only initial examples of what extensions could provide. iOS 8 Extensions have opened a new window of opportunity to develop unique features for their apps. At this time, we can only wait to see how developers can innovate new ways of implementing iOS 8 Extensions within their apps.