Based on a screenshot from Apple's developer guidelines, there are some folks up in arms about the new Apple TV's 200MB limit for app bundles (the app you download from the Apple TV's App Store).

200MB isn't a whole lot of storage for game levels, offline content services, or anything really of the sort. The good news is, 200MB is just the size limit for your initial App Store download. Once you open the app, you can download up to 2GB more per app, with up to 20GB of other resources available in the cloud. Apple lets developers do this by using On-Demand Resources, and here's how it works.

On-Demand Resources 101

Let's say you, the developer, make a side-scroller app for the Apple TV with 50 levels. All together, your app bundle comes out to be something like 4GB—too much for the Apple TV's App Store to properly host. Instead, you can take avantage of a new tvOS/iOS feature called On-Demand Resources to slice up your app and deliver it in parts to the user.

Instead of making the user download 4GB off the bat, you slice up your app into a bunch of sections, called tags. You include the essential parts of the app—loading and launch screen, scores, settings, and the first five levels—in that 200MB bundle.

Other levels and assets are split into multiple tags that range in size from 64MB to 512MB. If you sliced up tags that all sized out to 100MB for your game, for instance, you'd have 38 additional items for download once a user installs the game. Those don't come all at once, however: They're called on-demand, when a user needs them.

How On-Demand Resources work in action

When a user downloads your app, they're downloading that initial 200MB app bundle, with all the basics held within it. From there, developers can also mark up to 2GB in initial install tags for download upon install—this means that when a user finishes installing and opens the app, they can get up to two additional gigabytes worth of resources in the background.

In our scenario above, the initial 200MB bundle might just be your game's launch screen and the like; once a user opens your app for the first time, however, it would call an additional 2GB that included the first 25 levels.