logoalt Hacker News

a2128today at 12:48 PM33 repliesview on HN

    Why we collect telemetry

    ...our team needs visibility into how features are being used in practice. We use this data to prioritize our work and evaluate whether features are meeting real user needs.
I'm curious why corporate development teams always feel the need to spy on their users? Is it not sufficient to employ good engineering and design practices? Git has served us well for 20+ years without detailed analytics over who exactly is using which features and commands. Would Git have been significantly better if it had collected telemetry, or would the data not have just been a distraction?

Replies

Syttentoday at 1:51 PM

I used to believe that it was not necessary until I started building my own startup. If you dont have analytics you are flying blind. You don't know what your users actually care about and how to optimize a successful user journey. The difference between what people tell you when asked directly and how they actually use your software is actually shocking.

show 22 replies
dale_glasstoday at 1:31 PM

> I'm curious why corporate development teams always feel the need to spy on their users? Is it not sufficient to employ good engineering and design practices?

No, because users have different needs and thoughts from the developers. And because sometimes it's hard to get good feedback from people. Maybe everyone loves the concept of feature X, but then never uses it in practice for some reason. Or a given feature has a vocal fan base that won't actually translate to sales/real usage.

> Would Git have been significantly better if it had collected telemetry, or would the data not have just been a distraction?

I think yes, because git famously has a terrible UI, and any amount of telemetry would quickly tell you people fumble around a lot at first.

I imagine that in an alternate world, a git with telemetry would have come out with a less confusing UI because somebody would have looked at the stats and for instance have added "git restore" right from the very start, because "git checkout -- foo.txt" is an absolutely unintuitive command.

show 5 replies
sidkshatriyatoday at 8:11 PM

> ...our team needs visibility into how features are being used in practice. We use this data to prioritize our work and evaluate whether features are meeting real user needs.

You should be able to see what features are being used by seeing what server endpoints are being hit and how often. Don't need intrusive telemetry. Yes, it's not perfect. Many features could use the same endpoint. You could totally anonymise this and you could still get a great understanding what features users are using by looking at endpoint stats.

Companies need to decide whether they want customer goodwill or very detailed insight into what they are doing. By having invasive telemetry you may have less customers (people leaving for github competitors). Is it worth it ?

hansmayertoday at 1:20 PM

> I'm curious why corporate development teams always feel the need to spy on their users

Unfortunately this is due to a large part of "decision makers" being non-technical folks, not being able to understand how the tools is actually used, as they don't use such tools themselves. So some product manager "responsible" for development tooling needs this sort of stuff to be able to perform in their job, just as some clueless product manager in the e-commerce absolutely has to overload your frontend with scripts tracking your behaviour, also to be able to perform in their job. Of course the question remains, why do those jobs exist in the first place, as the engineers were perfectly capable of designing interaction with their users before the VCs imposed the unfortunate paradigm of a deeply non-technical person somehow leading the design and development of highly technical products...So here we are, sharing our data with them, because how else will Joe collect their PM paycheck, in between prompting the AI for his slides and various "very important" meetings...

show 1 reply
j_maffetoday at 12:52 PM

> Would Git have been significantly better if it had collected telemetry, or would the data not have just been a distraction?

I'm not sure if you're implying it's obvious but it's not obvious to me that it would be unhelpful.

show 2 replies
Lammytoday at 4:40 PM

The people who write any individual feature want to be able to prove usage in order to get good performance reviews and promotions. It's so awful that it's become normalized. Back in The Day we had the term “spyware” to refer to any piece of software that phoned home to report user behavior, but now that's just All Software.

dualvariabletoday at 2:28 PM

> Is it not sufficient to employ good engineering and design practices? Git...

Git has horrible design and ergonomics.

It is an excellent example of engineers designing interfaces for engineers without a good feedback loop.

Ironically, you just proved your point that engineers need to better understand how users are actually using their product, because their mental visualizations of how their product gets used is usually poor.

show 2 replies
embedding-shapetoday at 12:52 PM

> Is it not sufficient to employ good engineering and design practices?

It's not that it's insufficient, new developers, product people and designers literally don't know how to make tasteful and useful decisions without first "asking users" by experimenting on them.

Used to be you built up an intuition for your user base, but considering everyone is changing jobs every year, I guess people don't have time for that anymore, so literally every decision is "data driven" and no user is super happy or not anymore, everyone is just "OK, that's fine".

gardaanitoday at 1:00 PM

It isn't only corporate development teams — open source development teams want to spy on their users, too. For instance, Homebrew: "Anonymous analytics allow us to prioritise fixes and features based on how, where and when people use Homebrew." [1]

[1] https://docs.brew.sh/Analytics

show 1 reply
gordonharttoday at 1:26 PM

The impact of a few more network calls and decreased privacy is basically never felt by users beyond this abstract "they're spying on me" realization. The impact of this telemetry for a product development team is material.

Not saying that telemetry more valuable than privacy, just that it's a straightforward decision for a company to make when real benefits are only counterbalanced by abstract privacy concerns. This is why it's so universally applied across apps and tools developed commercially.

show 1 reply
_heimdalltoday at 3:19 PM

Anonymous telemetry isn't necessarily spying, though "pseudoanonymous" sounds about as well protected as distinguishing between free speech and "absolutism." Github also wouldn't be tracking git use here, but the `gh` CLI that you don't need to install.

All that said, having been in plenty of corporate environments I would be surprised if the data is anonymized and wouldn't be surprised if the primary motivator boils down to something like internal OKRs and politics.

KronisLVtoday at 4:32 PM

> I'm curious why corporate development teams always feel the need to spy on their users?

Cause the alternative is viewing all of your app as one opaque blob - you don't know exactly how it's being used, which features actually need your attention, especially if you're spread thin. If you're in consulting or something like that and the clients haven't let you configure and/or access analytics (and the same goes for APM and log shipping), it's like flying blind. Couple that with vague bug reports instead of automated session recording and if you need to maintain that, you'll have gray hairs appearing by the age of 30.

Take that disregard of measurement and spread it all across the development culture and you'll get errors in the logs that nobody is seeing and no insights into application performance - with the system working okay at a load X, but falling over at X+1 and you having to spend late evenings trying to refactor it, knowing that it needs to be shipped in less than a week because of client deadlines. Unless the data is something that's heavily regulated and more trouble than it's worth, more data will be better than less data, if you do something meaningful with it.

> Would Git have been significantly better if it had collected telemetry, or would the data not have just been a distraction?

Knowing the most common fuck ups and foot guns might inform better CLI design. Otherwise people saying that it's good have about as much right to do so as saying that it's bad (at least in regards to UX), without knowing the ground level truth about what 90% of the users experience.

show 1 reply
bastardoperatortoday at 5:04 PM

You have three features, A, B, and C. They are core features. Two of the features break. How do you prioritize which feature gets fixed first? With telemetry its obvious, without it, you're guessing.

Also, gh cli is not about git, its about the github api. In theory the app has its own user agent and of course their LB is tracking all http requests, so not anonymous ever.

1vuio0pswjnm7today at 2:58 PM

Perhaps the more interesting question is why these companies feel the need to "explain" why they are collecting telemetry or "disclose" how the data is used

The software user has no means to verify the explanation or disclosure is accurate or complete. Once the data is transferred to the company then the user has no control over where it goes, who sees it or how it is used

When the company states "We use the data for X" it is not promising to use the data for X in the future, nor does it prevent the company, or one of its "business partners", from using the data additionally for something else besides X

Why "explain" the reason for collecting telemetry

Why "disclose" how the data is used

What does this accomplish

chrishill89today at 3:53 PM

Git relatively recently got an `--i-still-use-this` option for two deprecated commands that you have to run if you want to use them. The error you get tells you about it and that you should "please email us here" if you really am unable to figure out an alternative.

I guess that's the price of regular and non-invasive software.

giancarlostorotoday at 1:15 PM

> I'm curious why corporate development teams always feel the need to spy on their users?

I've repeatedly talked about this on HN; I call it Marketing Driven Development. It's when some Marketing manager goes to your IT manager and starts asking for things that no customer wants or needs, so they can track if their initiatives justify their job, aka are they bringing in more people to x feature?

Honestly, with something as sensitive as software developer tools, I think any sort of telemetry should ALWAYS be off by default.

mbreesetoday at 3:12 PM

> I'm curious why corporate development teams always feel the need to spy on their users?

This isn’t that surprising to me. Having usage data is important for many purposes. Even Debian has an opt-in usage tracker (popcon) to see wha packages they should keep supporting.

What I’m curious about is why this is included in the CLI. Why aren’t they measuring this at the API level where they wouldn’t need to disclose it to anyone? What is done locally with the GH CLI tool that doesn’t interact with the GitHub servers?

figmerttoday at 1:17 PM

While I agree, I personally always opt out if I'm aware, and hate it when a tool suddenly gets telemetry, I don't think Git is comparable, same with Linux.

Linux and Git are fully open source, and have big companies contribute to it. If a company like Google, Microsoft etc need a feature, they can usually afford to hire someone and develop _and_ maintain this feature.

Something like gh is the opposite. It's maintained by a singular organisation, the team maintaining this has a finite resources. I don't think it's much to ask for understand what features are being used, what errors might come up, etc.

show 1 reply
rprendtoday at 4:50 PM

Product work can be counterintuitive. An engineer / PM might think that a design or feature “makes sense”, but you don’t actually know that unless you measure usage.

rienbdjtoday at 4:19 PM

When allocating engineering spend you need to predict impact. If you know how features of GitHub CLI are used and how you can do this more easily.

lo1tumatoday at 3:08 PM

I’m curious as well. Github is one of the rare products out there that get actual valuable user feedback. So why not just ask the users for specific feedback instead of tracking all of them.

dietr1chtoday at 2:49 PM

It's not the devs themselves, but the team/project/product management show that needs to pretend they are data driven, but then resort to the silliest metrics that are easy to measure.

poulpy123today at 4:18 PM

The current IA boom is entirely based on data . The more data you have the more you can train and the more money you make

teeraytoday at 5:49 PM

Because dashboard need to show number go up

raframtoday at 2:55 PM

> Would Git have been significantly better if it had collected telemetry

Yes, probably. Git is seriously hard to use beyond basic tasks. It has a byzantine array of commands, and the "porcelain" feels a lot closer to "plumbing" than it should. You and I are used to it, but that doesn't make it good.

I mean, it took 14 years before it gained a `switch` command! `checkout` and `reset` can do like six different things depending on how your arguments resolve, from nondestructive to very, very destructive; safe(r) operations like --force-with-lease are made harder to find than their more dangerous counterparts; it's a mess.

Analytics alone wouldn't solve the problem - you also need a team of developers who are willing to listen to their users, pore through usage data, and prioritize UX - but it would be something.

stronglikedantoday at 5:13 PM

> always feel the need to spy on their users?

If it's truly pseudoanonymous then it's hardly spying, just sayin'...

Others have answered your actual question better than I could have.

ForHackernewstoday at 2:05 PM

Arguably yes. git has a terrible developer experience and we've only gotten to this point where everyone embraces it through Stockholm syndrome. If someone had been looking at analytics from git, they'd have seen millions of confused people trying to find the right incantation in a forest of confusing poorly named flags.

Sincerely, a Mercurial user from way back.

show 1 reply
high_na_euvtoday at 6:48 PM

git is terrible from ux perspective

>Would Git have been significantly better if it had collected telemetry, or would the data not have just been a distraction?

Definitely

naikrovektoday at 3:58 PM

I'm curious why people think this is in the same ballpark as that something like a private investigator can do. This isn't spying at all.

"oh no, they're aware of someone at the computer 19416146-F56B-49E4-BF16-C0D8B337BF7F running `gh api` a lot! that's spying!"

reaperducertoday at 1:47 PM

I'm curious why corporate development teams always feel the need to spy on their users?

Because they're too shy, lazy, or socially awkward to actually ask their users questions.

They cover up this anxiety and laziness by saying that it costs too much, or it doesn't "scale." Both of these are false.

My company requires me to actually speak to the people who use the web sites I build; usually about every ten to twelve months. The company pays for my time, travel, and other expenses.

The company does this because it cares about the product. It has to, because it is beholden to the customers for its financial position, not to anonymous stock market trading bots a continent away.

show 1 reply
Forgeties79today at 12:55 PM

This is where (surprise surprise) I respect Valve. The hardware survey is opt in and transparent. They get useful info out of it and it’s just..not scummy.

There are all sorts of best practices for getting info without vacuuming up everyone’s data in opaque ways.

show 2 replies
redsocksfan45today at 1:39 PM

[dead]

charcircuittoday at 1:25 PM

Git notoriously has had performance issues and did not scale and has had a horrible user interface. Both of these problems can be measured using telemetry and improvements can be measured once telemetry is in place.

show 1 reply