I’ve understood this and stopped using Next with all the enabled by default and intentionally difficult to disable metrics collection system they have in Next.
Having it enabled by default, without asking is already evil enough.
Refusing to have a setting you can easily commit into the repository to turn it off is next level.
They trick people with the “just set this env var” to turn it off, and rely on people doing it wrong, forgetting to do it in certain environments, etc. it’s intentionally complicated, when a frigging Boolean setting in next.config.is would be better. They refuse to do it. That’s what evil companies do.
I'd say: everyone thinks they know javascript. Learning a new language is easy (especially with C-like syntax) but not the library. The language having nearly zero standard library makes it change under your feet on every different context. Deno started the initiative to supply what you get in the browser everywhere, but the browser being a GUI environment, the missing stuff need to come from somewhere, like the Deno.listen[0]. .NET is not much better with one million different runtimes with different platform support and capabilities.
I do - .NET (since 5) has been great. And you've got stuff like Blazor for the frontend if you want to avoid JS entirely.
Now, if I do need a lot of interactivity in the frontend, I use Inertia with Laravel, which gives me a real full stack, robust, battle tested, well integrated and very productive solution.
I just tried it myself on a brand new Next project:
$ npx create-next-app@latest
...
$ npx next telemetry disable
Next.js' telemetry collection is already disabled.
Status: Disabled
You have opted-out of Next.js' anonymous telemetry program.
No data will be collected from your machine.
Learn more: https://nextjs.org/telemetry
Note the part that says "from your machine".An issue was crated about it but they just closed without responding: https://github.com/vercel/next.js/issues/31360
1. Last paragraph of that link you posted
2. https://github.com/vercel/next.js/issues/8851
3.https://github.com/vercel/next.js/issues/10713
4. Many similar discussions to this one here on hackernews.
``` NEXT_TELEMETRY_DISABLED=1 ```
in your .env file. I mean it couldn't be any easier.
> They trick people with the “just set this env var” to turn it off, and rely on people doing it wrong, forgetting to do it in certain environments, etc. it’s intentionally complicated, when a frigging Boolean setting in next.config.is would be better. They refuse to do it. That’s what evil companies do.
This is exactly the evil part I'm talking about.
There's an easy way to do this, which is having a config setting. They don't want to put it easy, and provide all these more convoluted ways, because what you describe is an "ideal" which doesn't reflect real life at most workplaces. That's the whole trick. "It's easy, just put this environment variable and ensure everyone on your team does it on their laptops and ensure every staging and production environment also does it and setup checks and scripts to automate it and alarms and improve your processes... it's just that easy".
Can you explain what's wrong with having a friggin boolean in a config file? Like VSCode does? Like any other non-evil piece of software does?
That's what I mean with being evil. That's what I mean with tricks.
Of course it can be disabled, and it "seems easy". That's the trick.
These are people that care more about a high paycheck than the damage they do enabling genocide [1]. I honestly lost all respect for everyone in the company, they care more about optics in regards to "BLM" or "standing with Ukraine" with useless banners but I guess if you're poor and a minority it's alright to be slaughtered for user engagement.
It's disgusting.
[1] https://en.wikipedia.org/wiki/Rohingya_genocide#Facebook_con...
It would be wise to decouple Vercel, the company, and Next, but Next as a framework itself is great to work with at scale.
However, this is the foot in the door that creates incentives that prioritizes their business model over creating a vibrant and healthy ecosystem.
Now that the react dev team and next dev team are closely working together, to the point that the react team is part of the nextjs conf announcements, it really starts to show the wolf in sheep's clothing.
This is not an open ecosystem anymore, it's being run by FB and VC money.
Both target.com and walmart.com are running Next.js (view source → `__NEXT_DATA__`).
The disingenuous comparisons against Vite's performance seem innocent enough, but there's an underlying cynicism I cannot shake that the true objective is to own the ecosystem so they can create leverage against the community of users -- both commercial and non-commercial -- in the future.
I think I would personally feel very differently had they announced that they are investing in Vite, for example.
Meta would have nothing to gain and everything to lose from that, highly unlikely they would be interested.
To make matters worse, now the react and next teams are actively colluding with each other, effectively allowing vercel to have a competitive advantage on feature development for react.
It might seem great now but this is the hairline crack that will destroy the react ecosystem.
I wouldn’t be surprised if vercel tries to buy react and its team.