Remove All Ads from XDA
Honor 9 Lite

[Q] Android Developers, why are you treating my SD card like a garbage can?

29 posts
Thanks Meter: 4
By OMGrant, Junior Member on 9th February 2011, 12:57 AM
Post Reply Email Thread
This has been bothering me for quite a while, so I conjured a little story to help sooth my frustration.

Lets say my Android device is the new tenant of a nicely formated loft, this loft being 16gb of square space. To commemorate this new exciting space my device throws a house party. Most of the Apps he invites are pretty well behaved, but some start spilling drinks, then puking on the carpet, then having an orgy, then bukkake-ing the root directory. After discovering such acts, the device politely requests the disruptive guests force quit and leave. "I need more space on my phone." the device replied as each questioned on their way out. To his disbelief, NONE of the Apps cleaned up their mess! Even worse it seems some of the classier Apps, though more organized seem to have been influenced too. Unfortunately the device is forced to live with it, as the police force stopped responding to calls in his neighborhood. One man tries, but it always returns to a mess.

I hope that entertained someone.
9th February 2011, 02:57 AM |#2  
PhxkinMassacre's Avatar
Senior Member
Flag Lemont
Thanks Meter: 472
i know exactly how you feel... there is at least 7 unused folders just wasting space on my phone. not to mention random mp3's hidden deep within my phone...
The Following User Says Thank You to PhxkinMassacre For This Useful Post: [ View ] Gift PhxkinMassacre Ad-Free
8th April 2011, 04:51 PM |#3  
Senior Member
Flag FL
Thanks Meter: 39
Originally Posted by PhxkinMassacre

i know exactly how you feel... there is at least 7 unused folders just wasting space on my phone. not to mention random mp3's hidden deep within my phone...

I hope you understand about the unused folders and NOT the bukkake-ing!!
9th April 2011, 11:15 AM |#4  
Junior Member
Thanks Meter: 0
hello, nice story!

I won't say that I am even close to being a developer but I do develop some apps and the thing that I wan't to point out is that apps do not run when they are installed or uninstalled. It's not each application job to clear up the mess it may have created but package manager's which apparently leaves some files be just in case you would like to reinstall the app later(?)...

I would propose to look for a more efficient package manager or doorman/janitor for your loft
9th April 2011, 06:40 PM |#5  
Flag London
Thanks Meter: 6
That's why I don't invite the guy whos only existence is to make farting noises!
11th April 2011, 01:03 AM |#6  
cordoni's Avatar
Thanks Meter: 4
Very good point. However, one thing I don't know is if uninstalling through the market cleans up the SD card better than using a third party mass uninstall app. Something you may want to experiment with.
24th June 2011, 12:01 AM |#7  
OP Junior Member
Flag Tampa
Thanks Meter: 4
Thumbs down Back at it again...
Here I am again, and I still don't flippin get it!

After reading some of your comments I realized my main point kind of got glazed over(no pun intended @Scudderb)

My big issue is that there's no hierarchy in place for this crap. In windows, program files are stored in the 'Program Files' directory. In Android (and I credit google and the developers for this sloppy BS) Apps are just throwing all their **** in with my stuff on the ROOT.

How is this acceptable. Seriously, HOW? And if its all cache files and/or temporary documents than WHY THE **** ISN'T ALL THIS CRAP BEING PUT INTO A TEMP/CACHE FOLDER.

I'm PISSED! Why does every app I install get to put their own folder on the ROOT WITH the FOLDERS and FILES that actually matter to me ex: like my music, pictures, movies, documents (OH and by the way, a lot of apps developers do a REALLY shitty job with their NAMING CONVENTIONS so the folders being created may or may not even look related to the app that put it there!)

::end rant::

My apologies for the colorful language, folder structure and hierarchy are something I design as a web designer so when I see this crap going on in my phone like the inmates are running the asylum... I get angry.

Today I was cleaning up my SD card for the umteen'th time, and found that Foursquare was dumping its temp files directly onto the root of my directory. I blew my top and had to get it out of my system... so..

24th June 2011, 02:46 AM |#8  
Junior Member
Thanks Meter: 2
The problem here is that it's hard to do it right

For custom data, files are supposed to be saved into "/data/data/com.appname/blah" (that's from the top of my head, could differ slightly). That's the directory to use for data files, but there's one big issue with it: it's on the internal memory storage. We all know that internal memory on Android (without custom ROMs) is.. limited. That's probably why most devs are using SD for larger files.

There's also the "Android/data/com.package_name.blah/blah" directory on the SD card. This directory should be used by apps to store files into and is automatically deleted when the user removes the associated app (but only when you're running Froyo or greater).

The issue with this approach is that users (and developers too, when testing the app) will lose all their data when removing an old version of a specific app. Let's say there's a bug with the Market again and the app suddenly gets uninstalled. User will have to reinstall, result: data will be all gone. That's only one of the many doom scenarios.

I can't speak for other developers, but that's more or less the reason why I started to use a common directory outside of the preferred ones when I was doing apps. It's not a great situation, I fully agree. But would you rather have your data accidentally deleted?

If anyone knows a good way to get around this issue, I'd love to know more about it...
24th June 2011, 08:21 PM |#9  
OP Junior Member
Flag Tampa
Thanks Meter: 4
Cool orly
Thanks for the reply @Stripeymilk

I can think of multiple solutions:

#1 Development community adopts a universal directory for files deemed 'User' or 'Save' data that should be stored for future use. (or Google creates this for developers)

#2 Development community adopts the practice of allowing users to pick the directory users want to store an apps data in. (prompt at app's first start)

#3 Store files/data in the cloud.

#4 Users dump trash in the lobbys/living-rooms of developer's and see how quickly they find a solution.


BOTTOM LINE: Its not hard to do it right, Its just hard to get people to do it.
The Following User Says Thank You to OMGrant For This Useful Post: [ View ] Gift OMGrant Ad-Free
24th June 2011, 11:24 PM |#10  
Junior Member
Thanks Meter: 2
You make it sound so easy

1) I'm all for it, but Google needs to put its weight behind an approach like that because otherwise people will say "I like /Data better than /data or /Mydata or /MyData". It's a bit like coding conventions: everyone wants to be different.

2) Good for techy people, not so good for "normal" users. Could make it easier with a small "file manager", but that's too much work for indie devs. Could be a nice idea for a new open source project though.

3) Great idea, could actually work if the associated account would be created automatically (like in Cut the Rope for Android with Scoreloop), but:

- The backup functionality in Android for storing data in the cloud is available for API level 8 and greater, making it of not so much use when you're targeting API level 5 or 6 and greater. Could be fixed by using something like Google Storage combined with Jets3t instead, but that would be useless for apps written in C++, like many games are.

- Cloud storage isn't free. Developers can't pay for that as it would be too expensive. If every Android user would've gotten free cloud storage from Google it could be a nice alternative, but (yeah, there's always a but) most current users don't have that.

4) If you're prepared to send your trash by plane to another country, go for it!

5) Agreed. Useful for temp data.
The Following User Says Thank You to Stripeymilk For This Useful Post: [ View ] Gift Stripeymilk Ad-Free
25th June 2011, 12:05 AM |#11  
OP Junior Member
Flag Tampa
Thanks Meter: 4
I'm not trying to make it sound easy, believe me I know how it isn't. I'm trying to make it sound simple, because really.. it is...

In response:

1) I agree and this is exactly what I mean by the real hard part is getting people to do it. This requires widespread endorsement by developers big and small - that this is a 'best practice' that should be adhered to. I think the gate swings both ways though.

example: Twitter didn't invent hash tags, their users did, and with its widespread adoption, Twitter adopted/implemented it too.

2) Another good point, though this process can be curated to drive the user in the right direction (holding their hand). The XBOX 360 does this for every game you play, the first thing it does is ask you which storage device you want to use for game saves.

example: in combination with solution # 1, the default folder the app saves to could be '/data/theAppsName' and the prompt could say "This app saves files to your SD CARD in '/data/theAppName'. Would you like to choose a new location?" [Yes] [No] [?]. The [Yes] option brings up a simple file manager, the [No] option uses that location, the [?] option brings up an easy to understand write up on what its asking and why its asking it.

3) We'll get there eventually, my point really was if you've got the resources, why not. Its a solution better than #1 and #2

4) I plan on sending human clones to create trash individually and exponentially :P


In all seriousness though, thank you @Stripeymilk for taking the time to go in depth and have a conversation about this. I seriously think it doesn't take an act of Godogle to solve this (to what I beleive) is a big issue!
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes