App Clips

“If only there was an app for that!”

by Toine Heuvelmans

September 27th, 2020

At the WWDC20 this year, Apple revealed a new feature coming in iOS 14 that can drastically improve the discoverability of your app: App Clips allow you to use and experience a single part of an app, exactly when and where it is most useful. This answers that thought that we probably all have had at least once: “If only there was an app for that!”

In essence, an App Clip is a small part of your app that focuses on a single task or “flow” that can be experienced without the need to download the entire app. An App Clip can be discovered by the user in different ways, each focused on providing you the right App Clip experience exactly when and where you need it.
App Clips is perhaps one of the finest examples of an iOS feature that builds on a lot of existing iOS features and technologies. This can be observed in the various ways through which an App Clip can be discovered, as well as the apparently perfect solutions iOS provides to meet the technical requirements Apple imposes on building App Clips.

We will go through three aspects of App Clips in order to get a better understanding of this new feature. By first discussing discoverability we will get to know where and how a user can discover an App Clip. Then some implementation considerations will provide a realistic scope for what is possible with App Clips. With this understanding, we can discuss several different use cases that will hopefully spark your imagination.

Discoverability

An App Clip experience is launched through opening a special URL that can be obtained in several different ways. Though it is tempting to dive into the technicalities of these, such as NFC tags, QR codes, and Siri suggestions, let us instead focus on the different user experiences these technologies provide towards discovering your app.

When you visit a physical location such as a restaurant or a store, you can:

  • hold your phone near an NFC tag or special “App Clip Code” (essentially an NFC tag but “designed by Apple” to be a recognizable App Clip experience);
  • scan a QR code; or
  • get a suggestion (push message) through Siri Nearby Suggestions

In terms of virtual locations:

  • a website can propose an App Clip through a Safari App Banner; or
  • on Apple Maps, App Clips can appear on company place cards (technically this also facilitates the Siri Nearby Suggestion)

Lastly, a friend can suggest an App Clip to you by sharing it through Messages.

You could group these into:

  • proactive discovery, on-location (NFC, QR code);
  • virtual discovery by suggestion (website banner, Maps, Siri); and 
  • social discovery (Messages)
App Clip Discovery through NFC, QR, Safari, Messages, Maps and recent app clips.

Implementation Considerations

Universal Links

As described above, an App Clip experience is launched through opening a special URL. This is not a URL that takes the user to the App Store (though this has already been possible with most mentioned technologies). It is a Universal Link that is registered at App Store Connect such that it will load a specific App Clip experience on your phone if the full app is not yet installed, or when it is installed, take the user to the same experience inside the app. This already imposes the following requirements:

  1. The experience in an App Clip must also be available in the app;
  2. Bot the App Clip and the app should provide the same experience;
  3. Your app should be able to handle Universal Links to get the user to the right point in your app.

From this follows that the App Clip and app are mutually exclusive; if you have the app installed, you cannot (and need not) experience its App Clip(s).
You can register more than one link to provide multiple different App Clips for a single app. The links also allow for parameters to be passed, making it possible to show different content in a single App Clip.

Lean and Mean

The App Clip is built in a similar fashion to a regular app and thus exists in the form of an app package containing compiled code and relevant assets such as images and fonts. To provide a smooth App Clip experience – it should appear as quickly as possible – that package cannot exceed 10 Mb, which is not a lot. Turning a part of your app into an App Clip that small demands that:

  1. The app has an architecture that is loosely coupled, allowing parts to be compiled without requiring others;
  2. The code, when compiled, is small too;
  3. Special considerations should be put into which assets are required and what type they are.

When App Clips got introduced at the WWDC20, Apple made creating one look (almost) as easy as selecting a few files from the app project, adding these to a new target, hitting the compile button and BAM! – there’s your App Clip. This requires those few selected files to include zero references to code in any of the other files, which demands a solid architecture (pun intended).

Though compiled code will not likely take up the larger part of the available 10 Mb, having to squeeze everything in a package that small makes the fact that SwiftUI requires considerably fewer lines than UIKit very relevant.
Custom fonts and hi-res photos quickly add up in terms of Megabytes, so opting for system fonts and vector images is encouraged.

The App Clip experience should be usable right away, which has a positive and a more challenging side. On one hand, an App Clip should not show a splash screen (which saves some space) but the user should also not be waiting for content to download (which requires as much content as possible to be contained in the app package).

The experience should also go through as few steps as possible, allowing the user to continue their business quickly. Apple urges that when a login is required, this is moved to the end of the experience. To then avoid the need for filling out forms or setting up new accounts, they of course promote the use of “Sign in with Apple”.

Saving Data

An App Clip can save data on your phone. This data allows you to influence the contents of the App Clip if it is revisited within a short period of time, for example by showing an earlier ordered item directly. If the App Clip is not revisited for a while, iOS will remove the App Clip along with the saved data.

The App Clip however also has access to a group data container, which is also available to the corresponding app. When a user installs the app, the App Clip will be removed, but data saved in this group container is available to the app until it has had a chance to obtain it. Through this, the results of actions performed in the App Clip can be used in the app, such as placed orders, scored points or even a login, making the transition from the App Clip experience into the full app experience as smooth as possible.

Privacy

Apple’s emphasis on privacy is very clear when it comes to App Clips. Access to sensitive user data is limited, which for example means that health data will be unavailable.

An App Clip can ask for location permission, but Apple recommends to use a new feature called Location Verification. This assumes the Universal Link for an App Clip can be associated with a predefined location such as a restaurant. When you discover an App Clip at that location, your phone will verify whether or not your actual location matches the predefined location. If not, the link might have been tampered with, so sensitive features such as Apple Pay will be preemptively disabled. In this location verification process, the user will not be asked for location permission because the App Clip developer does not receive a location, merely a yes or no. The user will get an alert when verification fails.

As said, Apple also pushes the use of “Sign in with Apple”, which certainly has some unquestionable benefits. If an app or App Clip provides Sign in with Apple, you can use your Apple ID to sign in (when you have an iPhone, you will almost certainly also have an Apple ID); no need to create a new account. You can then select whether to expose your own email to the app or an anonymous relay address provided by Apple, thus securing your privacy. Sign in with Apple also automatically protects your account with two-factor authentication.
While this all sounds great, you will effectively have given Apple control over your access to another party’s service, which is something to consider.

Use Cases

To reiterate the raison d'être of App Clips, these enable you to discover apps exactly when and where they are most useful. There are different reasons why an App Clip can be useful:

An App Clip can ease a certain action

Enabling you to pay with your phone often considerably speeds up the transaction. Think of purchasing a ticket for a movie or an event, or paying for a parking meter or meal. App Clips for payments can be even more useful where the amount paid can be specified by the user, such as for donations or fundraisers – situations where it is also very likely that making payments otherwise is either cumbersome or requires cash. It can also happen there’s no other way than paying through an app, for example when you want to unlock a shared bike.

Aside from transferring money, App Clips can also be used for providing information. This can be what you would like to order at a cafe or restaurant, allowing you to skip the line. A more typical use case can be filling in a COVID-19 triage form before entering a venue.

An App Clip can provide special benefits

Retailers often reward returning users through loyalty programs, coupons, and discounts. Apps are an ideal way to keep track of a customer’s purchases and/or to show loyalty points, available discounts, or collectible rewards. It is however very likely that a first-time customer does not yet have the relevant app installed. This is where App Clips enable that user to not miss out on any points or coupons given over their first purchase.

An App Clip can enhance an experience

More and more often you can encounter QR codes in theme parks, museums, exhibitions, or even board games that, when scanned, provide an enhanced experience through audio, video, or even augmented reality. These QR codes commonly load a web page, but this can of course also be an App Clip. In that case, the QR code can also be replaced with an NFC tag, removing the need to use the camera to scan a code. Current AR experiences often already require you to install a specific app (because of available technical capabilities over websites), but now you could just load the relevant App Clip instead.

App Clips can also enhance a shopping experience by allowing the user to easily view and shop through the online shop, which for example might offer clothing sizes or furniture alternatives that are not currently present in the physical shop.

An App Clip can let you try something out

App Clips can provide a user with a teaser of your app content without having to install the entire app right away. This can be useful for game developers, exposing a first level or puzzle through an App Clip. While this will most likely be a technical challenge because of the 10 Mb size limitation, it is theoretically possible.

Concluding

App Clips can greatly increase the discoverability of an app and allow potential new users to experience just the part of it they need most, at exactly the right moment and place. This increases the chances they will install the full app later on. When you aim at reaching as big an audience as possible, App Clips can prove to be a very powerful means.