Hacker News new | ask | show | jobs
by grandalf 3744 days ago
If the 16GB phone would just treat the local storage like a cache for everything it would be plenty of storage. With rare exceptions the expiry rules for my usage would be quite simple. That app I use once every two months can be re-downloaded when I want to use it (it's probably less than 20 MB in size anyway).
3 comments

That seems great in theory, but many people still have really restrictive data caps on their plans, so I'm not sure we are quite ready for that model.

It would also suck if you had an app on your phone like a star/constellation map, which you only use every once in a while when you are out in the middle of nowhere... To have your phone automatically delete that app, then try to re-download it when there isn't any way to do so would be a pretty awful experience.

Works well for something like the Apple TV - I don't think it's good for phones yet.

Well I'd want to be able to flag certain apps to not be expired, or to be restored next time I connect to WiFi if they were cleared for some reason.

Apps that take more than a second or two to download over LTE would be the difficult edge cases, but there are very few such apps, and even if they occupied 50% of the phone's storage and were never reaped the caching approach would be fine.

The big issue is the data cap, but things are trending toward unlimited data (I have it with T-Mobile now) and many of us are often connected to WiFi at least periodically throughout the day.

Most of the apps that are installed on my iOS device are ~100MB - slack (140) Snapchat (140) Spotify (100) viber(100) messenger (97) Airbnb (97) Etsy/Yelp/Starbucks/ are all roughly 70MB - Facebook is ~150 I believe. The worst part is that all of those apps are pretty much webviews...
Facebook's app has a super-bloated > 100MB binary:

http://quellish.tumblr.com/post/126712999812/how-on-earth-th...

I think they have something like 150+ iOS devs, so they're almost up to a megabyte per dev!

This is partly why I just stick to the mobile version of the site. It's a slightly buggy sometimes (repetitious frontpage), but it works well enough and it isn't draining my battery in the background for no reason.
Messenger is another facebook app, which is almost 100MB on top of having facebook installed.
Nextbit Robin Android phone does exactly that : https://www.youtube.com/watch?v=31SHvxSxrj4
Sadly cache invalidation is one of the two hard problems in computer science. It sounds easy and simple but... it's not.
I realize that, but what aspects of it do you think are particularly hard in the example I used? Right now many people with 16GB phones have to go through a fairly painful manual process to avoid getting error messages/warnings about storage.

So while it is difficult, I think that from a product perspective there would be only upside to treating it as a cache compared with the horrible usability of a 16GB IOS device with a typical 2016 usage pattern.

Out of curiosity... what is the other hard problem?
"There are two hard things in computer science, cache invalidation, naming things, and off by one errors."

cache invalidation: distributed resource synchronization

naming things: all things abstraction

off by one: we always fuck it up somehow

Naming things and off-by-one errors.
Naming things. Also off-by-one errors.