Slashdot Mirror


Cyanogenmod Puts Users in Control of Permissions

An anonymous reader writes "Cyanogenmod is soon to have a better permissions systems, allowing its users to deny certain permissions to the applications they install. Users are warned that enabling this feature on the nightly build may cause applications to crash or 'force close', but a new dialog allows them to easily return the permissions to stock if they wish. Hopefully Google implements a system similar to this very soon." This is the biggest feature I've missed from Symbian — it never made sense to me why the permissions system didn't put the user in control from the first release.

170 comments

  1. Re:So That's What Slashdot Is Today by paziek · · Score: 5, Informative

    Yea, it shows what is app asking for, but doesn't let you to choose what to actually give. Now its either all or nothing, but Cyanogenmod lets you to fine-tune permissions for app, so for example that notepad app won't be getting access to your contacts or internet anymore.

  2. Not gonna happen in stock Android by Anonymous Coward · · Score: 5, Insightful

    This feature will never come to stock Android. Google makes their money from Android by delivering ads, which is what pays for all those free apps. If I could download a free app and block it's ability to connect to the internet, I instantly block the ads. You can like it or hate it, but the fact is this ability would cripple the entire current Android ecosystem.

    1. Re:Not gonna happen in stock Android by SharpFang · · Score: 2, Insightful

      There is still option of Google separating "obtain targetted display ads" permission from "Full network control"+"Phone location". Making the "ads" permission unblockable.

      I really am not happy that an app which does require access to my local filesystem can simultaneously send its entire content to a remote server and let the author track my location - when all I consent for is to display ads relevant to my city.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    2. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 0

      True, but cyanogenmod mean's root anyway, there you could remove add's much easier, the program is even in the market...

    3. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 0

      That's what people were saying about an ad-blocked for Google Chrome...

    4. Re:Not gonna happen in stock Android by PReDiToR · · Score: 5, Informative

      You mean like installing Droidwall does?

      It's in the market and on XDA-Devs.

      If you root you can use AdFree too.

      --

      Do not meddle in the affairs of geeks for they are subtle and quick to anger
    5. Re:Not gonna happen in stock Android by poetmatt · · Score: 2, Insightful

      That's not crippling the android ecosystem, that's a benefit and adds value to the system as a whole. All these developers who act like they magically never existed before they made ad-supported apps can shove it and go back to the reality of : ads were never welcome, and developers can live without ad revenue.

    6. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 1

      Doesn't mean we have to like it. Thus, Cyanogenmod.

      Maybe people wouldn't mind as much if it was more secure and less insidious. I mean, I don't mind doing stuff like surveys and whatnot in exchange for services, I might even agree to let them collect *some* data. What I don't like is dropping $200 on a phone, not having admin access on it and this idea that all of these guys have a *right* to any and all of my information. Plus, they take advantage of users who simply don't know any better.

      To top it off, we're supposed to trust them that nothing is going to go wrong. This year has seen a lot of "nightmare scenarios" overcoming what should have been "reasonable" safeguards (Fukushima, Sony getting hacked, etc). Can you image how screwed the world is if Google or Apple ever get hacked? I'm sorry, but I'm not willing to trust them with that kind of stuff, least of all when they're taking it without my consent.

    7. Re:Not gonna happen in stock Android by gtbritishskull · · Score: 0

      Or the developer could write the app so that if it can't connect to the internet to get ads, then the app doesn't work (or only work for a limited amount of time, ect.). The ecosystem will adapt.

    8. Re:Not gonna happen in stock Android by hierophanta · · Score: 0

      i pray for the day that we stop using the term 'ecosystem'

    9. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 1

      DroidWall requires root so the people capable of running it aren't in the "normal user" category. So, not really a stock setup at all.

    10. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 0

      If you define a mutated slime mold in a waste dump as a "ecosystem" then yes. ;)

      Because that's what ad-supported information creation services are.

    11. Re:Not gonna happen in stock Android by turkeyfeathers · · Score: 1

      You just used it again.

    12. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 0

      Ad free is stealing from developers... If I met the people who wrote ad free, I'd probably beat them down with baseball bats.

    13. Re:Not gonna happen in stock Android by c.r.o.c.o · · Score: 1

      Ad free is stealing from developers... If I met the people who wrote ad free, I'd probably beat them down with baseball bats.

      Adfree actually does not work on my HTC Desire because it's not S-OFF. But I found a very nice workaround. I created a signed package with a custom hosts file (taken from Adfree sources) that I flash after every Cyanogen update.

      It creates an extra step when flashing, but the bonus is that it works every single time, and there's NOTHING any application can do to circumvent it because it's undetectable.

      You're welcome to pay me a visit now with your baseball bat.

    14. Re:Not gonna happen in stock Android by s73v3r · · Score: 1

      That will only happen if you accept that most of the currently free apps will then go to being paid apps. Ads were seen as a compromise between helping the developer generate revenue so they could eat, and having to pay for apps. Removing that ability means that we're gonna go back to horribly crippled free versions, and expensive paid for versions.

    15. Re:Not gonna happen in stock Android by mounthood · · Score: 1

      There is still option of Google separating "obtain targetted display ads" permission from "Full network control"+"Phone location". Making the "ads" permission unblockable.

      Or let people block the "Ads" permission, and the apps can react however's appropriate.

      --
      tomorrow who's gonna fuss
    16. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 0

      The paid versions don't really have to be expensive. Most non free apps on the iOS app store are a buck. I know that sounds like a lot of money but chances are you spend more than that on lunch every day.

    17. Re:Not gonna happen in stock Android by Eil · · Score: 2

      This feature will never come to stock Android. Google makes their money from Android by delivering ads, which is what pays for all those free apps. If I could download a free app and block it's ability to connect to the internet, I instantly block the ads. You can like it or hate it, but the fact is this ability would cripple the entire current Android ecosystem.

      I would almost believe your story, if it weren't for the fact that over the last 10 years or so I've been running a full-fledged desktop PC with thousands of free apps installed and yet not a single one of them is ad-supported.

      I'm not against developers charging for software, or offering software for free with ads, but I really can't take the "ads or nothing" mentality of this new wave of mobile developers who think that they deserve instant riches just because they've managed to hack together a tiny single-purpose application after reading a book on Objective C or Java.

    18. Re:Not gonna happen in stock Android by Anonymous Coward · · Score: 0

      And you can go back to not having the app that they wrote. If their app was useless to you, this doesn't matter, but otherwise, you're fucked.

    19. Re:Not gonna happen in stock Android by poetmatt · · Score: 1

      we still have horribly crippled free versions. have you looked at what apps are today? It's not just "we made the free version the same as the paid cept you have ads".

      When did you think that wouldn't happen? Do you think developers are actually altruistic or something?

    20. Re:Not gonna happen in stock Android by drb226 · · Score: 1

      But if the app depends on the 'net for it's functionality then the user won't block its internet access. Yay, DLC?

    21. Re:Not gonna happen in stock Android by mrchaotica · · Score: 1

      I'm an ecologist, you insensitive clod!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    22. Re:Not gonna happen in stock Android by muntis · · Score: 1

      Not to mention the fact that not all countries are supported for Google checkout merchant account. It's not like I want to become millionaire by selling wonder app, but it's only way I am able to get new hardware to test aps on. And becoming full time app developer one day would be nice too.

  3. Re:So That's What Slashdot Is Today by Mushdot · · Score: 2

    It would be nice if the control was a lot more fine grained within each access type e.g. Do you want to allow the app internet access to a specific URL (for example for high scores) and block any other internet access.

    It unnerves me a little to see most apps requesting access to your contacts, internet etc without a more detailed explanation why.

  4. Re:So That's What Slashdot Is Today by GIL_Dude · · Score: 1

    Most notepad apps sync to cloud servers. So they would still require "internet" access, which means the ads would not be gone. The biggest problem with being able to remove permissions is that people will use that to try to get rid of in app advertising. That in turn may cripple app functionality. Not a problem for technical users, but for normal users that is not a good experience. For developers, it means less revenue. For these reasons it is doubtful that Google would adopt this model of "you asked for x but I only gave you y".

  5. Seriously, that was the stupidest thing Google did by Dr.+Manhattan · · Score: 0
    There's no reason they couldn't have let the user set what permissions an app could have. Even if they granted all requested permissions by default, they could allow the user to restrict them after installation. If an app didn't like that, they could still choose to refuse to work.

    I'm sure the carriers had some input on that lapse.

    --
    PHEM - party like it's 1997-2003!
  6. Context: Android by Chris+Pimlott · · Score: 1

    I had no idea what this was about until I read the tags. Context please, editors! Thanks, taggers.

    1. Re:Context: Android by Azmodan · · Score: 2

      There is also a "little green robot" next to the news to indicate that this is an Android related story. Hovering it says "Android".

    2. Re:Context: Android by Anonymous Coward · · Score: 1

      More to the point, if he has an Android phone and never even *heard* of CyanogenMod (even if his phone isn't supported), he must have been living under a rock. If he doesn't own an Android phone AND never heard of CyanogenMod, then he's not the intended audience of this article anyway.

    3. Re:Context: Android by mdm-adph · · Score: 1

      Yes, but there was no icon to indicate that this was a "story." Without the tags, most users would probably have been cast adrift.

      --
      It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
    4. Re:Context: Android by Anonymous Coward · · Score: 0

      Hi, submitter here. I couldn't come up with a title that would fit in the tiny ass title box, so I decided to go with tags and an URL to Cyanogenmod instead, as well as having "Android" as part of the title. Unfortunately, that led to a pretty bad title that got edited away.

      If you care about Android at all, you should know about Cyanogenmod anyway.

    5. Re:Context: Android by Anonymous Coward · · Score: 0

      More to the point, if he has an Android phone and never even *heard* of CyanogenMod (even if his phone isn't supported), he must have been living under a rock.

      I've rooted my Android phone, but I had no idea what CyanogenMod was. After a Google search, it turns out, I had heard about it, but forgot the name, since it wasn't important to my life here "under a rock" (aka outside my mom's basement).

  7. Neat by Anonymous Coward · · Score: 0

    This is the only thing keeping me on Blackberry - which has Allow/Prompt/Deny for every permission you can think of (even going so far as asking you for each website apps try to connect with)

    If this keeps up, maybe I can finally drop the BB and get a smartphone designed for this decade.

  8. Facebook Apps by wisnoskij · · Score: 2

    They need this feature for Facebook Apps.

    --
    Troll is not a replacement for I disagree.
    1. Re:Facebook Apps by drb226 · · Score: 1

      No one tech-savvy enough to use such a feature even uses Facebook Apps anymore.

  9. Awesome! by Daetrin · · Score: 3, Interesting

    That would seriously tempt me to try out Cyanogen if Google doesn't implement something like it in the near future, even though i've already got an unlocked Nexus. There are a number of otherwise great apps that i haven't updated in months because they decided to add Facebook integration, so "of course" they need access to my account details now. Sorry, not gonna happen.

    --
    This Space Intentionally Left Blank
    1. Re:Awesome! by jittles · · Score: 2

      I switched to Cyanogenmod for Gingerbread and I haven't looked back since. I love it. I am thrilled about this feature and am now downloading the nightly as we speak! I am very excited.

    2. Re:Awesome! by Lunix+Nutcase · · Score: 2

      And when you block that the app is just going to crash. Have fun when most of those apps no longer work.

    3. Re:Awesome! by icebraining · · Score: 1

      most

      Citation needed.

      Sure, some will; for those the user has the option of running them with the default permissions or uninstalling. Whether they're "most" or just a small number remains to be seen.

    4. Re:Awesome! by h4rr4r · · Score: 1

      Depends on what you block. If you block network, how does the app know that you just don't have a network connection right now?

      I use my phone without data when I go to Canada. No way am I paying verizon $30 for 75MB.

    5. Re:Awesome! by monkeyhybrid · · Score: 1
      From the article:-

      "Rather than denying permissions outright, which would surely result in mass force closes, the new feature fakes some of them (phone state, id for starters) in a completely transparent manner."

      I'm not sure what services it can fake at the moment, but things like contacts could be done well. Just return an empty contacts list instead of the real one and the app should deal with that ok without a force close. I'm sure you could do similar with a lot of things.

    6. Re:Awesome! by Anonymous Coward · · Score: 0

      I rather have an app crash then access my personal data.

      The XBMC remote is a good example, it requires a shitload of permissions, like "READ_SMS" for example. Why would it need to read my SMS? Well, for an optional feature.
      See: http://code.google.com/p/android-xbmcremote/wiki/Permissions

      So no need to grand the permission if you don't require the feature. This seriously makes me think about installing Cyanogenmod. Any crashing apps could be solved by a "predend you have permissions but functions return fake data" option. Want my GPS location? Ok, I'm in the middle of the atlantic, want my phone nummer, ok it's 555-555555.

    7. Re:Awesome! by gtbritishskull · · Score: 1

      Blocking an app's ability to use Facebook integration would probably behave in one of two ways. Either it would act as if you are not signed into a Facebook account on your phone, or that you don't have the Facebook app installed. If either of these cause an app that didn't previously have Facebook integration to crash, then you are talking about some pretty shitty coders.

    8. Re:Awesome! by bemymonkey · · Score: 1

      I've just gone through my apps list and blocked all permissions that seem unneeded for app functions... started up every one afterwards to test and haven't had a force-close yet. :)

    9. Re:Awesome! by fuzzywig · · Score: 1

      Ditto, I like to fiddle with whatever device I'm using, and Cyanogen lets me change just about every setting avaliable. Also, it's the quickest and easiest way of running the latest versions of Android on my HTC Desire (no point in waiting for vodafone to get round to releasing timely updates).

  10. Re:So That's What Slashdot Is Today by cheeks5965 · · Score: 1

    How could an app developer program around this fine-grained control? Even if he could make sure tha the program failed gracefully when certain permissions were changed, key functions in his app could no longer work. How could that not result in an awful user experience? His app would get awful reviews ("sh!t doesn't work!") and he would lose sales.

    --
    -- Flame me and I will happily flame you back. Bring it!
  11. It never made sense? by Anonymous Coward · · Score: 0

    "This is the biggest feature I've missed from Symbian — it never made sense to me why the permissions system didn't put the user in control from the first release."

    Because it would go something like this: "To install your smilies, go into User Preferences and change the setting to 'read/write for all users', then run this unsigned program you downloaded from some sketchy corner of the Internet. Enjoy! [PS: your phone is now rooted and will automatically route all numbers through our $5/minute call center in Hackistan]"

    For knowledgeable users, full control over permissions makes sense. For novice users, maybe not.

    1. Re:It never made sense? by icebraining · · Score: 1

      This is a feature to give apps less permissions. By default they have all they ask for. How does that make the system less secure for novice users?

  12. Re:So That's What Slashdot Is Today by CharlyFoxtrot · · Score: 1

    Sounds like a good way to break apps. The tacit assumption here is that apps are asking for more permissions than they need. This seems pretty paranoid, why not just use the app as the author intended or else find some other app that conforms more to your expectations ?

    --
    If all else fails, immortality can always be assured by spectacular error.
  13. Symbian went too far by pmontra · · Score: 2

    Foreword: I've got an old Nokia N70 so things might have changed a lot in Symbian.

    A very annoying feature of its permission management system is that it is too fine grained and it doesn't remember user decisions across different executions of the same app. It asks me allow/deny every time I open a file or folder (imagine traversing a 4 folders hierarchy, the SD card counts as one) and that's bad enough. Forgetting my answers when I close the app is even worse. Sometimes I leave the phone on in airplane mode at night not to have to go through all those dialogs.

    Android seems to have taken the opposite road. Maybe this mod implements a better middle ground.

    1. Re:Symbian went too far by CharlyFoxtrot · · Score: 1

      Sometimes I leave the phone on in airplane mode at night not to have to go through all those dialogs.

      You are coming to a sad realization. [C]ancel or [A]llow ?

      --
      If all else fails, immortality can always be assured by spectacular error.
    2. Re:Symbian went too far by icebraining · · Score: 1

      The same happens with my oldish E65. Having to allow Opera Mini to access the 'net every time I run it is definitively annoying.

  14. Re:So That's What Slashdot Is Today by Dr_Barnowl · · Score: 1

    The reason it's this way around is because you can automatically audit which parts of the API the application calls, and thus which permissions it requires to perform all it's functions.

    What you can't audit is how the application will respond to having permissions denied - the application may well crash, because it will be receiving "permission denied" exceptions that it was not previously expecting to receive. Since the only way to check this is to have someone look through the code, it's not suitable for an app store with a high publish rate.

    A reasonable way around it would be to have feature plugins that installed separately - and demanded only the permissions they required. This would enable the user to control their risk profile while still allowing the core app to function.

    Problem is, the app developers don't want the extra work to do this and the app consumers don't want to have to think about it.

  15. Re:So That's What Slashdot Is Today by Riceballsan · · Score: 1

    All you need is a simple "warning this app may not function correctly if you deny these rights, if the app does not work you will need to either add these rights or remove the app"

  16. Re:So That's What Slashdot Is Today by 0racle · · Score: 1

    I went looking for a better battery display then I had on my CM7'd nook. Every one I looked at requested at least full network access and many had that and local storage access. There is a difference between paranoid and realizing that to do a job a battery widget does not need to talk to the outside world.

    Evidence points to Android developers acting like poor Windows developers, expecting and asking for full permissions always instead of doing the right thing and asking for the absolute least amount of privileges needed.

    --
    "I use a Mac because I'm just better than you are."
  17. Re:Seriously, that was the stupidest thing Google by CharlyFoxtrot · · Score: 5, Insightful

    Sounds like a headache for developers: "these are the permissions you can ask for, but it's not sure they'll actually be granted." Then you'd have to build in checks absolutely everywhere because you can't rely on anything. Sounds more like a compromise position than anything malicious to me.

    --
    If all else fails, immortality can always be assured by spectacular error.
  18. CM Stories by blackraven14250 · · Score: 0

    Enough stories about CM lately? I think we need more.

    1. Re:CM Stories by Anonymous Coward · · Score: 0

      I know, right? I'm a huge CM fan (6.1.1 on a G1 and 7.0.3 on a Nook Color), but even I was a bit taken aback by the way the title read. I couldn't help but think, "Jeez, talk about self-promotion! This is starting to read like Digg now." Rather odd. I'm not sure how I'm going to take a massive influx of users if this keeps up. Of course, the community seemed to absorb the NPR crowd just fine.

    2. Re:CM Stories by nitehawk214 · · Score: 1

      Enough stories about CM lately? I think we need more.

      Only if we can support CM with Bitcoins.

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
  19. Re:Seriously, that was the stupidest thing Google by maxume · · Score: 2

    Or just check at startup and refuse to work at all if the permissions that the developer deems necessary are not available. I imagine that would be a common method of dealing with it, with things eventually reaching the point where developers bothered to ask for minimal permissions and requested that Google create new permissions where users were reluctant to grant broad rights to an app (the latter would happen less, most users aren't going to bother fiddling so much).

    Google could avoid a lot of headaches by hiding it behind some preference like "Use Default App Permissions" or "Manage Advanced Permissions" or whatever.

    --
    Nerd rage is the funniest rage.
  20. Re:So That's What Slashdot Is Today by L4t3r4lu5 · · Score: 1

    I don't install apps which ask for permission to anything I don't see it requiring access to. I only install apps which require Internet Access as they are ad-supported, and that is a condition of using the app for free.

    There are many apps which I have "missed out" on using because of this policy, but I'll be honest here; I don't feel like I've missed anything at all.

    This fine-grained control is seriously making me consider voiding my warranty, though.

    --
    Finally had enough. Come see us over at https://soylentnews.org/
  21. Re:Seriously, that was the stupidest thing Google by Dr.+Manhattan · · Score: 1

    Set up an API that lets apps query what permissions they actually have. They can set up fallbacks (including "screw you, I'm taking my marbles and going home!") if they choose, right as they're initializing.

    --
    PHEM - party like it's 1997-2003!
  22. Re:Seriously, that was the stupidest thing Google by koolfy · · Score: 0, Troll

    Then you'd have to build in checks absolutely everywhere because you can't rely on anything.

    You mean.... like what every good programmer should do, to build stable and reliable code ?

    --
    Segmentation Fault in "Life, Universe and Everything" at line 42. Don't Panic.
  23. Re:Seriously, that was the stupidest thing Google by KlaymenDK · · Score: 1

    There are so many types of Android devices out there, developers have to factor in hardware variance anyway -- and the OS helps with that. There's no reason the same could not be done for permissions. In most cases, it wouldn't be anything a try/catch couldn't handle.

    Of course, this would not mean that end users would have a new Big Stick to wave around, developers could easily pick up one of their own -- developers are free to respond to a denied permission by saying "sorry, no ads for me, no game for you". This would be a nice way to balance things out so that nobody gets screwed unless they too screwed around.

  24. Sounds pretty airtight to me. by exploder · · Score: 1

    Because it would be impossible for a malicious app to access anything else through its own "high-score" URL, right?. Or maybe I'm misunderstanding what you have in mind with this?

    --
    Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
  25. Re:Seriously, that was the stupidest thing Google by Anonymous Coward · · Score: 0

    The stupidest thing Google could do is catering to the 1% nerd segment when designing app policies and user controls. Fine-grained & mutable permissions will never take off on a consumer-marketed device/OS.

  26. Re:So That's What Slashdot Is Today by Anonymous Coward · · Score: 0

    Because it is the norm rather than the exception for an app to demand a metric asston of permissions, so the developer can sell loc info, even what is on the user's contacts.

    Droidwall is good, but being able to keep an app out of the contacts or off the GPS is an important privacy tool.

  27. Re:So That's What Slashdot Is Today by c.r.o.c.o · · Score: 1

    How could an app developer program around this fine-grained control? Even if he could make sure tha the program failed gracefully when certain permissions were changed, key functions in his app could no longer work. How could that not result in an awful user experience? His app would get awful reviews ("sh!t doesn't work!") and he would lose sales.

    First, I run Cyanogen, but not one of the latest nightly builds. I may give it a try later today and report how well it works.

    Sometimes there is no way to avoid bad reviews. To give just one example, perfectly working widgets constantly get bad ratings and reviews from people saying "It doesn't work" or "It won't open" because they do not know widgets need to be added to the screen, not opened from the app drawer.

    But it doesn't change the fact that far too many apps on the Market request permissions far beyond the scope of their functionality. And as far as I can tell, it's exclusively to collect as much detailed data about the users so it can be resold to advertisers. Why would a battery widget need access to my location? Is the voltage reading dependent on whether I am in North America or in Asia? So if those developers use underhanded tactics to steal information from me, I will just block them.

    I already have a modified hosts file that blocks all advertising (sorry, but I really am paying a lot for 3G bandwidth). It's amazing how painfully slow some sites become when ads get loaded, and they speed up by a factor of 10 sometimes without ads.

  28. Re:So That's What Slashdot Is Today by tepples · · Score: 2

    How could an app developer program around this fine-grained control? Even if he could make sure tha the program failed gracefully when certain permissions were changed, key functions in his app could no longer work.

    // This is pseudocode.
    try {
    doSomethingRequiringPrivileges();
    } catch (SecurityException e) {
    alert(appName + " cannot retrieve updated listings because the privilege to connect to the Internet was declined at install time.");
    }

  29. Re:So That's What Slashdot Is Today by segin · · Score: 1

    Sounds like you didn't put a lot of thought into your take of the situation, and are trying to push a biased, uninformed opinion. Let me inform.

    First of all, a fine-grained permission system like this is nothing new. BlackBerry OS has such a system, where permissions can be granted and revoked on-the-fly, and at any time. It's also worth noting that this is a feature currently unique to CyanogenMod, and not on most people's Android devices. This will thus have no effect for most Android users.

    Secondly, it's not like average Joe Moron is going to be using this fine-grained permission control system. Most average users will never worry about fine-grained permission controls, nor will they ever worry about the security implications of the far-reaching permissions that apps ask for as it is, and on the rare occasion that they stumble into an unrecognizable screen or menu, average Joe Moron will have his usual reaction of shutting down his reasoning and logic skills, followed by mashing everything in sight on the phone until something recognizable appears. If anything broke during the course, the user would simply assume he broke it himself.

    Thirdly, if an app has code to gracefully failed when permissions were no longer available, then the app would also be able to display an alert or dialog to the user indicating that the permissions required are absent and the ramifications to the user (such as what features are now disabled, or any new limitations arising from lack of permissions, etc.). They won't just "break" and have droves of average users turning in bad reviews and making apps not sell. Y'know, the average users that rooted their phones, installed CyanogenMod, and then started setting fine-grained permissions on their apps. Yeah, those average users.

  30. Re:So That's What Slashdot Is Today by MadKeithV · · Score: 1

    You know, that sounds like the argument Microsoft developers were making for years and years, until with Windows Vista Microsoft finally admitted that "run all apps as admin" was a lousy idea and implemented UAC (and there was much wailing and gnashing of teeth).
    App Developers should write their apps to use the smallest possible amount of permissions to provide the user experience needed, instead of performing a permissions "land grab" just in case. The default should be "you don't have access to anything", and getting more access should require asking really really nicely.
    If the app crashes / shuts down / otherwise fails miserably because it's trying, for example, to write temporary files to a system folder, or anything else that should NOT be expected of a well-behaved app, the app developer deserves every single last awful review they get. Getting to the point where developers actually think about that stuff requires transitioning through a period of pain - just like the Windows Vista failure which actually turned into a success by changing a few colours and calling it "Windows 7" (slight exaggeration possible ;-) ).

  31. Re:Seriously, that was the stupidest thing Google by Anonymous Coward · · Score: 0

    Or just check at startup and refuse to work at all if the permissions that the developer deems necessary are not available.

    Kind of like when you install an app, and the system prompts you to allow or deny its installation after viewing a listing of permissions it requires?

  32. The needle moves from F to E, but what is E? by tepples · · Score: 1

    because they do not know widgets need to be added to the screen, not opened from the app drawer.

    There are ways to work around such cases of ID-ten-tango. In this case, create a main screen that shows the widget and a button to show an explanation of how to add it to the home screen. That way, people who want to use it as a full-screen app can, and people who want to use it as a widget can learn how to do so.

    And as far as I can tell, it's exclusively to collect as much detailed data about the users so it can be resold to advertisers.

    Would you rather all applications be paid and therefore inaccessible to 1. people using devices without Android Market (such as AOSP Android tablets) and 2. people outside those few countries where Android Market offers paid applications?

    Why would a battery widget need access to my location? Is the voltage reading dependent on whether I am in North America or in Asia?

    I don't know about Asia, but gasoline gauges are calibrated differently in cars for the United States market compared to cars for the German market due to different expectations among drivers. A car sold in the United States that has started to show empty still has enough gas to get to a gas station, while on a car sold in Germany, empty means zero, and the engine will stop. Likewise, standards for how to visualize battery charge may differ per region.

    I really am paying a lot for 3G bandwidth

    Then keep 3G data turned off when you're not using applications that require it.

    So if those developers use underhanded tactics to steal information from me, I will just block them.

    And if the application hasn't been able to phone home in the past week or so, the developer will block you back by closing its activity and opening the Market page for the paid version of the same application.

    1. Re:The needle moves from F to E, but what is E? by h4rr4r · · Score: 1

      Would you rather all applications be paid and therefore inaccessible to 1. people using devices without Android Market (such as AOSP Android tablets) and 2. people outside those few countries where Android Market offers paid applications?

      Holy non-sequitur Batman! Lots of free stuff does not rely on tracking you for adds. Some of it does not even have adds. Busybox does not seem to do that, nor does the linux kernel.

      I don't know about Asia, but gasoline gauges are calibrated differently in cars for the United States market compared to cars for the German market due to different expectations among drivers. A car sold in the United States that has started to show empty still has enough gas to get to a gas station, while on a car sold in Germany, empty means zero, and the engine will stop. Likewise, standards for how to visualize battery charge may differ per region.

      You can either check language, or stop fucking coddling stupid people. Empty should fucking mean empty.

    2. Re:The needle moves from F to E, but what is E? by c.r.o.c.o · · Score: 1

      Would you rather all applications be paid and therefore inaccessible to 1. people using devices without Android Market (such as AOSP Android tablets) and 2. people outside those few countries where Android Market offers paid applications?

      That's not what I mean and you know it. There are plenty of apps on the Market that are supported by ads alone. So they usually have very simple permission requirements. As a fictitious example, a notepad may need to write on the SD card to save files and a network connection to pull ads. It should NOT need to read my GPS or network location, my contact list, my phone ID or IMEI. This is simply the developer getting greedy with MY information.

      So I have two options in those cases. Either not use the app or block its offending features. If it's a nice, useful app that I may want or need, I will opt for the latter option.

      I don't know about Asia, but gasoline gauges are calibrated differently in cars for the United States market compared to cars for the German market due to different expectations among drivers. A car sold in the United States that has started to show empty still has enough gas to get to a gas station, while on a car sold in Germany, empty means zero, and the engine will stop. Likewise, standards for how to visualize battery charge may differ per region.

      You wouldn't happen to be a developer of apps with such underhanded permissions, would you? 1 volt is the same all over the world, and I'm pretty sure on other planets and galaxies as well. Or the Americans use the Imperial Volt while the Chinese use the Mao Volt? Saying that "standards for how to visualize battery charge may differ per region" to justify your point is using the straw man argument.

      And if the application hasn't been able to phone home in the past week or so, the developer will block you back by closing its activity and opening the Market page for the paid version of the same application.

      That is completely the prerogative of the developer, and I would not blame them one bit.

  33. Re:Seriously, that was the stupidest thing Google by Xugumad · · Score: 1

    There's a point where it becomes absurd. I don't riddle my code with:

    assert 2 + 2 = 4;

    because it would be silly to check that the processor is still adding correctly, it's a fundamental assumption. In the same way, I don't think it's unfair to expect that if my app indicates it needs location access, that it can get it. I'm happy that I _need_ to check if location is enabled currently, and handle that the location service may be Wifi or GPS or something else based, but checking things the API told me were true seems a bit of a waste of my time...

  34. Re:So That's What Slashdot Is Today by tepples · · Score: 1

    why not just use the app as the author intended or else find some other app that conforms more to your expectations ?

    In a lot of cases, the developer of the application has a monopoly on a particular interaction, through either an existing business relationship, a copyright, a patent, or a trademark. For example, are users expected to change banks if a given bank's online banking application for Android has such problems? Are users expected to become fans of a different sport if a given sport league's application for Android has problems?

  35. Different Trust Model by Anonymous Coward · · Score: 1

    This is the biggest feature I've missed from Symbian

    Different trust model, Symbian just assumes the user is an idiot and the trust is given by the signing certificate of the application. Not saying it's a good model it's just that it's emerged from a different environment from what we're seeing today.

  36. Re:Seriously, that was the stupidest thing Google by h4rr4r · · Score: 1

    You should be checking basically everything, ever hear of try and catch?

    What would you do if the device just did not have a network connection? Or if it was a new phone and had an empty address book, or no emails yet?

  37. Re:Seriously, that was the stupidest thing Google by koolfy · · Score: 1

    2+2 = 4 is an "internal" operation. It should obviously not fail.

    "I need the GPS to give me a location" is a call to an external component (much like accessing internet, opening a file, user input), and failing in this external component, or lack of response should be handled.

    Never trust external input.

    --
    Segmentation Fault in "Life, Universe and Everything" at line 42. Don't Panic.
  38. Re:Seriously, that was the stupidest thing Google by h4rr4r · · Score: 1

    So what does your app do when the phone is indoors and does not have wifi access?

    At work, unless I turn the wifi on I have no valid location data. I still expect mapping software to let me move the map around myself.

  39. Re:Seriously, that was the stupidest thing Google by Timmmm · · Score: 1

    A much better approach is MockDroid, which just fakes the results of operations for which you have been denied permission.

    It works with existing apps and doesn't crash them.

  40. Re:So That's What Slashdot Is Today by tepples · · Score: 1

    App Developers should write their apps to use the smallest possible amount of permissions to provide the user experience needed

    However, a user experience that does not include the end user paying real money to the developer often must include display of messages from sponsors. This in turn involves phoning home to see which companies have sponsored use of the application by users in your geographic area. Therefore, coarse location and Internet access are a given in a lot of free applications.

  41. Re:Seriously, that was the stupidest thing Google by Anonymous Coward · · Score: 1

    Your request was in Android since the beginning. Apps CAN request more permissions (and crash if failure is unhandled). Manifest-listed permissions merely grant the app additional privileges at execution time.

    GP was stating that programmers would never handle all the possible permutations of missing permissions, and he's right IMO. Look no further than Windows where 99.9% of applications completely ignore all error codes for WinAPI calls.

    Choose between the two: (a) fine-grained permissions model (Android), (b) user configurable permissions (iOS). A combination of the two will never exist because it's too complex for users and app 'programmers' alike.

  42. Re:So That's What Slashdot Is Today by h4rr4r · · Score: 1

    So then your app never works when you have no internet access? Because the app is not going to know if it was bocked or there just is no access available. You are not going to get a security exception, just no internet access.

  43. CM nightly builds... by Anonymous Coward · · Score: 0

    First, I run Cyanogen, but not one of the latest nightly builds. I may give it a try later today and report how well it works.

    Be aware that the latest nightlies for certain brands and models of handsets might be buggy as hell.

    For instance I have an HTC Desire BravoC and the latest nightly build of CM7+ I can run without serious problems is number 72 (May 14th), even though they're up to #85 today.

    For this particular handset, #72 is truly golden :-D My battery life has easily doubled with this build.

    1. Re:CM nightly builds... by c.r.o.c.o · · Score: 1

      Be aware that the latest nightlies for certain brands and models of handsets might be buggy as hell.

      For instance I have an HTC Desire BravoC and the latest nightly build of CM7+ I can run without serious problems is number 72 (May 14th), even though they're up to #85 today.

      For this particular handset, #72 is truly golden :-D My battery life has easily doubled with this build.

      I have the same phone as you, and you're right that the latest builds have been buggy. I just flashed build 88 to test out the new feature though. I have full nitdroid backups for the past month, so I can always revert if stuff goes truly wrong.

  44. Those aren't Android apps by tepples · · Score: 1

    Holy non-sequitur Batman! Lots of free stuff does not rely on tracking you for adds. Some of it does not even have adds. Busybox does not seem to do that, nor does the linux kernel.

    But is either BusyBox or Linux primarily designed to be used as an application within the Android operating environment? There are a lot of applications that are either paid or ad-supported on all platforms where they exist. Many of these include single-player games with original scenarios, a class of application for which I haven't yet seen an effective business model that doesn't involve ads or payment. Angry Birds for Android, for example, has both paid and ad-supported versions on Amazon Appstore.

    You can either check language

    This works only to the extent that the expectations remain the same across all markets that speak a given language. It can't tell the difference between, say, expectations in Canada and expectations in Great Britain or Australia.

    1. Re:Those aren't Android apps by h4rr4r · · Score: 1

      I do use busybox on android, is that enough for you?
      Angry birds indeed does operate that way. It could also just be like angry birds RIO which the whole game is an add. Lots of options.

      Looking at languages on my phone now, English(Canada), English(India), English(New Zealand), English(South Africa), English(United Kingdom), English(United States) all exist. I would assume we can safely say Australia and New Zealand are the same damn thing. Languages spoken in different countries even though they claim to be the same are not and the phone language settings recognizes that. Either way you app needs to be able to handle the user being inside without wifi access, or him having a GPS location off shore or at Antarctica.

    2. Re:Those aren't Android apps by Anonymous Coward · · Score: 0

      Why does being primarily designed to be used in Android mean it needs to be paid or ad-supported? I can get shitloads of free software (free, not ad-supported) on Windows, Mac or Linux, but these same kinds of applications are begging for money when people write them for phones.

    3. Re:Those aren't Android apps by tepples · · Score: 1

      I do use busybox on android, is that enough for you?

      That's the kind of app that's already popular on another platform and which has very few user interface controls to rewrite for another platform. So most of the development work is a mere recompile of the application's logic along with spot-checking to make sure all functionality works as the existing manual states. Now try porting BusyBox to Windows Phone 7, which even uses a different programming language (C#) that fits its managed execution model. Or try porting BusyBox to Android without using the NDK.

      Angry birds indeed does operate that way.

      The version that isn't ad-supported is paid, and payment isn't available in a lot of countries.

      Either way you app needs to be able to handle the user being inside without wifi access, or him having a GPS location off shore or at Antarctica.

      As I suggested in another post, cache ads until the user gets back to home Wi-Fi and syncs the app.

    4. Re:Those aren't Android apps by h4rr4r · · Score: 1

      RIO is ad-free and free. Because it is one big ad, for that movie. That seems a like one way to pay for it. Honestly I just don't care how they pay for it, not my problem. If it reduces my choices, I will just stick to SCUMMVM games.

  45. Re:So That's What Slashdot Is Today by Anonymous Coward · · Score: 0

    Because it's practically EVERY program that asks for these permissions. So your second option (find another) is quite impractical. The first option (deal with it) doesn't sit very well with people who use these devices for accessing personal information like emails, site accounts, SMS, etc.

  46. Re:Seriously, that was the stupidest thing Google by h4rr4r · · Score: 4, Informative

    That is what this does. You ask for contacts, you get an empty contacts. You try to use network and sadly there is just is no network connection at all now.

  47. Display cached ads for a week by tepples · · Score: 1

    So then your app never works when you have no internet access?

    Do you mean on a device that has never had Internet access even once? You need Internet access to download from Android Market or Amazon Appstore in the first place. Or do you mean on a device that has only intermittent Internet access? Some of these ad-supported programs have as their express purpose to interact with a service on the Internet. How well does, say, the official eBay app or the official Twitter app work without Internet access? Others, such as an e-mail client, can work offline, but the data in them becomes out of date after a week or so. Such apps would display cached ads for a week and then ask to be synchronized before running again.

    1. Re:Display cached ads for a week by h4rr4r · · Score: 1

      Fine so then you cache adds great, but that is not what most people want to block. What they really want is to give the advertisers a fake phone number, a fake location, a contacts list that only includes Ben Dover and Harry Baals, and a sampling of SMS messages that include nothing but rude phrases about advertisers.

      Ads are not the problem, the issue is the amount of information the advertisers want before they serve them.

  48. Re:Seriously, that was the stupidest thing Google by Xugumad · · Score: 1

    We're using it to determine distance to a range of locations, so nearest can be presented to the user. The options are presented without distance information, and if no distance is available that simply doesn't change.

  49. Re:Seriously, that was the stupidest thing Google by brainzach · · Score: 1

    Restricting permissions will block ads and break programs. It will take away a source of income from Google and its developers and make the Android OS more buggy.

    In properly designed apps, the permissions are there for good reason. Taking away a permission will most likely cause the program to lose functionality, cause force closes or eat up battery life.

    There could be some cases where you could block a permission setting and get away with it, but 90% of the population won't be able to figure it out correctly and will instead complain about why their phone is so buggy. In these cases, a good app would have an option in the settings menu to limit things like network access.

  50. Re:Seriously, that was the stupidest thing Google by Xugumad · · Score: 1

    Ah... I should explain a little further. When my app asks for location data, it hands over a listener for that data. If the GPS is unavailable, that listener is never called.

    If my app asks for location data and does not have permission, then an exception is thrown as if my application is requesting access to something its manifest does not describe it as needing. That's a fairly major difference...

  51. Re:So That's What Slashdot Is Today by CharlyFoxtrot · · Score: 1

    You could argue that if there's a problem of trust between you and an organization you shouldn't be running any code from them at all. And these kind of controls might actually stimulate such an organization to ask for the broadest possible permissions figuring power users will tune them down themselves and they can still profit from the ignorant and the lazy.

    --
    If all else fails, immortality can always be assured by spectacular error.
  52. Re:Seriously, that was the stupidest thing Google by Captain+Spam · · Score: 1

    So what does your app do when the phone is indoors and does not have wifi access?

    At work, unless I turn the wifi on I have no valid location data. I still expect mapping software to let me move the map around myself.

    If your app is indoors and has no wifi access, LocationManager won't give you any updates. Plain and simple. But LocationManager is still accessible, you can still make calls to it, you can still get the previous known location (for whatever good it is), and you can still register for updates for when you DO get a signal back. It may be never, but LocationManager is still accessible.

    If the permission hasn't even been granted, you get fatal exceptions thrown back at you because, as it says in the Android API, it's expected that A) the developer request permissions in the manifest (which are presented to the user at install time) before using calls that demand them, B) the user accepted these permissions when installing the app, and C) the system won't arbitrarily pull permissions out from under the developer at runtime.

    C is the important one. I'd say that if the system suddenly decided that an installed app didn't have the permissions it claimed it needed BUT was somehow still installed (instead of, say, just uninstalling the problematic app you apparently don't trust), it has a perfect right to crash horribly, as that breaks the contract of the API. If you stated that your app required permission before installation AND the app was installed, you have that permission. End of story. It prevents absolutely absurd cases like the GP's example of being forced to assert on absolutely everything (yes, even if they're seemingly rudimentary functions and not explicitly specially-named method calls, basic math IS a part of an API, unless you plan on doing raw ASM/machine code/fabricating the processor yourself). A LOT of Android calls require permissions. Having to assert those on every single call or exception-check every Activity/Service lifecycle method is simply ridiculous, needlessly increases code overhead, radically increases execution time, breaks every single app out there, and is purely not needed in a modern development environment.

    --
    Demanding constant attention will only lead to attention.
  53. Re:Seriously, that was the stupidest thing Google by h4rr4r · · Score: 1

    In this case that is not what happens. It instead gives you a fake GPS location. At least that is the end goal. Your app can't tell if this location is real or not.

  54. Re:Seriously, that was the stupidest thing Google by h4rr4r · · Score: 1

    In this case you get the appearance of the former case not the latter. It may well just give you a predefined fake location. Removing permissions surely would cause that issue, but the article indicates it fakes at least some of this data.

  55. Re:Seriously, that was the stupidest thing Google by Threni · · Score: 1

    All Google can do is let you set your desired permission, and then not let you install/run apps which required the blocked permissions. This mod may have its uses but it absolutely will cause problems for certain combinations of user/phone/app.

  56. Re:Seriously, that was the stupidest thing Google by Anonymous Coward · · Score: 0

    2+2 = 4 is an "internal" operation. It should obviously not fail.

    Would you mind drawing the line between "internal" and "external"? I'm confused. In what way is using a math processor different from using a GPS radio, both of which look equally internal to my Nexus One to me? I mean, I don't see a wire coming out of my phone to a GPS chip; it's assumed that's built in to the phone. Same with the cell/wifi radios. Was "2.2 * 2.2 = 4.84" an exotic "external" operation back in the days of explicit floating-point co-processors? And what if I used ASM calls to do math as opposed to letting the compiler or runtime potentially rearrange what I was doing? Would that be more internaler? Is there a limit to what sorts of math functions are "internal"? Is sqrt() "external", despite it being a pretty basic standard lib call?

    Seriously, there's a point at which you have to assume parts of the supplied API are to be considered "internal". It's a waste of time otherwise.

  57. Re:Seriously, that was the stupidest thing Google by Xugumad · · Score: 1

    I once accidentally mangled the GPS location in my app and relocated to a couple of kilometers off the cost of Somalia...

  58. Re:Seriously, that was the stupidest thing Google by ChrisMP1 · · Score: 1

    Would you mind drawing the line between "internal" and "external"?

    Sure. Does it result in a system call?

    --
    <sig>&nbsp;</sig>
  59. Local service businesses by tepples · · Score: 1

    a fake phone number

    The problem here is that the "phone state and identity" privilege is too broad. I've read that an application that plays audio needs to know that a call is coming in in order to know when to pause playback. And for those applications without a name and password, what unique user identifier do you recommend other than the device's serial number, which the same privilege appears to cover?

    a contacts list that only includes Ben Dover and Harry Baals

    At least Harry Baals would be correct for my region.

    Ads are not the problem, the issue is the amount of information the advertisers want before they serve them.

    Say a barber operates in Fort Wayne, Indiana. Haircuts can't be given over mail, phone, or Internet, so the barber only wants to show his message to possible customers in the Fort Wayne area. That's why sponsors want coarse location. And an advertiser wants to know how many unique viewers saw the message and how many impressions per viewer, hence "phone state and identity".

    1. Re:Local service businesses by h4rr4r · · Score: 1

      Sure it is pretty broad, so give them only some fake information.

      The barber might sadly find himself advertising to people no where near him, that is what you get for trusting user input. If you have Internet access try using that for geolocation.

    2. Re:Local service businesses by Anonymous Coward · · Score: 0

      And for those applications without a name and password, what unique user identifier do you recommend other than the device's serial number, which the same privilege appears to cover?

      I suggest they have the user make a user identifier if they want to save state somewhere online. Or they give them a random ID and store that on the phone.

    3. Re:Local service businesses by green1 · · Score: 1

      And for those applications without a name and password, what unique user identifier do you recommend other than the device's serial number

      Why on earth would I want advertisers or app makers to have ANY unique identifier on me other than one I make up and give to them for reasons of high scores or online features? Any possible legitimate use of a unique identifier would fail if you used the device serial number because it would prevent you from changing devices. The only remaining reasons for a unique identifier are underhanded tricks used to get far more information about me than I want you to have, or than you have any reason to have.

      Say a barber operates in Fort Wayne, Indiana. Haircuts can't be given over mail, phone, or Internet, so the barber only wants to show his message to possible customers in the Fort Wayne area. That's why sponsors want coarse location. And an advertiser wants to know how many unique viewers saw the message and how many impressions per viewer, hence "phone state and identity".

      So explain why so many applications ask for fine (GPS) location to display ads? But beyond that, it's a 2 way street, just because they want to know where I am, doesn't mean I want to tell them. Advertisers WANT the world, that doesn't mean we're willing to give it to them. even "coarse" location is usually accurate enough to find my location within about 2 houses. I can't think of a single person or organization on the entire planet that I want to give full and free access to that information without my explicit choosing.

    4. Re:Local service businesses by tepples · · Score: 1

      Why on earth would I want advertisers or app makers to have ANY unique identifier on me other than one I make up and give to them for reasons of high scores or online features?

      Because entering a password every time you want to play is more tedious on a cell phone keyboard than on a laptop keyboard. I don't know; I haven't programmed an Android application yet.

      So explain why so many applications ask for fine (GPS) location to display ads?

      My Android device is an Archos 43, which doesn't have a cellular radio or a GPS, so I wouldn't know.

      Advertisers WANT the world, that doesn't mean we're willing to give it to them.

      You can refrain from giving it to them. You can refrain from using ad-supported applications. You can refrain from using applications at all in countries that don't support payment.

      I can't think of a single person or organization on the entire planet that I want to give full and free access to that information without my explicit choosing.

      You explicitly choose to choose ad-supported software instead of paid software.

    5. Re:Local service businesses by green1 · · Score: 1

      Why on earth would I want advertisers or app makers to have ANY unique identifier on me other than one I make up and give to them for reasons of high scores or online features?

      Because entering a password every time you want to play is more tedious on a cell phone keyboard than on a laptop keyboard.

      Then remember it the first time I type it.
      If you use the device id, then I can't get a new phone and still log in to the account. wrong solution.
      There is NO legitimate reason to use the unique device ID. If I want you to identify me, I'll give you a way to do so, if I don't then tough luck.

      Advertisers WANT the world, that doesn't mean we're willing to give it to them.

      You can refrain from giving it to them. You can refrain from using ad-supported applications. You can refrain from using applications at all in countries that don't support payment.

      Or, I can realize that I own the device, and they don't. and I can then go and do whatever I want with the device that I bought and paid for and using the software that I have legally obtained. If that includes something they didn't plan for, or don't like, that's not my problem. As soon as they gave me the phone or application it ceased to be in their control and they no longer have any say whatsoever in what I do with it.

      I can't think of a single person or organization on the entire planet that I want to give full and free access to that information without my explicit choosing.

      You explicitly choose to choose ad-supported software instead of paid software.

      No, I chose free over paid, the programmer chose ad supported. I also chose to have full control over my device and the software that runs on it. I never sign that control over to anyone. I never agreed to anything that stated I couldn't block their ads, I never agreed to anything that said I would give them my personal information. I never even agreed to use their software in exactly the manner they envisioned. If they don't like it, they should try a different line of work.

      If I buy a sandwich from a cafeteria, I don't have to promise to eat it, I can eat it, throw it out, give it to someone else, or open it up and take the onions off. I can legally do this with any product I own. Just because YOUR business model doesn't like it doesn't make it MY problem.

      I own my device, I control what it does, and how it does it. NO exceptions.

  60. Oops by PReDiToR · · Score: 1

    Yeah, my bad.

    Droidwall requires root too.

    In case people are filtering ACs.

    --

    Do not meddle in the affairs of geeks for they are subtle and quick to anger
  61. Re:So That's What Slashdot Is Today by Anonymous Coward · · Score: 1

    No. A user experience that does NOT require either paying money or watching ads. PCs are full of genuinely free applications. There's no reason that phones can't have the same.

  62. Re:So That's What Slashdot Is Today by cheeks5965 · · Score: 1

    Sounds like you didn't put a lot of thought into your take of the situation, and are trying to push a biased, uninformed opinion.

    I'm not trying to flame here or push a biased, uninformed opinion... this is what I really think, and please respond if you disagree. That said... [puts on flak jacket]

    The permissions paradigm on stock android sucks. It's too coarse grained and does not give the user any information to make an informed decision. There may be an app that legitimately requires your location, say a mapping app. But it may also be using your location for nefarious purposes. No way to know!

    The cyanogen mod proposal is better in that it gives an advanced user more control, but it still doesn't give any information on why an app needs a permission, so aside from obvious cases (why does a wallpaper app need to know my location) you can't make an informed decision. See the map example above. So while CM proposal is better, it doesn't solve the underlying problem.

    [zips up flak jacket] Isn't a better approach for somebody who can examine the innards of an app to vet the app and make sure it doesn't do anything nefarious? It is not perfect, but they are making an informed decision that the user cannot make. Further, the app would have more restrictions on the system resources it can access, and the user can still turn off location access. This would require all apps to go through a single gatekeeper for vetting, and would not allow sideloading.

    This sounds like a much better security model to me, for "casual" users and experienced users alike. Thoughts? [puts on helmet]

    --
    -- Flame me and I will happily flame you back. Bring it!
  63. Re:Seriously, that was the stupidest thing Google by Dr.+Manhattan · · Score: 1

    If the permission hasn't even been granted, you get fatal exceptions thrown back at you because, as it says in the Android API, it's expected that A) the developer request permissions in the manifest (which are presented to the user at install time) before using calls that demand them, B) the user accepted these permissions when installing the app, and C) the system won't arbitrarily pull permissions out from under the developer at runtime.

    Of course... what I was explicitly suggesting was not making promise C in the first place.

    Were I traveling back in time and influencing Android's design, I would have had the manifest request permissions. Then, at startup, the app could check what permissions it actually has. This allows graceful fallback - perhaps the user doesn't have (or want) a Facebook account, so the app doesn't need to be able to get accounts or contact info. Other parts of the app can still function just fine.

    On the the other hand, if the user denies a permission the developer deems crucial, the app can detect this and put up a note - "Bad user! No game for you until you let pull ads from the net!"

    --
    PHEM - party like it's 1997-2003!
  64. Dancing Bunny / Dancing Pigs Problem by tlhIngan · · Score: 2

    Sure this is a great addition... for power users who are infallible.

    But for Joe Average and power users who fall prey to it (who doesn't?), it doesn't address the primary issue - called the Dancing Bunnies or Dancing Pigs problem. And it's a problem with every OS today - Linux, Windows MacOS X, Android, iOS, and others.

    A user will run through many hoops to get what they want. They'll root, jailbreak, install alternative app stores, etc just to save 99 cents for an app. Even if they have to do seemingly complex tasks like install an SSH server, run SSH, type command line commands, etc. It can be amazing how much technical skill the untalented suddenly have.

    And the problem is, these are the people that get pwned. Jailbroken iPhones with default SSH passwords. Android phones with botnets installed (courtesy alternate marketplaces), Windows/OS X trojans running botnets, etc. Heck, even Bender skipped his antivirus check for pr0n.

    And it's a really difficult problem to solve. Even if these options were global and set reasonably, you can anticipate some app telling you it works better if you do these things to let it get the permissions it wants.

    Hell, see the latest Facebook spamming trends, where people are doing things like copying-and-pasting URLs or godawful long javascript blobs. We're at the point where really, the Honor System virus does exist.

    1. Re:Dancing Bunny / Dancing Pigs Problem by bemymonkey · · Score: 2

      Waaaat?

      I think you've misunderstood - this feature does not allow you to enable permissions that were previously unavailable for apps - it only allows you to DISABLE permissions that you feel are unneeded by the app. There is no possibility for the user to self-pwn himself, only to protect himself...

  65. Re:Seriously, that was the stupidest thing Google by Dr.+Manhattan · · Score: 1

    GP was stating that programmers would never handle all the possible permutations of missing permissions, and he's right IMO. Look no further than Windows where 99.9% of applications completely ignore all error codes for WinAPI calls.

    So... developers are bad coders, and therefore we should give them free reign over our privacy?

    --
    PHEM - party like it's 1997-2003!
  66. Re:So That's What Slashdot Is Today by Sloppy · · Score: 1

    why not use the app as the author intended or else find some other app that conforms more to your expectations ?

    Those are two options, and sometimes, selecting one of them is the best thing to do. And other times, a third option (using the app as the author didn't intend) is the best thing to do.

    A good computer will recognize that sometimes the owner's interests conflict with

    1. other parties' interests
    2. random fate

    and will always take the owner's side in this conflict.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  67. Re:So That's What Slashdot Is Today by datapharmer · · Score: 1

    check for update. If update check returns a value, check internet: if no internet give privileges message. Otherwise sleep.

    --
    Get a web developer
  68. Sources of overhead in phone app development by tepples · · Score: 1

    I can get shitloads of free software (free, not ad-supported) on Windows, Mac or Linux, but these same kinds of applications are begging for money when people write them for phones.

    With a PC, all required hardware and software are likely paid for. But with a phone, all these cost extra money:

    • Buy a device on which to test. Relying on emulators for performance measurement is poor practice: in many cases, the emulator is fast where the device is slow and vice versa.
    • Pay the carrier's early termination fee because you don't want another phone line and no stores in your area carry unlocked phones.
    • Buy the tools to port the application to a device: an annual certificate on iOS or Windows Phone 7, an entire operating system because Windows Phone 7 tools work only with recent Windows, or even a new computer because iOS tools work only on Mac. And if an application was written in .NET, pay for MonoTouch or Mono for Android to recompile the application's logic (the part of functionality that shouldn't vary per platform, also called "model" or "back end") for iOS or Android respectively.
    • Get the application through the device maker's or carrier's approval process. Microsoft charges per app for Windows Phone 7 after the developer's first five.
    1. Re:Sources of overhead in phone app development by Anonymous Coward · · Score: 0

      Buy the tools to port the application to a device: an annual certificate on iOS or Windows Phone 7, an entire operating system because Windows Phone 7 tools work only with recent Windows, or even a new computer because iOS tools work only on Mac. And if an application was written in .NET, pay for MonoTouch or Mono for Android to recompile the application's logic (the part of functionality that shouldn't vary per platform, also called "model" or "back end") for iOS or Android respectively.

      Get the application through the device maker's or carrier's approval process. Microsoft charges per app for Windows Phone 7 after the developer's first five.

      Or just develop for the operating system that has the largest market share (Android), has the most momentum (Android), completely free dev tools (Android sdk, Eclipse on Linux, the PC you already have), and completely free side loading if you're too cheap to pay the 25 dollar a year Android Market fee. Man, I love Android.

      P.S.

      Buy a device on which to test.

      Practically everybody that is going to be writing mobile applications is going to have a cell phone. Make sure it's a good one. and stick to the official api's. Problem solved.

    2. Re:Sources of overhead in phone app development by base3 · · Score: 1

      Right -- it's the same reason that programs that were free for DOS/Windows were $25 crippleware for (pre OS X) Macs. The toolchain was expensive and the market much smaller.

      --
      One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
  69. Re:So That's What Slashdot Is Today by datapharmer · · Score: 1

    Fine. Tell the user why the permissions are needed. Do a get for the author's website, if it doesn't come back with a 200 ok in x number of days then don't let the app run or restrict it with a timer.

    --
    Get a web developer
  70. Overhead by tepples · · Score: 0

    PCs are full of genuinely free applications.

    I have written another comment about why the presence of free software on PCs isn't a perfect predictor of the presence of free software on mobile phones.

  71. The days of the owner control are over by ddd0004 · · Score: 1

    The companies that provide the device or the company that provides the network will control the device.

  72. I'm thinking the issue may be what they listed... by rrossman2 · · Score: 1

    If google were to implement this, how many apps *would* break because of an error on the permissions?

    Maybe I'm off base on this, but if I am please correct me... It's like if Linux didn't have file system permissions the way it does now.. let's say you could write anywhere without any restrictions, and then suddenly there's an update that locked down the file system with permissions the way they are currently. Since the existing applications would try to write to where ever they would normally write, they'd hit errors.. and since the applications weren't written to handle those errors correctly, I'm guessing they would crash or hang.

    It goes along with this comment in the summary:
    "Users are warned that enabling this feature on the nightly build may cause applications to crash or 'force close', but a new dialog allows them to easily return the permissions to stock if they wish"

    Here's an example... the one Fedora box I have access to at a local college doesn't have any developer tools installed (no gcc, etc) and I only have regular user access. I can't rpm to install screen, etc. So I setup the same version of Fedora in a VM on my laptop and downloaded the screen source, and compiled it. I then took the binary and using a PHP script on the school box, uploaded screen to an area I had write access. I then moved it into my home folder. I went to run screen, but it crashed as it couldn't make it's socket file in the normal location as I didn't have permission. I had to go back to the VM, and set the flag for configure to tell it to use my ~ directory instead. Then it worked.

    What are the chances if Google did implement this, many of the existing applications would force close/hang/crash like the quote says BECAUSE of the change in permissions the applications weren't designed to handle/work around? I'm not saying the applications SHOULD or NEED to have access to half the stuff most of them do request, but should you block one the application "needs", is it still going to run correctly? While I *love* the idea, it sounds like any initial releases of the Android OS that include such a feature will cause a lot of issues with existing applications, which would require a massive amount of updates from the developers. (and again, maybe I'm wrong on this.. and if so please set me straight :) )

  73. Re:So That's What Slashdot Is Today by oakgrove · · Score: 1

    I'm not sure what all your battery display does but a good reason to ask for storage access is so you can persist a log/settings in case the user uninstalls/reinstalls the application. Without sdcard write access, all of your files have to be written to the /data/data/youapphere directory and if the user uninstalls your app, those files are gone. If they are on the sdcard and the user decides later to reinstall your program, it can just pick right up where it left off. The same thing happens on Linux OSX and Windows.

    --
    The soylentnews experiment has been a dismal failure.
  74. Re:So That's What Slashdot Is Today by Anonymous Coward · · Score: 0

    I would have installed Pandora except for the insane number of permissions it needs. There are a number of apps I don't mind allowing access for, when they aren't requesting phone identity and network access and contact access... There is no need for ads to know who I know.

  75. Re:I'm thinking the issue may be what they listed. by Anonymous Coward · · Score: 1

    Windows UAC didn't kill the Windows software ecosystem, everyone who isn't an idiot will survive.

  76. Re:So That's What Slashdot Is Today by Anonymous Coward · · Score: 0

    I went looking for a better battery display then I had on my CM7'd nook. Every one I looked at requested at least full network access and many had that and local storage access. There is a difference between paranoid and realizing that to do a job a battery widget does not need to talk to the outside world.

    Although this widget requires access to Wi-Fi (to turn it on and off), it does not need any network or storage access.

  77. Re:Seriously, that was the stupidest thing Google by maxume · · Score: 1

    Yeah, sort of like that, except the discussion is about how developers could handle users having the ability to edit permissions (like they will with this firmware build).

    Basically, I'm guessing that most users won't touch them, but the ones that do will drive some positive change in getting developers to request narrower rights.

    --
    Nerd rage is the funniest rage.
  78. Re:I'm thinking the issue may be what they listed. by Zebedeu · · Score: 1

    I have an app on the market. Usually I have no problems supporting users on custom roms, since my app uses the standard Android libs wherever possible.

    However, a few days ago I had a user complain that a new update started crashing on his device. Upon further inspection it turned out that his Android 2.2 custom rom was declaring itself as Android 2.3, and my app was crashing when it tried to call a method which was introduced in 2.3.

    This to me is what's scariest about these custom roms. They can turn into support nightmares for app developers.
    People complain a lot about fragmentation, but my app runs on everything from 1.5 to the most recent devices available and I never had any problem with a specific device. The few really weird issues up to now have, not very surprisingly, happened on custom roms.

  79. Local ads by tepples · · Score: 1

    As a fictitious example, a notepad may need to write on the SD card to save files and a network connection to pull ads. It should NOT need to read my GPS or network location

    It would need your coarse location to know which ads to show, so that it doesn't show ads for a barber shop in Fort Worth, Texas, to residents of Fort Wayne, Indiana.

    1 volt is the same all over the world

    Users expect some sort of translation between voltages and "full" or "empty". Case in point: I have never seen a car whose dashboard displays remaining gasoline in litres or gallons.

    1. Re:Local ads by TheCRAIGGERS · · Score: 1

      Please just stop with the gasoline / car analogy. It doesn't work in this case, and you playing devil's advocate is not advancing this conversation.

      A battery meter does not need to know your location in order to tell you your phone's battery level, end of story.

      If you have an app that reads your car's gas gauge and needs to know what units / whatever to display in, you simply ask the damn user where they are at, or simply ask what units they wish to see the data in. There is no need to overengineer the situation and use GPS to figure out they live in Germany and thus should display in liters.

  80. ScummVM games are paid by tepples · · Score: 1

    I will just stick to SCUMMVM games.

    As I understand it, most ScummVM games are paid. Without a copy of Maniac Mansion for MS-DOS or Atari ST, for example, you can't play Maniac Mansion in ScummVM. Most copies of Maniac Mansion that I see on eBay are the censored version for the NES. Maniac Mansion for NES almost works in ScummVM if you skip the cut scenes, but you'll need a front-loading NES console with a soldered-in CopyNES board to copy the cartridge to your PC.

    1. Re:ScummVM games are paid by h4rr4r · · Score: 1

      I have the 2 first monkey islands on floppies, then again in a lucas arts collection with dig and full throttle on CDs. I also have the third one on CD. No need to build any crazy adapters or anything.

    2. Re:ScummVM games are paid by h4rr4r · · Score: 1

      http://www.amazon.com/Maniac-Mansion/dp/B00066X8J8
      $50 no crazy adapter needed either.

  81. Re:Seriously, that was the stupidest thing Google by npsimons · · Score: 1

    Sounds like a headache for developers: "these are the permissions you can ask for, but it's not sure they'll actually be granted." Then you'd have to build in checks absolutely everywhere because you can't rely on anything.

    If a developers aren't checking to make sure argc is greater than zero and argv[0] isn't NULL, they shouldn't be shipping production code. "Checking absolutely everywhere" should be standard programming practice, because the one time something isn't checked is the one time it will fail.

  82. Anything cheaper than Nexus S? by tepples · · Score: 1

    Buy a device on which to test

    Practically everybody that is going to be writing mobile applications is going to have a cell phone.

    My current cell phone is an Audiovox 8610 from Virgin Mobile USA, which doesn't run Android, and the phone you recommended (Nexus S) costs $549.99. Can you recommend anything cheaper? Virgin Mobile USA carries the Samsung Intercept and LG Optimus V; are those any good?

    1. Re:Anything cheaper than Nexus S? by froggymana · · Score: 1

      Buy a device on which to test

      Practically everybody that is going to be writing mobile applications is going to have a cell phone.

      My current cell phone is an Audiovox 8610 from Virgin Mobile USA, which doesn't run Android, and the phone you recommended (Nexus S) costs $549.99. Can you recommend anything cheaper? Virgin Mobile USA carries the Samsung Intercept and LG Optimus V; are those any good?

      I'm currently using the Optimus V from VirginMobile, and it works wonderfully. It was a little hassle rooting since you need to install several SDKs and what not. But still fairly easy ans straight forward. Make sure you get your number ported over and anything that will involve contacting VirginMobile (like activation) before rooting your phone and installing something like Cyanogenmod. I made that mistake, but it was still just as simple as backing a full backup of the CM install, reflashing the backup I made of the stock "rom" (always make a backup before flashing a new rom, just in case something goes wrong) doing what I needed to in the special menus of the stock rom and flashing back to CM.

      If you absolutely must have a physical keyboard, go for the Intercept, otherwise go for the Optimus since it is a much better buy in terms of hardware.

      Don't expect to have a Nexus S level of quality with the phone though. Some games will lag and other things might not be as fast you may see on higher end phones. When I got mine, I went into thinking "this is just another phone", making everything else it can do with android gravy. Angry Birds is playable, along with mostly every other game I have tried and it is really nice being able to tether to my phone for 3G internet along with getting emails on the phone.

      --
      "To prevent this day from getting any worse, I'll just read ERROR as GOOD THING" 1GJU8xLuDKDxEs4KLf8fAGyptoDsqvEsBT
  83. Re:So That's What Slashdot Is Today by npsimons · · Score: 1

    On my N900, BatteryGraph keeps an SQLite database for charting past performance.

  84. Re:Seriously, that was the stupidest thing Google by CharlyFoxtrot · · Score: 1

    This is completely different. It'd be more like having to check libc is installed every time a program is executed.

    --
    If all else fails, immortality can always be assured by spectacular error.
  85. Re:So That's What Slashdot Is Today by fuzzyfuzzyfungus · · Score: 1

    It would be nice if the control was a lot more fine grained within each access type e.g. Do you want to allow the app internet access to a specific URL (for example for high scores) and block any other internet access.

    It unnerves me a little to see most apps requesting access to your contacts, internet etc without a more detailed explanation why.

    I'd like to see the possibilities go one better: Lying.

    Imagine a sort of "chroot" for application data: a contained environment, controlled by the actual root environment, in which exists a set of files sufficiently complete to allow the enclosed process(es) to do their thing as though they were the rulers of all they survey; but without actually giving them that power. When creating a chroot, you can either populate it with a relatively complete clone of the real root, or a specially crafted one for a specific purpose.

    Being able to granularly confirm/deny individual requests by an application is a good start; but it means a significant risk that an application with break(or chose to take its ball and go home) if denied certain permissions. However, if one could define multiple(presumably hierarchically namespaced, just for neatness' sake) "data chroots" to which one could grant access(all of which would look like data roots, to the application with access) this could be avoided. Such data chroots could be constructed whole cloth, simply by manual or automatically installed definition files, or by "filters" applied to real data.

    Got an application that wants your contacts for no good reason? "Grant it access" to a ficticious one consisting of generic but plausible contacts. Social Yelpcoupon 2.0ster wants your precise location data? Give it access to a filtered data chroot that only allows for city-level precision; but is based off the real location data, so that you get offers relevant to your general area.

    Obviously, team google would never, in a million years, endorse such a scheme; but it would be architecturally workable enough, and give an extra weapon to those fighting pushy apps.

  86. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  87. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  88. I concede by tepples · · Score: 1

    Please just stop with the gasoline / car analogy.

    I concede. However, the question remains about offering haircuts in Portland, Oregon, to users in Portland, Maine.

    1. Re:I concede by TheCRAIGGERS · · Score: 1

      I concede. However, the question remains about offering haircuts in Portland, Oregon, to users in Portland, Maine.

      There are other ways. Ways that don't compromise your privacy as much and don't drain the battery like GPS does.

      You could use the IP address (ad agencies already do this now in webpages). You could use the coarse location, based off of cell towers. You could use data that the user already willingly provided, such as a zip code to retrieve weather data. Or you could just not attempt to provide location-aware ads; many people get by with just advertising websites that offer services you may want.

  89. Re:Seriously, that was the stupidest thing Google by cyberstealth1024 · · Score: 1

    So... developers are bad coders, and therefore we should give them free reign over our privacy?

    Yes. ... no, I jest. IAASD (I am a software developer)

    Seriously though, it depends on the developer -- to my dismay, some of the developers I work with put minimal effort into error-checking (even simple function return values). ...and whenever the software breaks during operational use, that usually means that I have to go back in and fix it and make it the way it originally should have been...sometimes as an emergency patch. I'm not perfect either, and I'll occasionally overlook a couple checks, but at least I try to put the effort into it. If there were to be a permission-query API as GGP had suggested, it would definitely make things easier.

    That being said, I do think it's a good idea for end users to control their privacy as much as they can, so I would support user-configurable permissions.

    As other comments have stated, there are currently apps available (AdFree Android, DroidWall, etc...) for root users to control some of this. This is one of the reasons that I've rooted my Motorola Droid. But then again, from what I understand, manufacturers are continually making it increasingly hard to root your phone.

  90. Here's the TOS. Agree or uninstall. by tepples · · Score: 1

    I own my device, I control what it does, and how it does it. NO exceptions.

    The developer of the application owns copyright in the application, the developer controls who is allowed to copy it from Google's servers, and how it may be used. NO exceptions. The application's description on the Market states that your use of the application is subject to the terms of service, available at a given URL and shown when you first start the program. These terms include a prohibition on circumventing the advertisement display. Agree or uninstall.

    1. Re:Here's the TOS. Agree or uninstall. by Anonymous Coward · · Score: 0

      'how it may be used'

      Are you absolutely sure on that?

    2. Re:Here's the TOS. Agree or uninstall. by tepples · · Score: 1

      If you use the program in an unauthorized way, then you are in breach of the contract that you agreed to before you downloaded the program, and any further use of the program is deemed an infringement of copyright.

    3. Re:Here's the TOS. Agree or uninstall. by green1 · · Score: 1

      Show me the pre-download agreement that says I may not use a program on a device without an internet connection, or a GPS, or whatever else.

      The most you MIGHT be able to show is a EULA, which are not even valid contracts.

      Copyright stops me from giving a copy to someone else without authorization. it does not stop me from using my legally acquired program for my own purposes.

      My device, my rules. You want to change that, then you have the problem, not me. You don't own my device, and you never will.

    4. Re:Here's the TOS. Agree or uninstall. by green1 · · Score: 1

      Copyright is about copying, not use. They can tell me I can't redistribute, or I can't get a copy in the first place, but they have NO authority to tell me how to use it once I have it. A EULA is not a valid contract and can't change that.

      My device, not yours, I own it, whatever garbage you display on the screen can't change that.

  91. Sounds similar to LBE Privacy Guard by izomiac · · Score: 2
    This feature sounds like what LBE Privacy Guard does. Essentially it's UAC with most of the permissions you may want to deny. A big plus is that it runs on any rooted device, and not just a custom Cyanogen nightly.

    Requirements
    **NEEDS ROOT**
    Works on Android 2.0 and above.
    Tested on various devices and firmwares, but not tested on Android 3.0 and 3.1 devices.

    Current Features
    1. Block unwanted send SMS / call phone operation
    2. Block unwanted access to phone location, contacts, SMS/MMS conversation database, IMEI/IMSI/ICCID/phone number.
    3. Integrated low-level firewall, no netfilter/iptables required, works on pre-froyo devices

    Market Link
    https://market.android.com/details?id=com.lbe.security

  92. Re:I'm thinking the issue may be what they listed. by WuphonsReach · · Score: 1

    Maybe I'm off base on this, but if I am please correct me... It's like if Linux didn't have file system permissions the way it does now.. let's say you could write anywhere without any restrictions, and then suddenly there's an update that locked down the file system with permissions the way they are currently. Since the existing applications would try to write to where ever they would normally write, they'd hit errors.. and since the applications weren't written to handle those errors correctly, I'm guessing they would crash or hang.

    Well, I think the closer analog would be starting to use SELinux after leaving it turned off for a long time.

    If the SELinux profiles are properly written, and the software hasn't changed drastically since the profile was written, then it generally just works (at least with targeted mode). But if not, then you'll get all sorts of SELinux errors in the logs and the application will fail to function properly.

    --
    Wolde you bothe eate your cake, and have your cake?
  93. Re:Seriously, that was the stupidest thing Google by Dr.+Manhattan · · Score: 1

    Actually, I'm a software developer, too. I was just pointing out that the AC couldn't have it both ways. If developers were doing the right thing, then an API that allowed them to check for disallowed permissions on startup wouldn't be a particular hardship. On the other hand, if a developer's incompetent, then the last thing we should do is allow them any and all permissions they ask for.

    --
    PHEM - party like it's 1997-2003!
  94. Re:Seriously, that was the stupidest thing Google by cyberstealth1024 · · Score: 1

    Agreed :)

  95. Ads for even Netflix are location-aware by tepples · · Score: 1
    c.r.o.c.o wrote:

    It should NOT need to read my [...] network location

    TheCRAIGGERS wrote:

    You could use the coarse location, based off of cell towers

    So you appear to agree with me but not c.r.o.c.o.

    Or you could just not attempt to provide location-aware ads; many people get by with just advertising websites that offer services you may want.

    A lot of websites that offer services are location-aware as well. An example of such a website is Netflix.com; ads for Netflix should not be shown outside the United States and Canada because the movie studios themselves are location-aware.

    1. Re:Ads for even Netflix are location-aware by TheCRAIGGERS · · Score: 1

      Mostly I was just giving options. Basically, I agree with croco, although I see your side as well- a battery meter does not need my location, network or otherwise, but a 3rd party ad library might. As long as the dev is aware that using that library will likely result in privacy nuts not downloading and using it.

      Realistically in the battery meter example, my first option would be to use the IP address. You already need network access to download the ads, so it's no additional rights to request. It can easily get a location down to a specific city, which most people are OK with giving out to advertisers. Also, coarse, network-based location is still a battery drain. It's not as much of a drain as full GPS, but still an increase. Using the IP address also has the benefit of offloading that processing from your device to the ad servers, where it belongs. I don't know the state of 3rd party ad services on Android, however; this may not even be an option currently. If not, it should be.

  96. Copying from Google's server to your device by tepples · · Score: 1

    Copyright is about copying, not use.

    How does an Android application get onto your device? Your device copies it from Google's server.

    or I can't get a copy in the first place

    This is what I meant. If you disagree, don't download the application in the first place.

    A EULA is not a valid contract

    How is a license agreement invalid if the terms are made available for viewing prior to the download?