Hacker News new | ask | show | jobs
by bcdtttt 588 days ago
I'm a game dev, and it's useful for me to have stats about how frequently abilities are used, what items players use, etc. to tune game systems. I've often thought it would be really easy to collect telemetry-- send a json blob with some info about actions players take in game -- but I want to make this both transparent and useful to players too.

I know that telemetry should be opt in, but no players will ever turn it on. And that leads to a conundrum- do I incentivize turning it on? Make it opt out? Gate some features (like heat maps on a play session or skill visualizations) behind it?

Would it be useful to have the ability to see exactly what was sent? Like, I could show a telemetry json or yaml blob in the options screen to show what events I collect. Would it be useful to have fine grained telemetry controls, like, the ability to toggle any arbitrary telemetry event from being fired?

It's a tough spot to be in, as a dev, to want insight into how people interact with your system, while also wanting to give people a chance to decline.

10 comments

> it's useful for me to

Still, can you do without?

> It's a tough spot to be in, as a dev, to want insight into how people interact with your system, while also wanting to give people a chance to decline.

It is, but the underlying issue is trust, or rather, lack of it. Vendors feel so entitled to this data, that even when they obey what's actually rule of the land over here in EU, they don't even try to level with the user and give them a reason to opt-in - they'd rather show a beg screen with information-free boilerplate text, and then act annoyed that pesky regulators and lazy users deny them the data they're entitled to. Thing is, they're not entitled to it. Never were.

"We collect data to improve our product and your experience" is zero-information-carrying bullshit that hardly anyone believes in. In fact, the first sentence of your comment is strictly superior - so much, that I'd consider opting in based on that alone:

"it's useful for me to have stats about how frequently abilities are used, what items players use, etc. to tune game systems"

Now I have at least some idea what you're collecting and why, and how it benefits me and other players. And, more importantly, you came forward with it.

> Would it be useful to have the ability to see exactly what was sent?

Very much yes. Not for everyone, most players probably won't care. But some will, and I imagine reviewers will too. Being open about what you're collecting would go a long way towards establishing trust with the players, and if more people would do that, it could even change the overall perception users have.

Maybe I'm an outlier but the better you describe what you're collecting the more I will trust you that it's just that. Not "Hey I want to collect and send stuff to improve whatever" (that could be a keylogger, or in the case of an editor it could be a list of the files in my top-secret project, if I was paranoid) but if you linked a document describing what exactly you send (or like the Valve hardware survey, a textbox with exactly the content I can skim..) fine!

I know this is an unreasonable amount of work and most non-devs would not react differently or have a higher conversion rate.. but that's the type of reports I have given to various open source projects, because explaining it in detail and then sending different stuff I do not agree with is a kind of maliciousness I don't usually expect, except from content marketers and growth hackers.

To add on to what others have said, as a habitual "no don't send telemetry" clicker, I think this is heading a direction where I _would_ hit allow.

Two adjustments I could think of that would make it better (besides explaining clearly, etc):

Ask me when you're not actively obstructing me from getting to what I want. Like asking on first boot I've gotten no value from the software yet that I might feel I need to pay back, and I'm actively trying to get _in_ to the game and your pop-up is in my way. The easiest and safest way to get rid of it is "do not allow". Try asking _after_ I finish a game/round/whatever.

And that would also give you the opportunity to do something like collect real analytics information to show to the user. Like "Hey I hope you're enjoying the game it's useful for me to have stats about how people use abilities and items to tune and balance the game systems. Would you be willing to contribute to the game's further development by sending information like that below which was collected from your last round?" And then skip the JSON/etc unless your audience is programmers, just show them a table.

Finishing some play time having had fun and getting a pop-up that explains what, why, and gives me a chance to make an informed decision on whether to send something innocuous like "(offset-timestamp, event-type, item-id/ability-id)"... I'd actually probably allow it.

I am also anti telemetry, but given a direct usability request, I would be somewhat tempted to share it.

A way to package it would be to show end of game stats compared to global averages. Histograms of mana/health/bullets vs the world standard. Maybe a personal historical trendline vs past performance. On that screen, give an option to share metrics with the community. Users can immediately see what the aggregated data can provide and might feel more likely to consent.

To be most user forward, keep a local non-obfuscated log of what is shared. This also makes it possible for dedicated users to potentially mine their performance.

> Would it be useful to have the ability to see exactly what was sent?

That's helpful (as long as the user can opt not to send it after review), but to be honest, I never really trust that all of the data that is going to be sent is being disclosed. Our industry hasn't exactly behaved in a way that encourages trust.

> Our industry hasn't exactly behaved in a way that encourages trust.

This is true for big companies and absolutely false for everybody else. There is a worrying lack of nuance in your comments.

It's more common with big companies, but it's not at all unique to them.
Of course, and there are bad actors in every area. I haven't stopped grocery shopping in my city just because I know Lidl and Billa treat their employees terribly.

If you don't want to provide telemetry information to the devs of the software you are using, that's your right -- do it, prevent it.

I simply don't think that "opt-out by default" is such a heinous crime. Some devs really do land in situations where they are lost on which features are worth improving or winding down (or even removing). A lot of teams have limited dev time / energy budgets so it pays off for them to know where to pay attention IMO.

> I simply don't think that "opt-out by default" is such a heinous crime.

I object to it because it's a cover-your-ass approach to avoiding getting consent.

As a dev, I fully understand the value of this data. But that's irrelevant to the point, to be honest. That a thing provides value to devs is not an argument that the thing is justifiable.

Again, I don't actually disagree with you on your premise. As a user I found it spooky myself.

I am simply leaning a bit more to the dev point of view is all.

That it should be fiercely discussed whether you need telemetry to improve your product is also true but again, in some cases (in my practice) it was unavoidable. I'd agree that the question whether there should be telemetry at all is one that should be posed much more often that it is right now.

In fact big companies worry about gdpr fines and have extensive data privacy review people. I work with them in my job at a major enterprise.

It's often startups that just do whatever because the only thing they care about is showing value to investors and avoid getting canned next month.

> I know that telemetry should be opt in, but no players will ever turn it on

If you just ask the user yes or no and they massively decide no, who are you to turn it on by default and make them dig around to turn it off? Yes a lot of them won't go to that trouble or simply don't know it's there. But you know they're not ok with it when given the option.

> Would it be useful to have the ability to see exactly what was sent

Maybe an opt-in analytics type feature, a dashboard of sorts to see how one plays. I would be curious to see how often I use items, abilities etc. in games

I’d show a pop up at the first start-up, asking the user to opt in, and very clearly and honestly explaining what will be sent and why. And make it easy to opt out, if clicked by mistake.
You could make it mandatory to choose opt-in or opt-out, and make it transparent what data will be sent and what you will use it for and the retention period. Then more people might opt-in.
I like how 0ad (open source strategy game) does it, maybe check that out.
Do you have a link or a summary? I'm not seeing anything obviously relevant with searches combining "0ad", "wildfire games", "telemetry", and "data collection".

Or wait do I have to launch the game and see if it prompts me?

When you run 0ad, the main menu screen has a prominent dialog on the lower right, that has two buttons; "Terms" which brings up a terms and conditions dialog with info, which you can accept or decline. The dialog also has buttons to load the terms online, or load the feedback stats online. If you accept then the other button on the main page "Enable feedback" is automatically clicked. Later you can click "Disable feedback" to disable it at any time, and subsequently click "Enable feedback" again.

https://trac.wildfiregames.com/browser/ps/trunk/binaries/dat... https://feedback.wildfiregames.com/

It doesn't show you the exact data being submitted, but IMO that should be mandatory. ISTR some Mozilla stuff does, maybe the crash reporting.

PS: https://wiki.debian.org/PrivacyIssues

Easy, just explain exactly what you collect, what not, for which exact purposes you will use that data and why — and exclude purposes you will definitly not use it (e.g. send it to third parties, sell it to the highest bidder). Additionally say what is anonymized, aggregated etc, if that applies.

Then add a: "If anything about that should ever change, you you will be notified and asked again within this game".

Then consider addin an option where technically interested users can actually see that data in full.

If you collect reasonable data and explain clearly why people help you the dev when they share it with you, more people might be inclined to do so.

If you make a wishy washy marketing speech that says nothing will just click no.

TL;DR: Be honest, precise and make a promise that people can check you on and explain why they help you with this.