this post was submitted on 10 Sep 2024
674 points (78.9% liked)

Memes

45659 readers
1607 users here now

Rules:

  1. Be civil and nice.
  2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] PM_ME_SNEKS_IN_HATS@lemmy.world 6 points 2 months ago (1 children)

I have honestly never heard this take but it makes sense. If you feel like elaborating more on why it's a pain for developers I would be interested. But like, I also have google if you don't feel like typing it all out lol.

[–] BorgDrone@lemmy.one 3 points 2 months ago (1 children)

Several things that made the SD card annoying to developers.

First: you could not install an APK on the SD card (probably due to DRM reasons). So if you had a larger app and you wanted users to be able to take advantage of the additional storage offered by the SD card you could not do this simply by having a large APK. (Note that this also was true for phones that had no removable SD card but had internal memory that presented itself as ‘external storage’).

On some phones the normal storage was so small that any larger app had to leverage the external storage to be able to even fit (we’re talking 10+ years ago). The way to do this was using so-called ‘expansion files’. These were additional data files, up to 2GB a piece, that could be installed on the external storage. These came with some additional difficulties.

  • They were pure data files, so they could not contain any executable code. They were just big binary blobs, so none of the Android built-in mechanisms for loading assets depending on screen density, screen size and all that stuff worked. You had to do it all by hand.
  • Since they were just binary blobs, you had to do any organization inside the files yourself. For example, they could be large ZIP files but you had to do all the ZIP handling yourself. Compared to normal APKs that are also ZIP files but where you can just load stuff from the APK archive and it’s all handled by the framework.
  • The expansion files were separate from the APK. The Play Store did try to automatically download them if your app had expansion files, but this was not guaranteed. Furthermore, because they live on an SD card they could disappear at any moment. Your app needed additional logic to deal with this, code to re-download the files if they were missing, code to handle errors during the download, UI to show the download progress, etc.

Another problem with SD cards was the huge variety in quality of SD cards. Phones internal storage is reasonably fast, but you never know what kind of cheap-ass yanky SD card the users installed in their phone. This caused all kinds of performance problems in more demanding apps and as a developer you had to deal with the fall-out (bad reviews, support requests, etc.)

[–] PM_ME_SNEKS_IN_HATS@lemmy.world 1 points 2 months ago

Thanks for all the info. That's really interesting. I remember those phones that had like 2GBs of internal storage and 1.5GBs was taken up by the OS so you could have like 5 apps and 1 video on there before you needed an SD card. Those were a huge pain.

I also remember not being able to move certain apps to an SD card as it was restricted by the software. I used to wonder why, but that actually makes a lot of sense now lol.

Also, are you saying my SpamDisk 150TB SD card I got on wish for $0.93 is not good enough for you? Elitist.