As much as people despise dealers, they offer competition and value that would disappear if people are just buying their cars directly from the manufacturer. The easiest way to mitigate is require the manufacturer's website to show prices of similar vehicles across nearby dealers. And to do so in a way that a consumer can make an informed choice. It doesn't stop them still clicking "order" from the manufacturer, but if they know there is the same / similar car for sale up the road for $5000 less then they may choose that instead.
The Switch 2 pricing was announced well after Trump was elected, and undoubtedly included *some* additional markup for tariff increases from the get go, since he had been talking about tariffs the whole campaign, even if it has been a continual game of roulette trying to predict the *exact* tariffs. So it makes sense that the Switch 1 prices would be more sensitive to the tariffs than the Switch 2.
the reality is that you can write very safe C/C++ code if you want to.
You could write safe C too if you want to. You could write safe assembly too if you want to. Unfortunately real world code is replete with errors caused directly by C++ language issues. And even if someone might strive to write safe C++ the compiler doesn't give a damn if it is or not. It might compile because it's safe. It might compile despite being unsafe. Forgot to lock that resource properly before accessing it from two threads? Storing a reference to something deleted elsewhere? LOL C++ doesn't care. Perhaps that is why there is an extremely lucrative after market of static analysis tools because the language sucks.
What Rust offers is the idea that you can achieve perfect memory safety without sacrificing performance. In practice, this is much less useful and bit based on exaggeration, but it makes for an excellent sales story.
It doesn't promise "perfect memory safety". What it does offer is a compiler that strictly enforces ownership and borrowing and will fail with a useful error message rather than allow the error to crash your code at runtime. Any programmer worth their salt would appreciate catching issues early on than suffering the consequences later.
But maybe you love it when your code has some random crash and it takes you hours or days to discover what the cause is especially when it was a pissed off customer who first found it. Ah but you write safe code so that never happens to you and if it never happens to you it must never happen at all right?
They would have been better off defaulting to LAN, but offering cloud for people who really wanted it. Maybe they could even have charged a $ amount for it, or bundled it up in some kind of subscription service that included some tangible benefits like free / discount filaments & parts, print farm analytics and other stuff.
As for the mobile app, cloud shouldn't be necessary but I assume they thought the phone and printer could be apart on different networks so they used MQTT or some other pub sub bridge to send messages between the printer and app.
So a saner course of action would be: "hey we can't continue to support cloud unless you pay us but we're leave LAN functionality alone". Even better: "hey we can't continue to support cloud unless you pay us, but here are the APIs if you want explore your own choices". Even better: "And we'll put the boot loader keys and sources in escrow just in case we have to shut services down entirely".
The moon may be smaller than Earth, but it's further away.