There has been a massive uproar in the last week about smartphone apps that take users address books and use them for an action in the app. This is most common with social type apps, those that say "hey, these friends are using [app X], do you want to be friends with them?" What is unfortunate is that this has been going on for years, and people simply don't understand how it works.
I will be talking about Path here, since that is the app that received much of the attention, but many other apps like GroupMe, LiveProfile, even Facebook and Twitter, do this. What happens is that when an like Path wants to check to see fi any of your contacts are already using Path, there are two ways it can do that. The first is to upload your contact list to the Path servers, where they can then check that list against the hundreds of thousands of users registered on Path. The other option is to download the database of all of the hundreds of thousands of users who use Path to your phone, so it can then check yoru contacts against that list.
So, which do you think is better/easier? Uploading 50-200 names so it can be checked against a list of say, 700,000, or downloading 700,000 names so they can be checked against a list of 50-200?
The other part of this is that some apps will alert you when a new friend joins Path. To do this, Path would have to upload your contact list each and every time the app starts. I would honestly rather have the list get uploaded once, instead of several times a day.
Now, I will admit that many apps are not clear about this, and I don't think most people even realized how this worked, even if it is fairly obvious when you sit and think about it for 5 minutes. This is another unfortunate case of most consumers not understanding how the technology they use every day works. And again, because too many people don't understand, things will have to change. Apple has said they will update iOS to force any app that wants to use contact information to explicitly ask before it can. I will point out though that in Android every app you install does list the permissions it requires, and an app will tell you then if it needs to use your contact list. I doubt many people really look at this, but it has been in Android since the very beginning. The change Apple is making is not a bad change, I just wish it didn't have to be necessary.