There have been many, many other threads on Hacker News where this has been discussed. Consider this not extrapolating from a single data point, but using one data point to illustrate a larger trend that we see over and over again here.
When you run a business, you avoid criticising any company you rely on. You don't start a war with credit card companies, your hosting provider, your lawyers, your accountants, your insurance company, your building management or others unless you're prepared for them to give you bad service or drop you entirely.
Apple have the power to make and break small businesses dependent on the App Store which sucks but that power isn't unique (most of the services I listed above could do the same thing). If you can't be diplomatic to essential business partners, you're going to get abandoned.
I agree, but notice the person's comment was diplomatic. It wasn't trashing Apple, just stating a different viewpoint. And he/she thought it was necessary to remain anonymous for that.
This is commonplace in any situation where there is a company holds so much dominance in an industry, though. I was immediately reminded of how game development studios were petrified by the idea of criticizing Nintendo in the late 80’s.
Great article, very in-depth. However, pretty sure this is an Apple-only problem, in that they lock down the entire user experience as much as possible. Expendable storage could easily remedy this.
Still, the whole architecture behind it sounds pretty cool. Remains to be seen if other settop boxes follow this. Really interested in what the data cost will be. Right now, not knowing that cost, I would never want an algorithm to determine what to store/what not to store with something as trivial as games/media. Then again I'm not the target user for something like this. Someone's mom shouldn't have to see the "You only have 0.1GB left, please delete some stuff" message; the ideal UX would indeed be for the system to handle it for them.
Probably the cost of delivering data particularly in regards to the resulting data churn that having less local storage might require. Not all internet connections are unlimited.
True, but it's a device designed around streaming high def video (in fact, other commenters in this thread are complaining about it not streaming 4K video). So if your data usage is a major concern, I don't think the device has much to offer.
The app thinning itself is nice, but the 200MB max initial load is probably the most significant consequence to the end user. If you buy a 10GB game, and have to wait for all 10GB to download before you can use it, you'll be pissed. But if you can use it just as soon as it gets the first 200MB, you'll be able to play a lot sooner and have a much better experience.
Just like streaming video overtook non-streaming video—and streaming audio overtook non-streaming audio, I imagine this is going to be pretty universal very soon.
Their idea is to "tag" assets so that you can transition the assets in the game. So the tutorial assets may be part of the "initial download" tag that tvOS will automatically fetch, but once you're done with the tutorial those can be safely discarded. You rarely need all 10gb of the game's assets at once.
> Their idea is to "tag" assets so that you can transition the assets in the game.
Which is cool, and I hope it works out well (I'm somewhat concerned about games where you can have a bunch of saves to different parts of the game, any of which you could load—or something like Skyrim where you can fast travel to anywhere at almost any point). But if that works perfectly, it'll be at best unnoticed :-) Whereas the faster start time will be noticeable almost every time you download a new game.
Well, one trick would be to have "starting location" assets as a tag so you could always hop directly to a save, then begin streaming the rest of the surrounding area.
I foresee a lot of smaller games without this concern having good success. I don't expect a 10gb blockbuster any time soon on tvOS...
You can often start a 40GB game pretty quickly while it's still downloading on Xbox One and PS4. Although it's usually not used very well - often it just means you can go to the game's main menu and you have to wait there anyway, heh.
This is what has really impressed me back in my WoW days when they added streaming support with - I think it was WotLK. Even after downloading only 1-2 gigs, you could start actually playing the game.
Yes, it would look crappy and some non-essential stuff would be drawn as something similar to wireframes, but you could actually play the game.
This was really impressive to me and also confirmation that what Apple is asking from the developers now must absolutely be possible.
> Even after downloading only 1-2 gigs, you could start actually playing the game.
Oh, I had forgotten about that—I tried WoW briefly just after WotLK came out. And Diablo 3 has the same as well. I definitely was a fan of it. I hope Apple's implementation works as nicely.
Oh yeah, that actually reminds me of an even earlier example. The first Guild Wars you could play very quickly while they streamed in other areas of the game.
I remember being really impressed by that and it felt like the future. But kind of forgot about it since I didn't see it much until the PS4 and Xbox One, though they tend not to do it even remotely as well.
The entire Guild Wars engine was massively impressive on a technical level. The levels were large for their time, less powerful systems could run the game well, well-populated cities didn't drag the system down very much, and the instanced environments performed spectacularly well.
Yeah, Batman Arkham Knight did it to where you could go into the menu and just stare forlornly at it while the rest of the game loaded. Many other games let you actually play while it downloads the rest, though, which is quite nice.
Actually, making the user wait is against Sony compliance and the game won't be certified. In order to do that you have to get a waiver from them, and you need to make a good case for yourself. GTA and Batman got away with it because they both have a huge open world that can be navigated wherever, so the whole thing has to be installed to actually play the game. On any other game, Sony allows you to install 5GB install chunk and you should be able to play at least something from that install chunk(a tutorial level for example) while the rest of the game is installing to the hard disk.
I so would hope you could configure it so that you can keep certain apps loaded, iow locked. I understand what they are after but with this much storage the limit is a bit low.
iOS so far doesn't start to remove content until the System needs to provide more space than what is available.
When that point is reached, in the past the user would have been required to go in an delete apps they don't need (or opt to not install the new app because they think they need all of their existing ones).
Now, the system can start to remove some of the mostly unused data in other apps to make room.
I really believe this to be an improvement compared to the past.
The good thing about these limits is that they are all arbitrary and enforced on the server-side in the app store and related infrastructure. If it turns out that the limits are too stringent, then lifting them is simple.
However, if it turns out that this works out in Apple's favor, then this provides a huge benefit for users as their devices will last much longer than they do now.
I can see how the initial reaction of game developers is to think "this can't work. I can't do this", but I also have a feeling that with time solutions will present themselves and apple might also weaken the limits a bit where needed.
The article is quoting Binding of Isaac: Rebirth as something that can't possibly happen on AppleTV due to this and I honestly doubt that. At no point in time are all assets visible on screen (heck - novice players will require a long time before they see anything but the first two levels - the game is hard)
I'm convinced that the assets could be split into multiple chunks and delivered as needed.
Then over time, as so far iOS does never expunge downloaded assets until the system is under memory pressure, the game would remain installed in full as long as people actually use it (BoI:R is way smaller than the 20GB total limit right now).
Is all of this different from what we're used to? Sure. Does it make some classes of games completely impossible? I don't think so. It'll just take some getting used to, but the limitations actually enforce better architecture design, so they might even be a very good thing overall.
It also makes me think of game levels designed for the 6th generation of consoles (PlayStation 2, GameCube, and Xbox). Since the consoles had limited memory, they'd have a permanent resident set of memory, and then individual levels would be lumped together into a package file and streamed from the disc on-demand. Lumping them all together meant that they were in the relative location on the disc, so reducing the drive head seek times. As long as the game wasn't pushing up against the size limit of the disc, assets would be repeated to avoid additional seeks (no point in seeking to the sound effect file, seeking to the music file, seeking to the model file, etc. when loading a level).
The difference here is that those lumped-together levels live in the cloud and can be cached to system storage ahead of time (although faster players or those with slow network connections may need to wait for chunks to cache).
So if the idea here is to incentivize developers to create apps that can be functional after only a 200Mb download is this approach the most efficient way to achieve that?
I got me an AppleTV Gen2 and I love it. Even actively looking for more Gen2s but they are rather expensive now.
The Gen2 could be rooted, and XMBC installed with Addons. It offers a great interface, stylish hardware and using XMBC I can link the apple TV directly to my home Nas and stream media from that. Something I never liked about the appleTV was being locked in to only being allowed media in the 'apple approved way' hence the rooting.
I have a few android boxes but they are just not as tidy
Does not really relate to the post just a random overshare
>"tvOS is content to take some control away from app makers and Apple TV users, and it does so with purpose and philosophy"
Of course it does... On the other hand, I'm not so sure to be content with that loss of control, I'm annoyed already with all the content that I "own" on iTunes but in reality I can't reproduce anywhere else.
So now I must feel happy that Apple can upgrade and delete content/apps from my device when they please? What sadden me most is that probably in a couple of month Google and MS would follow that path too.
This is completely missing the point. They're not deleting apps (although all three reserve that ability, it seems Google is the only one that's actually used it), they're deleting the assets from the app. And they're only doing it because you haven't used it in a long time, and other apps need the space.
As a game dev, the not-great thing about this is that although there are instances where assets are used rarely, like tutorial levels, there's also a lot of good, meaningful cases where > 200 MB of assets are used constantly. If you have less than 200 MB of local cache to play with, then you will be constantly discarding and redownloading content.
This puts a hard limit on the top end of visual fidelity and good game experience, because the dreaded "level loading" screens that are already approaching difficult and punitive with assets uncompressing in streams directly off of local storage would now be impossible with those assets streaming over radically more limited network connections.
That said, it looks like Apple is aiming for the very casual, phone-like market for their device, especially considering the hard requirement that the remote must be usable to game with; so that's a cap too.
It'll be interesting to see if their apparent belief -- that there is an untapped market of people who want to play games on their TVs that is nonintersectional with the set of people who already play games on their TVs -- is true.
> If you have less than 200 MB of local cache to play with, then you will be constantly discarding and redownloading content.
as far as I understood the SDK docs, iOS doesn't start purging downloaded assets until it's put in the position to having to download more than there is space for.
So unless people have very full devices and are constantly switching apps, you won't have to redownload assets.
Yeah. The thing about gaming is that you have to consider the worst case scenario. If only 200MB is guaranteed per-app, then that is what is going to happen in at least some cases. If the experience of those cases is utterly abysmal because of cache thrashing, then you're going to get a lot of 1-star reviews.
I agree completely. This is Apple telling develpers how they want gaming to be on their platform. And it is not clear that this platform will be that strong a market for gaming. Apple can get away with it, but they may be squandering an opportunity.
> that there is an untapped market of people who want to play games on their TVs that is nonintersectional with the set of people who already play games on their TVs
I don't think that's Apple's belief. From what I see, they just want to take their current gaming userbase—people who own iOS devices, especially kids—and give them a TV "console" to run local-multiplayer versions of those same iOS titles, letting them re-use their iOS devices as controllers.
It's effectively nothing more than a NUMA-processing extension to AirPlay.
It's strange to see Apple pushing so hard to reduce storage requirements, while at the same time charging $50 for an extra 32GB of flash on the AppleTV (and charging $100 for an extra 48GB on the iPhone).
The emphasis on storage seems to indicate that they see storage limitations as a user experience problem. But if they'd stop gouging on storage upgrades, that would improve the user experience immensely, especially if they bumped up the storage on the bottom-end iPhone. In the other direction, the fact that they do gouge seems to indicate that they see storage limitations as a profit opportunity, so it's weird that they're trying to make it less important.
Maybe this is just the result of internal conflicts. Hardware doesn't want to upgrade storage, so software tries to mitigate that.
Not charging outrageous prices for upgrades, and not shipping devices with ridiculously small storage, would also mean that one can fit more apps on the device. So what I'm wondering is why they're doing one but not the other.
I don't know how well that works. Your apps will be ready faster, but if they're streaming content on the fly then you'll need a relatively fast connection to avoid lots of delays while using it. With a more traditional system where you download everything up front, it will take longer but once you have it your speeds don't matter.
I have a PS4. Don't play very often. But one thing you notice real quick is sloppy packaging. The Binding of Isaac needs more than 200MB? Isn't it a handful of sprites and procedural levels? I've only played for... I dunno, 30 minutes, but it seems like it could have easily been a PS2 game.
And then you have games with 300MB save files. Which is a huge problem since you only get 1GB of cloud storage for saves. So you end up deleting most.
I care about efficiency. I like that my iPhone charges in 45 minutes unlike the multi hour charges of the ~3,000+mAh devices I've owned. I like small downloads. The Apple TV isn't going to have the power of a dedicated console. There's no reason to download 40GB of texture data.
I agree with what you're saying overall. But this new policy from Apple doesn't seem to be encouraging efficiency. In some ways it encourages wastefulness, because once you do the work of making your assets load on demand, and as long as your stuff fits into 20GB, you don't really have to care how large they are. They'll always fit on the user's device, you don't have to worry about crowding out other apps or causing the user to receive annoying alerts about storage being full, etc., it's all just managed for you. It will be painful for people on slow connections, and expensive for people on metered connections, but getting developers to care about that is probably challenging.
"App Thinning" is a useful solution now that Apple has to support a range of devices. The Play Store has supported multiple device/screen/resolution specific Android APKs for years, but build process is not automatic: https://developer.android.com/google/play/publishing/multipl... Google recommends against using multiple APKs unless the file size is greater than 100MB due to the hassles Apple is apparently automating.
It seems paradoxical to me that we're in the midst of a crazy Moore's Law style escalation in both storage speed (the SSD revolution) and storage density, and at the same time OS and device makers are rushing to make everything cloud-dependent and trim storage.
'Cloud' seems like it's becoming an end in itself. Put it in the cloud and give it more cloud because cloud.
This is strange on the surface, considering Apple's continued insistence on making new 16 Gb iPhones.
My best explanation is that this effort is a prelude to enforcing app thinning on their phones, with the ultimate aim of boosting the market for AAA games. Even a 128 Gb iPad/iPhone 6S can only hold so many 5 Gb+ games - which is a major limitation as the hardware is increasingly capable of "AAA" experiences. If my own experience is any guide, the more a user has to delete those big games, the fewer big games they buy (and, indirectly, the less incentive there is to make them). App thinning might make it possible for a user with a 32 Gb Apple TV or iPhone to have 100 Infinity Sword / FIFA caliber games technically "installed" on their device (and maybe a dozen such games a 16 Gb iPhone), making the platforms more inviting for future big releases.
A thought about loading screens: game studios do them because people are willing to put up with them. But there are definitely ways to do "streaming" asset loading/unloading in games, that studios almost universally ignore because they trade off loading time for perceived quality (i.e., they make for sometimes-awful screenshots that could end up in someone's review.)
For example, imagine an open-world MMO game. It's fairly simple to keep a "base cache" of low-poly models with low-res textures of all the world areas, and then pull down the asset pack for the "active" area as necessary. Now, instead of a loading screen, each level looks like prev-gen crap for 30 seconds when you first arrive—but you're free to continue interacting with the area, as the better-looking assets asynchronously download and replace the base ones.
This is what people expect for e.g. streaming video—that when your connection chokes, you get a degraded, blocky view that continues in real-time, and then slides back into HD as the connection improves.
Everything old is new again. The Web never required you to manage local storage and streamed content, cross platform, on demand. Java Applets and Flash did so as well.
In another 2 or 3 years, we'll be back to where we were in 1996, only with native code.
59 comments
[ 3.4 ms ] story [ 158 ms ] threadHilarious to me that if you even softly criticize Apple you have to do it anonymously in fear of retribution. Must be an awesome company to work with.
When you run a business, you avoid criticising any company you rely on. You don't start a war with credit card companies, your hosting provider, your lawyers, your accountants, your insurance company, your building management or others unless you're prepared for them to give you bad service or drop you entirely.
Apple have the power to make and break small businesses dependent on the App Store which sucks but that power isn't unique (most of the services I listed above could do the same thing). If you can't be diplomatic to essential business partners, you're going to get abandoned.
I really don’t see the connection to greed.
Still, the whole architecture behind it sounds pretty cool. Remains to be seen if other settop boxes follow this. Really interested in what the data cost will be. Right now, not knowing that cost, I would never want an algorithm to determine what to store/what not to store with something as trivial as games/media. Then again I'm not the target user for something like this. Someone's mom shouldn't have to see the "You only have 0.1GB left, please delete some stuff" message; the ideal UX would indeed be for the system to handle it for them.
What do you mean by the data cost?
True, but it's a device designed around streaming high def video (in fact, other commenters in this thread are complaining about it not streaming 4K video). So if your data usage is a major concern, I don't think the device has much to offer.
Just like streaming video overtook non-streaming video—and streaming audio overtook non-streaming audio, I imagine this is going to be pretty universal very soon.
Which is cool, and I hope it works out well (I'm somewhat concerned about games where you can have a bunch of saves to different parts of the game, any of which you could load—or something like Skyrim where you can fast travel to anywhere at almost any point). But if that works perfectly, it'll be at best unnoticed :-) Whereas the faster start time will be noticeable almost every time you download a new game.
I foresee a lot of smaller games without this concern having good success. I don't expect a 10gb blockbuster any time soon on tvOS...
But I'm sure we'll see this improve over time.
Yes, it would look crappy and some non-essential stuff would be drawn as something similar to wireframes, but you could actually play the game.
This was really impressive to me and also confirmation that what Apple is asking from the developers now must absolutely be possible.
Oh, I had forgotten about that—I tried WoW briefly just after WotLK came out. And Diablo 3 has the same as well. I definitely was a fan of it. I hope Apple's implementation works as nicely.
I remember being really impressed by that and it felt like the future. But kind of forgot about it since I didn't see it much until the PS4 and Xbox One, though they tend not to do it even remotely as well.
When that point is reached, in the past the user would have been required to go in an delete apps they don't need (or opt to not install the new app because they think they need all of their existing ones).
Now, the system can start to remove some of the mostly unused data in other apps to make room.
I really believe this to be an improvement compared to the past.
However, if it turns out that this works out in Apple's favor, then this provides a huge benefit for users as their devices will last much longer than they do now.
I can see how the initial reaction of game developers is to think "this can't work. I can't do this", but I also have a feeling that with time solutions will present themselves and apple might also weaken the limits a bit where needed.
The article is quoting Binding of Isaac: Rebirth as something that can't possibly happen on AppleTV due to this and I honestly doubt that. At no point in time are all assets visible on screen (heck - novice players will require a long time before they see anything but the first two levels - the game is hard)
I'm convinced that the assets could be split into multiple chunks and delivered as needed.
Then over time, as so far iOS does never expunge downloaded assets until the system is under memory pressure, the game would remain installed in full as long as people actually use it (BoI:R is way smaller than the 20GB total limit right now).
Is all of this different from what we're used to? Sure. Does it make some classes of games completely impossible? I don't think so. It'll just take some getting used to, but the limitations actually enforce better architecture design, so they might even be a very good thing overall.
The difference here is that those lumped-together levels live in the cloud and can be cached to system storage ahead of time (although faster players or those with slow network connections may need to wait for chunks to cache).
The Gen2 could be rooted, and XMBC installed with Addons. It offers a great interface, stylish hardware and using XMBC I can link the apple TV directly to my home Nas and stream media from that. Something I never liked about the appleTV was being locked in to only being allowed media in the 'apple approved way' hence the rooting.
I have a few android boxes but they are just not as tidy
Does not really relate to the post just a random overshare
Of course it does... On the other hand, I'm not so sure to be content with that loss of control, I'm annoyed already with all the content that I "own" on iTunes but in reality I can't reproduce anywhere else.
So now I must feel happy that Apple can upgrade and delete content/apps from my device when they please? What sadden me most is that probably in a couple of month Google and MS would follow that path too.
This puts a hard limit on the top end of visual fidelity and good game experience, because the dreaded "level loading" screens that are already approaching difficult and punitive with assets uncompressing in streams directly off of local storage would now be impossible with those assets streaming over radically more limited network connections.
That said, it looks like Apple is aiming for the very casual, phone-like market for their device, especially considering the hard requirement that the remote must be usable to game with; so that's a cap too.
It'll be interesting to see if their apparent belief -- that there is an untapped market of people who want to play games on their TVs that is nonintersectional with the set of people who already play games on their TVs -- is true.
as far as I understood the SDK docs, iOS doesn't start purging downloaded assets until it's put in the position to having to download more than there is space for.
So unless people have very full devices and are constantly switching apps, you won't have to redownload assets.
I don't think that's Apple's belief. From what I see, they just want to take their current gaming userbase—people who own iOS devices, especially kids—and give them a TV "console" to run local-multiplayer versions of those same iOS titles, letting them re-use their iOS devices as controllers.
It's effectively nothing more than a NUMA-processing extension to AirPlay.
The emphasis on storage seems to indicate that they see storage limitations as a user experience problem. But if they'd stop gouging on storage upgrades, that would improve the user experience immensely, especially if they bumped up the storage on the bottom-end iPhone. In the other direction, the fact that they do gouge seems to indicate that they see storage limitations as a profit opportunity, so it's weird that they're trying to make it less important.
Maybe this is just the result of internal conflicts. Hardware doesn't want to upgrade storage, so software tries to mitigate that.
However, doing the reduction in assets means that people using their devices in places where speeds are not great also get a benefit.
And then you have games with 300MB save files. Which is a huge problem since you only get 1GB of cloud storage for saves. So you end up deleting most.
I care about efficiency. I like that my iPhone charges in 45 minutes unlike the multi hour charges of the ~3,000+mAh devices I've owned. I like small downloads. The Apple TV isn't going to have the power of a dedicated console. There's no reason to download 40GB of texture data.
'Cloud' seems like it's becoming an end in itself. Put it in the cloud and give it more cloud because cloud.
My best explanation is that this effort is a prelude to enforcing app thinning on their phones, with the ultimate aim of boosting the market for AAA games. Even a 128 Gb iPad/iPhone 6S can only hold so many 5 Gb+ games - which is a major limitation as the hardware is increasingly capable of "AAA" experiences. If my own experience is any guide, the more a user has to delete those big games, the fewer big games they buy (and, indirectly, the less incentive there is to make them). App thinning might make it possible for a user with a 32 Gb Apple TV or iPhone to have 100 Infinity Sword / FIFA caliber games technically "installed" on their device (and maybe a dozen such games a 16 Gb iPhone), making the platforms more inviting for future big releases.
For example, imagine an open-world MMO game. It's fairly simple to keep a "base cache" of low-poly models with low-res textures of all the world areas, and then pull down the asset pack for the "active" area as necessary. Now, instead of a loading screen, each level looks like prev-gen crap for 30 seconds when you first arrive—but you're free to continue interacting with the area, as the better-looking assets asynchronously download and replace the base ones.
This is what people expect for e.g. streaming video—that when your connection chokes, you get a degraded, blocky view that continues in real-time, and then slides back into HD as the connection improves.
In another 2 or 3 years, we'll be back to where we were in 1996, only with native code.