tags:

views:

848

answers:

12

I'm trying to get an idea of how often my software is being installed. I was thinking about just including a simple URL call in the background the very first time the software is started. I am not trying to gather a lot of information. I really just want to get the date and time the software was installed. Is this unethical or commonly done by other developers?

+11  A: 

In my opinion, yes, sending any data back that isn't authorized is unethical. Most software will prompt you to ask if it's OK to send back anonymous usage data. You could also track downloads and guestimate how many of them are actually installed.

Kylar
As a 'grey-area' option - you *could* make part of the download acceptance a sneaky EULA that says something like "when you first run this software it will send a one-time piece of anonymous non-trackable data back to the developer."
Kylar
Sneaky EULAs aren't grey. They're as black as the devil's heart on a moonless night.
Epaga
The devil doesn't have a heart, he sold it to Steve Ballmer.
Kylar
+3  A: 

you will always have to ask before calling home with anything, no matter how harmless you think it is.

kind of like you should always ask permission before putting a shortcut on a desktop.

Oren Mazor
+3  A: 

If you want to do that — ask user permission.

Some companies just have automatic check for updates feature.

z-boss
+2  A: 

Only do this if your application uses the network as a primary function, otherwise a user will get weirded out by their standalone application asking to get internet access through their firewall.

Also: If you add in-line updates to your software, or ask to check for software updates periodically, you can easily log this information.

Stefan Kendall
+5  A: 

There are a number of software products that gather data from the user but they all get the user's consent before sending any information. I suggest you do the following:

  1. Ask the users to register, this way you will know some basic information like (roughly) when the software was installed.
  2. If you need more complex/interesting usage statistics then make this a feature that users can easily turn off. Some people are not comfortable sending any data to you, Eclipse does this very well, the first time it wants to gather some usage statistics it allows the user to turn off the feature right away.
  3. Finally , which ever way you implement this feature ensure that the users can see exactly what data you are collecting and sending and can choose to not do so.

If you do this in this correctly way you will gather some data in a way that does annoy your users or intrude on their privacy.

Tendayi Mawushe
+44  A: 

You could always just have the installer open up a "Thank you for installing our product" page that's hosted on your web server. Since this page would normally only be hit after an install it should give you a decent indicator without being evil.

P.s. Before anyone hounds me on this please note that Firefox does this directly after an install.

Spencer Ruport
This is a pretty good idea, if you ask me.
ceejayoz
This is annoying, but commonplace. A lot of products do this on uninstall as well. If you add tutorial or help information to this page, you're also providing value-add, I guess.
Stefan Kendall
This seems like a perfectly reasonable thing to do. After all, who doesn't want to see a nice "thank you" and tips on using the application, current known bugs, or something else related to the product? It could even be the vehicle for registering the application. If I choose not to register, I just close it. You, on the other hand, got your installation count data without unnecessarily annoying the customer.
Mike Chess
Combined with a short easy-to-read plain text privacy statement (e.g. "Allow this application to connect to the Internet? No personal data is collected.") that would be a fine approach. Being clear, open, and honest generally is ethical.
mctylr
Opening a link to a website is considered ethical, without asking people is generally done. A privacy statement would just make me wonder what they're trying to get away with.
Warren P
A less annoying thing to do, that is essentially based on the same idea, is to trigger some auto update URL on the first run, similar to `http://myhost/checkForUpdate?version=xyz`. This looks like an innocent update check if somebody sees it in his firewall and may actually be one. I think this is less annoying for the user than to open a browser window on his machine. You should also have a switch to turn off update checks in the settings of the program, but to turn it off the user has to start the program at least once and so you'll always get your install ping.
x4u
Firefox has it easier. Nobody will be surprised at a new browser open showing a page after a browser installation. I bet people installing PuTTY wouldn't like a new browser window open without al least being asked about it.
Vinko Vrsalovic
+3  A: 

Just popup before installation:

"If you click Yes, the date and time the software was installed will be sent to us via your Internet connection. We would appreciate it a lot."

Let "Yes" be the default option and avoid the popup if there is no Internet connection available.

Doing it behind the scenes is unethical in my opinion.

Vinko Vrsalovic
A: 

this is kind of tricky, if u are getting the information about the software only; without identifying the user, perhaps it might be passed as alright.

just think of google, i know it never gets installed on your system, but chrome again is a google product, which i believe probes ur google searches to give relevant advertisements. what is reading a cookie, is it any different from reading information from your computer.

also i have seen relevant advertising poping up in yahoo mail when i search for shopping stuff on google. they for sure are reading some info on your computer or browser session.

I think its ok to send the info from software, as long as u have no way to identify from what user it is coming from.

Kazoom
This is not tricky at all: simply ask the user for permission. It's not all right otherwise.
Liz Albin
A: 

I don't see any particular areas of unethical or illegality except for this: My software, my computer, none of your business if I want to install it or just have it sitting in an installer.

Although I think a convincing argument could be made that it literally is your business to know about your software's installs.

Best route is simply to request to send 'anonymous usage information'.

Paul Nathan
A: 

How many of you windows users tell windows its OK to phone home and verify that your copy is genuine?

0.

There are a lot of high and mighty my-computer-is-my-domain answers here, and the bottom line is while its rude, its not against the law. Rather, its commonplace. Stick a disclosure in the EULA and you're good to go.

cyberconte
"legal" and "ethical" are not even *close* to the same thing
Tyler McHenry
Well let's have a working definition of Ethical then? If microsoft does it, then it's unethical? If google does the same thing does it become Ethical? :-)
Warren P
True :) However ethics is regional. Whats ethical in one place may not be in another. In this case, theres an argument that its ethical in the business world (I'm doing it to improve things for the user), but not ethical in the user world (stay outta my PC). But the point about legal != ethical is valid.
cyberconte
A: 
Andrew Neelands
A: 

I think the circumstances also play a part.

If the app is a free app and the developers find that knowing each time an app is installed then as long as the user is told then most users wouldn't have an issue with that.

If the app contains sensitivie data (i.e. financial or credentials) and you notice the app calling home then that would freak most users out and wonder what else is being sent.

Also another point is having it call home each time the app is installed doesn't really tell the developers much, what if a user reinstalls the app or the operating system? What if the call home is denied by security software or their computer isn't even connected?

In my opinion if you can't collect meaningful useful stats then is it really worth collecting them to analyze them?

DotNetHacker