Android 5.0 Makes SD Cards Great Again
An anonymous reader writes: Over the past couple of years, Google has implemented some changes to how Android handles SD cards that aren't very beneficial to users or developers. After listening to many rounds of complaints, this seems to have changed in Android 5.0 Lollipop. Google's Jeff Sharkey wrote, "[I]n Lollipop we added the new ACTION_OPEN_DOCUMENT_TREE intent. Apps can launch this intent to pick and return a directory from any supported DocumentProvider, including any of the shared storage supported by the device. Apps can then create, update, and delete files and directories anywhere under the picked tree without any additional user interaction. Just like the other document intents, apps can persist this access across reboots." Android Police adds, "All put together, this should be enough to alleviate most of the stress related to SD cards after the release of KitKat. Power users will no longer have to deal with crippled file managers, media apps will have convenient access to everything they should regardless of storage location, and developers won't have to rely on messy hacks to work around the restrictions."
I can only hope this is actually implemented transparently. Having to choose (and pay for) all the memory you'll ever use the day you buy your phone is ridiculous, and limiting people to what the manufacturer's cost targets are (and no mfr is interested in a bunch of expensive, slow moving stock) made no sense in the market.
Now if Verizon can get it's head out of it's ass and roll out 5.0 updates quickly after the mfrs release them, things might be looking up.
Is it just my observation, or are there way too many stupid people in the world?
I expected the Nexus 6 to have a microSD card slot because they were supposed to gain first-class support in Android 5.0.
But it doesn't, so external storage support must still be a second class citizen on Android.
For a long time, I've been hoping for an OS where, by default, the apps cannot access anything outside of their private areas.
It's possible with chroots and cgroups and other facilities but it's always a mess of third-party after-thoughts.
There's no reason I should have to give my satnav app full read-write permission to the entire SD card just so it can save my favourite places to permanent storage. It shouldn't even be able to know where it's saving them, that's for me to choose.
As such, these are all moves towards a safer, more secure environment. The problem, as always, is what happens in the meantime for the transition or if we mess up and stop apps doing what they need to do. No photo app needs read-write access to the entire SD card, nor can it cope with just read-write access to a private app area. It needs to share the files it writes with the user. Isn't this precisely what the amalgamation of several folders into, say, "Pictures" or "Music" is on several OS? All the app needs to do is say "this is a pictures folder that the user might want to use". And when uninstalled, it stays around because it's still one of the many listed pictures folders for that user.
Gone are the days of full-write-to-everything access. We don't need it. It's not necessary. But we do need the facilities to ensure apps can do what they need to do. This very much pushes into the filesystem-as-a-database idea that we've been wanting for decades. There's nothing stopping an app opening up a separate table for its photos and having the database just join the rows from several tables when the user wants to look at all their photos. And that does not require giving the app access to every table and row in the entire database.
I used to love the openness of Android and I would have never considered iOS. However, after this blatant destruction of what Android and any true open system should stand for, I did not have any reservations getting an iPhone to replace my Galaxy S4.
So long Google, you fucked up. Badly,
Google has servers for this. You're supposed to be letting them index/scan/use your info, not storing it privately on flash.
Duh, it's a network device, everyone has unlimited network access everywhere don't they?
So can we install apps to the SD card again? At one point, you could move apps to the SD card and run them from there instead of from internal storage. This was great if you had about 3GB of "applications storage" (the internal storage area was divided into system, applications, etc) and were running some large Android games. You could get a cheap 32GB or larger microSD card, put that in, and instantly have all the space you would need for the foreseeable future, Then, this feature was removed and apps were restricted to the "applications" area of internal storage again. It would be great if you could put apps on the SD card again.
(Yes, I know this might be possible if you root the device, but there's something to be said for building this feature right in instead of keeping it only for the people who know how to root their devices.)
My sci-fi novel, Ghost Thief, is now available from Amazon.com.
O_o
What security problems? You can't autoexecute stuff off an SD under Android. The only time there's a security concern (and it's going to be the SAME on the on-device eMMC...) is that you can execute code off of an SD that vendors didn't intend for you to run. That's how people side-load in the first place. They didn't change anything with this little change they made in KitKat and didn't break anything any worse than it was with this change back.
The reason that they quit including SD slots was because they want everything on Drive or similar and it lowered the BoM cost to peel those out. It's not security- quit deluding yourself and everyone else with this tripe.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas