Readit News logoReadit News
faichai · 2 years ago
Storybook is one of those projects, like Postman, that has completely lost the plot. It's unclear what objectives they are pursuing but in terms of developer experience they seem increasingly developer hostile. The CSF format is an unreadable joke and doesn't play that well with TypeScript, the number of plugins you need to do anything sane is ridiculous, and this telemetry story is a farce - open source should not skim data by default.

I remember writing a super simple wrapper around Jasmine to do the same kind of thing, and was glad when I could ditch it for Storybook many moons ago. But if I was starting a project now I would probably rawdog it again, Storybook just causes too much pain.

Is anyone aware of any similar projects that are more developer friendly?

microflash · 2 years ago
There's also Histoire[1] for Svelte and Vuejs.

[1]: https://histoire.dev/

andrewmcwatters · 2 years ago
What should people use instead of Postman these days? It seems to still be the only decent client for testing particular protocols, like OAuth 2.0. There's no way I'm using curl for that.
morbicer · 2 years ago
It indeed became Sorrybook.

https://github.com/tajo/ladle looks promising if you use React

tilne · 2 years ago
I don’t mean to dismiss the importance of users owning and controlling their data, but isn’t telemetry a valid tool for software projects to gain valuable insights into how their product is being used and thus how to improve it? Yes, it can be (and, probably frequently is) abused. Yes there should be a way to opt-out of telemetry if a user desires for whatever reason. But I can’t help but feel this is posted in the spirit of “telemetry by default is bad” and I don’t really agree.

Full disclosure: this is the first I’ve ever heard of Storybook, so if there’s something particularly gross about telemetry for this use case I’m not aware of it.

have_faith · 2 years ago
> there should be a way to opt-out of telemetry

There should be a way to opt-in. Anything else is egregious.

vijaybritto · 2 years ago
I have the same opinion on telemetry but I have never opted in for any tool no matter how politely they asked and also never seen any other technical person doing it either. So maybe for software developers it doesn't work if it's opt-in and opt-out is a good strategy?
tilne · 2 years ago
That’s fair. If the telemetry really is helpful to building a better product it should be an easy case to make to users.
yomlica8 · 2 years ago
If telemetry is so valuable these companies should give you discounts or payments for enabling it instead of sneaking in like a thief in the night to take it.

A lot of modern software seems overloaded with dark patterns to trick users into unintended actions that make the company more money. I suspect for many companies telemetry's real value is for marketing research and A/B testing the effectiveness of the latest dark pattern implementations.

denton-scratch · 2 years ago
> isn’t telemetry a valid tool for software projects to gain valuable insights into how their product is being used and thus how to improve it?

"Valid" is doing a lot of work here.

Trivially, telemetry can provide insights. That's obvious. But how are users supposed to divine which insights the telemetry is supposed to provide? What if the data-collector doesn't know what they're looking for, and is just scraping everything?

> the spirit of “telemetry by default is bad” and I don’t really agree.

You're entitled to your view. My view is that telemetry (i.e. remotely observing what I do on my computer) is definitely "bad", if I don't consent to it explicitly.

pydry · 2 years ago
I think its value is considerably overstated from the use I've seen made of it.

Executives absolutely love it though. It makes them feel scientific in their decision making and gives them ass-cover when justifying their decisions.

I really think that the ability to collect opt in opinions at strategic points in the app is vastly more effective, not to mention less creepy and invasive.

tilne · 2 years ago
Absolutely agreed with the second point. I’m not sure I agree with the first though. At least not that that’s the main reason telemetry is desired from product teams. (Though obviously telemetry does provide fodder for that type of stupidity for sure.)

To give a concrete example from my past experience, I used to work on a product that essentially knitted a bunch of services from a major cloud provider together to provide a user experience comparable to traditional HPC clusters. We never included telemetry, but we always wanted to in order to gain insight into how many compute queues people were using, how many VMs were in each of them, how many jobs were run over a certain amount of time, how many VMs those jobs ran across, etc. The sole reason we wanted this information was because the configuration exposed for this product was extremely complex, and we wanted to put layers on top of it to more easily enable the most common use cases.

Is this not a legitimate reason to collect telemetry? Is the concern that, even though the dev team wanted the data for legitimate purposes, eventually bad actors will use the capability to start collecting data for more nefarious purposes?

Edit: I see you amended the original to include a statement about opt-in opinions. What do you mean by that?

Cthulhu_ · 2 years ago
Telemetry is fine, it's just that under GDPR and co, it has to be opt-in; the user needs to make an informed decision on whether or not the app can collect and share telemetry.
goenning · 2 years ago
If it truly is anonymous and there’s no PII or any persistent identifier (like a Machine ID) being collected, then GDPR doesn’t apply
justusw · 2 years ago
May I perhaps add my rant 50 cents here and link to my post about this?

https://www.justus.pw/garden/telemetry.html

It’s opt out, and it doesn’t even completely disable it (unless given an env var as well)

The devs know about this:

https://github.com/storybookjs/storybook/discussions/19910

Etheryte · 2 years ago
I took some interest in the concept of hashing IPs to avoid PII issues [0], and it turns out that since there's only so few IPv4 addresses, it's trivial to simply take the salt the project uses and calculate all the hashes. On my laptop it would take around two hours with the most naive implementation, so I don't really think this solves anything. This problem would be sidestepped by IPv6, but we all know how that is going so far.

[0] https://github.com/storybookjs/storybook/discussions/19910#d...

buildfocus · 2 years ago
The classic better approach would be to drop part of the IP address entirely, so it's impossible to recreate the full value.

For example, dropping the last octet (turning 123.4.5.6 into 123.4.5.0) means you can usually still do useful IP things (where in the world do our users come from, very roughly) while making it impossible to track unique users, or to definitively recognize real individuals.

I've seen one octet masking used as standard, probably just because it's easy, but you could do any other similar change you like, optimising for more or less anonymity/granularity as required.

croes · 2 years ago
- Timestamp of the occurrence.

- Storybook unique identifier: One-way hash generated during Storybook

- One way hash of the IP address

I really doubt that that's "completely anonymous data"

bmacho · 2 years ago
Isn't there a telemetry manifesto? I understand that developers want to peek into what their users are doing. That is the fruit of their labor after all. However telemetry became increasingly easy lately, and it is impossible (in theory and in practice) to do it right.

Collecting data of your users is

  - stupid
  - illegal
  - harming your users
  - makes your software a spyware
so in summary, don't do that. Instead, do the exact opposite, and excessively delete any data that you may store. Also make sure that your users are exposed against 3rd party (isp, cnds and such) to the minimum when they check and get new updates. (Randomized update checks over TOR, for example.) They trust you, and allow your program to handle their network, so use it wisely.

Also there are sane methods to know what your users are doing, for example you can buy usage blogposts from them, which you can showcase, and link in the manuals and support.

tjoff · 2 years ago
This is pretty basic stuff, but developers and the HN audience have a hard time to accept that.

Ask yourself what value you got from your telemetry lately. Also how much effort you put into it. Do you even look at it regularly? Does it still make sense?

Maybe consider the legality? Hint - if it isn't opt-in you are most likely doing something illegal. Congratulations! Does it still make sense?

Maybe consider not being a total jackass and insult your users? Does it still make sense?

a_c · 2 years ago
The HN crowd seem to largely against “telemetry”.

I wonder how do you know the things you build is useful if you don’t know it is being, well, used?

On the other hand, back in the server side everything days, I can have more or less all metrics I want from nginx log. I wonder was it equally frowned upon or is the frowned upon an SPA phenomenon?

ricardobeat · 2 years ago
Submission title is a bit confusing: “opt-in” means you have to opt-in, that is, the default is “off”. The sentence “opt-in by default” is the opposite of what I assume the poster meant.

Storybook’s telemetry is opt-out as stated at the top of the page.

This also looks like something that should be posted as a text submission with commentary - simply editorializing a link + title is discouraged in HN.

tjoff · 2 years ago
When discussing the title, as people often do, copy the title verbatim when doing so.

The title is now "Telemetry" and 90% of the discussions makes no sense anymore.

firtoz · 2 years ago
> PSA: Storybook sends telemetry data, opt-in by default
azangru · 2 years ago
Yes, good point; if it's opt-out, it should say opt-out.
ekanes · 2 years ago
Sorta.

The policy is "opt out" but you are "opted in" by default.

Timon3 · 2 years ago
You cannot be "opted in" by someone else. Only you can opt-in or opt-out.

Deleted Comment

Deleted Comment

iamacyborg · 2 years ago
It’d be clearer if they just said “opted-in by default”.
larschdk · 2 years ago
No. To "opt" literally means "to make a choice". If the choice has been made for you, you are not "opted-in", you are in.
core-utility · 2 years ago
"Enabled by default" would make more sense, and imply that it could be disabled.
azangru · 2 years ago
I thought the opting is something that is done by the user. If someone else has opted you in, that's... something different.
croes · 2 years ago
There is no opt-in by default, you are in by default, then it's opt-out, if you can disable it or is out by default then it's opt-in.
Narishma · 2 years ago
In other words, opt-out. Which just proves op's point. The title is at best misleading.

Deleted Comment

kioleanu · 2 years ago
I find the title to be pretty accurate and I am by no means a native speaker
ptx · 2 years ago
"Opt" means to "To choose; select" [0]. If you opt in (i.e. make the choice to go in), that implies that you were not already in. In other words, it implies that the default (when you don't make a choice) is "out", i.e. disabled.

"Opt-in" and "opt-out" describe what the default is, so adding "by default" doesn't make any sense. If you can choose to go in ("opt-in"), then the default is "out". If you can choose to go out ("opt-out"), then the default is "in".

Some companies appear to be trying to twist this into "The choice is yours, and we have taken the liberty of making that choice on your behalf.".

[0] https://en.wiktionary.org/wiki/opt#English

K0balt · 2 years ago
It definitely can be interpreted to mean that the telemetry is opt-in, or that it is opt-out.

(“Opt-in by default” is a double positive, a less common sibling of the dreaded double negative)