Skip to content
tezvyn:

App Thinning: Ship Only What's Needed

Source: developer.apple.comHardHow cards are made

App Thinning: Ship Only What's Needed

App Thinning shrinks your app's download by delivering only the assets a specific device needs. The App Store uses Slicing for device-specific art and code, and you can use On-Demand Resources for assets downloaded after installation.

Why it exists

Large apps deter users from downloading, especially over cellular, and take up precious storage space. App Thinning was created to reduce the installed footprint of an app by ensuring that a user's device only downloads and stores the code and resources it actually needs.

The mental model

Think of your app archive as a master blueprint containing parts for every possible device. App Thinning is the factory process that looks at a customer's order (their device model) and builds a custom kit using only the parts from the blueprint that fit that specific model, shipping them a much smaller package.

How it works

App Thinning uses two main strategies. First, Slicing creates different app variants for different devices. The App Store delivers only the variant for a user's device, containing the correct executable architecture (like arm64) and resources (like @3x images for a Pro Max iPhone). Second, On-Demand Resources (ODR) allow you to host assets on the App Store that the app can download as needed after the initial install, perfect for game levels or tutorials. A third mechanism, Bitcode, which allowed Apple to recompile apps for new CPUs, is now deprecated and no longer used by the App Store as of Xcode 14.

When to use it

You should always leverage App Thinning. Slicing is largely automatic if you use asset catalogs correctly. Use On-Demand Resources for any content not required at first launch, such as in-app purchase content, tutorials, or later game levels. This significantly reduces the initial download size, which is critical for user acquisition.

When not to use it

There's no reason to avoid Slicing, as it's a core optimization. However, implementing On-Demand Resources adds complexity. Don't use ODR for essential, first-launch resources, as the network-dependent download would create a poor user experience. If your app is already very small and has no large, optional assets, the overhead of managing ODR might not be worthwhile.

One canonical example

A game developer includes 50 levels in their app. The initial download only contains the files for levels 1-3. When the player is about to complete level 3, the app uses the ODR API to request the assets for levels 4-6 from the App Store in the background. The user gets a small initial app and a seamless experience, while the developer avoids a massive upfront download that might lose them the user.

Interview question

An app includes a large, optional onboarding video. Which App Thinning strategy is best to minimize the initial download size while ensuring the video is available if needed?

  • a.On-Demand Resources (ODR), allowing the video to be downloaded only when the user initiates it.Correct
  • b.Bundling the video directly into the app, as App Thinning doesn't apply to large media files.
  • c.Slicing, to deliver the video only to devices with sufficient storage.
  • d.Bitcode, to optimize the video's encoding for various device processors.
Why?

On-Demand Resources (ODR) are ideal for optional content not required at first launch, like tutorial videos, as they allow assets to be downloaded only when needed, significantly reducing the initial app download size. Slicing, in contrast, delivers device-specific variants of required assets and code, not optional content.

Just read this? Test yourself on what you have been reading.

Read the original → developer.apple.com

You just looked this up. Could you explain it out loud?

That is the part interviews actually test. Tezvyn takes questions like this one and gives you what the interviewer is really checking, the answer that lands, and the mistake that ends the conversation, in the four minutes before your next meeting.

The iPhone app is on the way

We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.

Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.

Get it on Google PlayiPhone app coming soon

We are hiring for this. Open roles that interview on ios — each one lists the topics its interview covers.

See open roles