Slashdot Mirror


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."

24 of 214 comments (clear)

  1. About effing time by Overzeetop · · Score: 4, Insightful

    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?
    1. Re:About effing time by pauljlucas · · Score: 4, Insightful

      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.

      This is one of the things I hated most when I had my previous phone: software updates can only be had via your carrier. The problem is that there's virtually no incentive for carriers to do this: they want you to buy a new phone (and lock yourself into another 2-year contract).*

      Even if you hate iPhones, you'll probably admit that it's much nicer to get software updates directly from Apple they day they make it available.

      If only all other manufacturers forced carriers to allow end-users to get software updates directly, the mobile world would be better. The mobile market place, however, is fairly crowded and no single manufacturer (other than Apple) probably has enough power to bend the carriers to their will (when the carrier can simply opt not to carry their phone).

      Of course it's not clear that other manufacturers want to be able to deliver software updates directly to end-users either. I suppose it would reinforce brand loyalty.

      * This is starting to change since some carriers are now doing away with phone subsidies and instead moving to phone financing.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    2. Re:About effing time by sunderland56 · · Score: 2

      If only all other manufacturers forced carriers to allow end-users to get software updates directly

      This is under the control of Google/Android, not your phone manufacturer. Google just refuses to organize things that way. It's encouraging that Google has (finally!!) fixed one major problem with Android; they could easily allow direct OS updates as well, if they wanted to.

      Android is just another OS, like Windows. Windows updates come from Microsoft; it doesn't matter whether you own a Dell or a HP or whatever, the update comes from Microsoft. (Device drivers may come from nVidia/ATI/etc, but core OS bits come from MS).

      Scary thought: does that make Microsoft actually smarter about OS design than Google?

    3. Re:About effing time by Karlt1 · · Score: 2

      Every app can access files on my network shares, OneDrive (aka SkyDrive), and my SD Card without the developer having to do any special coding.

      And you don't see a problem with this?

    4. Re:About effing time by sunderland56 · · Score: 2

      Many manufacturers heavily customize things quite a bit to differentiate their product.

      HP/Dell/etc. heavily customize their OS installs, yet the Microsoft update mechanism still works. The add-on software won't get updated, but the OS will.

    5. Re:About effing time by roc97007 · · Score: 2

      > 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.

      Verizon? nah. you'll have to buy a new phone.

      --
      Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  2. Still a second class citizen by Freedom+Bug · · Score: 4, Insightful

    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.

    1. Re:Still a second class citizen by Anonymous Coward · · Score: 2, Insightful

      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.

      Listen, they want you to put your whole life on the google servers. Don't you get it?

    2. Re:Still a second class citizen by Overzeetop · · Score: 2

      Apple taught everyone that it's much more profitable to included cheap, on-board memory at a premium price.

      That's a lesson that none of the manufacturers appear to have learned, seeing as there are no flagship Android devices that are even sold with more than 32GB of onboard storage. You'd think they'd be hawking their 64/128/256GB monsters for gobs of cash, but it just isn't happening.

      --
      Is it just my observation, or are there way too many stupid people in the world?
    3. Re:Still a second class citizen by mlts · · Score: 2

      The closest to this is the HTC One M8 that has a SD card slot that can handle 128 GB cards.

      What I'd like is a device with at least 256-512 GB of space, as well as the option to allow a chunk of it (be it a partition or a file) to be made into a volume (or perhaps volumes) that can present themselves as drives via USB. There are some apps that allow Android devices to do this, and they come in handy, as I can carry boot media on those, and be able to boot/recover a machine that doesn't have access to a PXE system. It can also function as a (rather slow) OS drive.

  3. At last. by ledow · · Score: 5, Insightful

    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.

    1. Re:At last. by timeOday · · Score: 2

      Sadly I think granular security controls have been rejected by the market. You spend a while downloading and installing an app and it almost always requests access to more or less everything, or it won't run. You can "fix" this by cutting yourself off from most of the most popular apps. But the fact that it's so commonplace among popular apps implies that companies want to spy more than people want privacy, so privacy-protecting options are unlikely to become available and well-supported anytime soon.

  4. Root should be a right, not a privilege by Overzeetop · · Score: 3, Informative

    That's why you should always root and use https://play.google.com/store/...

    --
    Is it just my observation, or are there way too many stupid people in the world?
  5. Re:Too little too late by Culture20 · · Score: 4, Insightful

    You're going from modern China to modern North Korea. I say this as an iPhone user. No external storage. No file manager. Nothing open.

  6. Re:Too little too late by Overzeetop · · Score: 5, Interesting

    So because Android is less open than it originally was, you switched to the most closed platform available for phones? That's like being so pissed they dropped the speed limit on the highway from 65 to 55 to swore you'd drive on 35MPH surface streets from now on.

    That's as bad as the guy who recently wrote that after 20 years as a loyal customer of CVS, having never once in those years used NFC payments until two weeks ago when ApplePay was turned on, is now boycotting CVS because they stopped taking NFC payments.

    --
    Is it just my observation, or are there way too many stupid people in the world?
  7. Too little too late by Anonymous Coward · · Score: 4, Funny

    I, too, love the openness of iOS. Their SD card support, file management tools, inter-application data sharing, and overall system accessibility to users and developers is top notch.

  8. Ha! by ArcadeMan · · Score: 5, Funny

    I would just like to point out that iOS users never had any problems with built-in SD card readers.

  9. Because cloud by swb · · Score: 4, Insightful

    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?

  10. Can We Install Apps To The SD Card? by Jason+Levine · · Score: 3, Insightful

    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.
    1. Re:Can We Install Apps To The SD Card? by GuB-42 · · Score: 2

      It was a PITA and very user unfriendly. I'm glad I don't have to mess with this like I did when I had a Nexus One (~256 MB total storage).
      Problems are :
      - SD cards are expected to be removable, and when you remove your card, apps are in a half-installed state : you can't use it and you can't uninstall it completely.
      - SD cards are usually FAT32 formatted. And FAT32 lacks important features like users and mode bits (permissions).
      - SD cards are often slower than internal memory
      As a result, moveToSd features were often incomplete, mistake-prone, or both.

      Also you can put a truckload of apps in 3GB. If you need more than that, you are a power user and probably have a phone with 16+GB of internal storage... or you know how to root.

  11. But beware cheap SD cards by phorm · · Score: 2

    I've often gone to eBay etc to pick up my electronic odd-and-ends. I'd have to say that for stuff like SD cards - though you do pay the price locally - it may be a safer bet to buy in a B&M than online.
    The amount of fake cards is staggering. I'm not just talking about a "no-name" brand that's labelled as Samsung, or a class 4 listed as a class 10, but cards that are labelled as 16, 32, 64GB etc, are IDENTIFIED BY THE OS as the labelled capacity, but actually contain only 2-4GB and have modified firmware causing them to report as larger. That means the card seems to work fine initially, but when you go over the 2GB/4GB mark it actually starts overwriting existing sectors/files resulting in rampant data corruption.

    If you want to test your card, you can use a utility like h2testw It will tell you if the card is having bad writes - which could indicate a faulty card - but also tells if it's doing stuff like writing back over existing files (which indicates a fraudulent "over-capacity" card).

    [h2test2 is windows software. Sorry but I'm not sure if there's a 'nix equivalent. One could probably make a script that DD's numbers across various sectors and then checks afterwards whether they overwrote previous sectors).

  12. Re:Fuck Security by Svartalf · · Score: 3, Insightful

    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
  13. Re:Too little too late by Overzeetop · · Score: 4, Insightful

    They don't see the need, and I'm not surprised. Why would you need 128GB of local storage if you're in the bay area? Wifi and cell coverage is everywhere, and the big corps still have unlimited cell data available for $20 a month (I'm on one of those plans...it's nice). Your company builds servers so that you don't have to worry about local storage on your handheld device.

    They completely forget about those of us that live in the 90% of the country without high speed cell data cell coverage (not by population, but by land area). They forget that we need local maps of huge areas. That we have weird and unusual demands that make it impractical to stream music or video in many places. Heck, 10 years ago an IT friend from Dallas sent me a photo of the storm he just finished chasing. I just about killed him for it - he sent me a 5MB bmp file, which was no big deal for him, but I was still on dialup and that damned thing took half an hour to download. He didn't think anyone was still on dialup, much less me - just 15 minutes away from one of the most wired university campuses and less than 300 miles from Washington DC.

    They fell into the "this is so awesome everybody is gonna love this shit" trap, and forgot that not everyone has the resources they have.

    --
    Is it just my observation, or are there way too many stupid people in the world?
  14. CyanogenMod does this already by jc79 · · Score: 3, Informative

    Much of what you describe is CyanogenMod's Privacy Guard feature.

    Privacy Guard is enabled for all apps by default. The first time an app requests a permission, the user is asked to allow/disallow that permission, and can choose whether to have that choice remembered or be asked every time. Disallowed permissions simply present the app with false data. Apps work fine, they just think you have no friends/live in the middle of the Atlantic/never connect to WiFi etc etc.