Does anybody know of best practices for obtaining user consent to log their usage info? The ideal solution would encourage the user to say yes to the logging and make sure they're well informed about exactly what they're consenting to.
Trevor's reply is great since it almost covers every scenario:
- You either ask the permissions during the first time;
- You build a trust relationship with your user and then ask to collect data.
But I think it requires a further exploration since this is a sensitive area.
Ask during first time use
I can think of several applications that use this approach.
Visual Studio, during the installation asks you if you want to send data. By default the option is checked, to ensure that they maximize the number of reports. Read this Goldstein publication, or this Wikipedia entry to know more.
On the opposite corner of this approach is the Android platform. When you are trying to install an application, Android lets you know the permissions an application needs. If you don't agree with the permissions (e.g. reading your contact list), you cannot install the application.
Ask after the user trusts you
I don't know applications that use a "pure" version of this kind of approach, so if you know one, please let me know.
Another possible approach would be developing a feature that needs metrics to work. This way, I don't think you would need to ask customers their permission to save their data. Here is an example: after you browsed some items, Amazon shows you what you have seen in the past. Although this shows that they are saving data about you, you don't even think about it. You think about the time they are saving you instead of the data they are collecting.
A note about data collected and anonymity
If you are going to ask customer's permission for collecting data, you should clearly state what kind of data you are collecting, if the data you are storing is anonymous or not, and so forth. Of course you should tell this is a way that users understand. Here again I would advise you to look into Android: it is very easy to understand what an application I'm installing requires.
One thing for you to think about is if it makes sense to allow your users customise the kind of data their are sending. As an example, allowing me to only submit data of crash reports, but not my geographic information when I log in.
Sorry if I do errors, I'm french.
I think you have two ways to do it :
- Ask it to your user the first time he uses your app/website, this is what Apple is doing for example.
- Wait till the user get used/trusts your app/website and then ask him his authorization.
I think the first solution might frighten the user, I would personally recommend you the second one. You could use the first one but only if your users completely trust you.
In every case be sure to use non technical words, to tell what datas will be used and what they'll be used for. If you need to tell them loads of things about this, give them a summary and an option to learn more about that.