Many programs want to send usage statistics, error logs, and crash reports — data about how you use the application and what problems occurred — to their servers. Some people disable these options, but should you?
We’ll look at the exact types of data applications want to send, what developers do with it, whether any sensitive personal data is being passed along, and the advantages and disadvantages to enabling these options.
Why Exactly Are “Usage Statistics” and “Error Reports”?
In general, applications want to upload two types of usage data: general usage statistics and information about errors, such as crash reports.
Usage statistics — which may also be referred to as “telemetry” — include information about how you use the application, including which buttons and menus you interact with and how frequently you use them. In the case of a web browser like Firefox or Chrome, the data will include information about how many tabs you have open and how much memory your browser is using, how many extensions you have installed, and so on. Other applications will look at which options you have enabled and how frequently you use the application. A gaming application like Steam looks at the hardware in your computer so game developers can see the hardware they should target. The exact types of data sent will vary from application to application.
Error information and crash reports include information about what happened when a crash or other error occurred. For example, if an application crashes, it may then prompt you to send information about that crash over the Internet. This information includes what you were doing at the time of the crash and some of the contents of the program’s memory. The idea is to include enough information so the application’s developers can determine what caused the crash.
The exact data being sent will vary from application to application. Most applications will prompt you and ask whether you want to enable this feature or leave it disabled by default, although some applications may automatically enable it. Some applications will let you disable or enable usage statistics and error reports separately. Some applications may let you check crash reports and confirm before they’re uploaded — the crash-reporting feature built into Windows does this — but some may not.
What Do Developers Do With This Data?
Usage statistics are generally used when deciding what changes to make in the application, which features to focus development on, and to inform other decisions that depend on how users actually use the program. For example, Mozilla knows what parts of the Firefox interface its users interact with — at least the users that report usage statistics. They can then take this information into account when modifying Firefox’s interface. Perhaps buttons that users rarely use will be hidden in menus, while options that are frequently used will be made easier to access. If a feature buried in menus is frequently used, it may become more exposed. If a developer knows that very few users use a particular feature in their program, they may stop working on that feature. If a developer knows that very few users use an operating system — like Windows XP — they may end official support for Windows XP. To make these decisions, developers need to have information like these usage statistics — otherwise they’re shooting blindly in the dark.
Crash reports are used to identify the frequency of specific crashes and give developers information about their causes. With enough crash reports, developers can identify the most frequent crashes and fix them. This helps developers when they’re working on the biggest issues for real users, and gives them enough data to see what causes the crash across many real computers.
Why Should I Send This Data?
It’s actually a fairly good idea for you to send usage statistics and crash reports. Sending usage statistics ensures that developers know how people like you use the program and can make decisions with your usage patterns in mind. For example, when Microsoft removed the Start button from Windows 8, they said they did so because very few people actually used the Start button according to the usage statistics they gathered from the “Microsoft Customer Experience Improvement Program” in Windows 7. Some people theorized that perhaps only less-demanding beginner users had the Customer Experience Improvement Program enabled, while power users — who did use the Start button — were much more likely to disable it. Perhaps if more power users had had this feature enabled, Microsoft would have reconsidered removing the Start button — a clear error on their part, as they’re adding a Start button back to Windows 8.1.
In the case of crash reports, submitting a crash report ensures that developers know you actually had the crash. For example, Mozilla realized that the primary cause of crashes in Firefox was Adobe’s Flash plug-in. This eventually led to the introduction of plug-in sandboxing, where Flash can crash on its own without bringing down the entire Firefox browser. If Mozilla didn’t have this information about crashes, it’s possible that plug-in sandboxing never would have been introduced and Flash would continue to bring Firefox down in the wild.
Do Apps Want to Send Personal Data?
The real reason many people disable these features is because they don’t want their personal data leaking out — they don’t want to be tracked by companies or have sensitive data sit in a database somewhere. So how sensitive is this data, really?
In the case of usage statistics, the data is unlikely to be very sensitive. It’s generally anonymized, because the developers don’t really care what screen resolution a specific user uses. They want to know how common different screen resolutions are and perhaps combine the data to see if there are general patterns — maybe people with specific screen resolutions are more likely to use different interface elements. All of this can be helpful to developers, but it’s generally not very sensitive data and is likely to be anonymized.
In the case of crash reports, things can get a little bit murkier. Developers don’t want to collect personal data with crash reports — they just want to see what the program was doing when the crash occurred. Depending on the program, this may result in some personal data being sent. For example, if you’re playing an online game and it crashes, you should feel free to send a bug report if prompted — you’re unlikely to have any sensitive personal information send along with the bug report.
However, if you’re doing your online-banking or typing sensitive information in a web browser and it crashes, you may not want to send a full crash report. These can contain memory dumps of what the program was doing when the crash occurred, and if you were doing something private that you wouldn’t want others to see — such as looking at your bank account balance, typing your credit card number, or sending a personal email — you may want to decline sending the crash report. This is why some programs allow you to see more detailed information about the memory dump before sending it.
Usage statistics can be invaluable and important in directing the development of software you use — and they shouldn’t negatively affect your privacy. Crash reports can also help developers fix problems in their applications. In most cases, crash reports will be safe to send.
While many power users turn off features that “phone home,” it’s usually a better idea to leave such features enabled. Of course, you can choose which programs you want to enable such features in — maybe you want to send usage statistics to Mozilla but not Microsoft.
Image Credit: Andy Roberts on Flickr