Hacker Newsnew | past | comments | ask | show | jobs | submit | more mrcsharp's commentslogin

> not make my product worse after I buy it

How can such law be written and how can a lawyer litigate that in court? The way you've phrased it is very subjective. What is an objective measure that a court can use to determine the percentage of quality drop in a product against a timeline?


Easy, mandate that any UI changes be revertable for the life of the product, or until the company goes bankrupt.


> Easy, mandate that any UI changes be revertable for the life of the product, or until the company goes bankrupt

I'm aware people are annoyed with big UI overhauls that seemingly do nothing, but I don't think you understand what it would take to support what you wrote. You're describing something that gets exponentially harder to maintain as a product ages. It's completely prohibitive to small businesses. How many UI changes do you think are made in a year for a young product? One that is constantly getting calls from clients to add this or that? Should a company support 100 different versions of their app?

I understand a small handful of companies occasionally allow you to use old UI, but those are cases where the functionality hasn't changed much. If you were to actually mandate this, it would make a lot of UIs worse, not better.

As much as people want to act like there's a clear separation, a lot of UI controls are present or absent based on what business logic your server can do. If you are forced to support an old UI that does something the company cannot do anymore, you are forcing broken or insecure functionality. And this would be in the name of something nobody outside of Hackernews would even use. Most people are not aware there is an old.reddit.com.


There are a couple of ways you can do this:

1) Have this law only apply B2C.

2) Stop having rolling feature updates except on an opt-in basis. It used to be that when I bought an operating system or a program it stayed bought, and only updated if I actively went out and bought an update. Rolling security updates are still a good idea, and if they break UI functionality then let the end customer know so that they can make the decision on whether or not to update.

For hosted software, such as Google office, is it really that much more difficult to host multiple versions of the office suite? I can see issues if people are collaborating, but if newer file formats can be used in older software with a warning that some features may not be saved or viewable, then the same can be done with a collaborative document vis-a-vis whatever version of the software is opening the document.

My wife recently went 0patch and some other programs to cover her Win10 when Microsoft stopped updating it. She still got force updated two updates having to do with patching errors in Windows' ESU feature that blocked people from signing up for the 1-year of ESUs. She let those updates happen without trying to figure out a way to block them as they have no other impact on her operating system, but it would have been nice if Microsoft have been serious about ending the updates when it said it was.

I am not a programmer, but come on. This was done in the past with far less computational ability.


This entire subthread is full of people missing the point: no removing features.

You can add them, you can even move them, but you don't get to take back something you already sold me, unless I also get to take back the money I gave you.

Really not super interested in excuses and whining. Either support the features you sold me, or refund my money. It really is that simple... and it really should be the law.


You can wish the thread was about that, but that's a completely different conversation, and you're the first to bring it up. I haven't seen any excuses for it. I don't like when I have something simple like an export tool in my app and it's suddenly gone.

But the question is how do you define what a feature is in networked apps? If you play an online game with a sniper rifle that one-shots people, and the developers nerf it, have they taken a feature from you? But everyone else loved the nerf? How do we support you and the players? Let you continue one-shotting them?

If the app you're paying for could message other users, but now they can block you, is the company supposed to give you a refund because now you can't message some users?


Good questions. I could argue that the game rules can reasonably include clauses such as, "We can adjust weapon/defense parameters at any time." But the addition of a blocklist feature is a bit harder to hand-wave away because it could be said to be economically damaging to spammers. I would say yes, if the ability to message everybody is advertised as a feature, the company would need to refund the spammers (and kick them off.) Hopefully the company will learn to provide clearer terms of service next time.

In general I think the best answer to your objections is to require companies to specify up front exactly what features are being sold, and for how long they are guaranteed to be available. The onus would then be on the consumer to evaluate the list of guaranteed features against their wants and needs. Consumers would hopefully learn, over time, not to buy products that don't provide these guarantees up front.

Right now what they (we) are learning is not to trust anything with an Internet connection, because of abuses from a small number of prominent bad actors. Which is unfortunate.


I'm not trying to be overly negative, it's just hard not to write a lot and respond point by point.

> Have this law only apply B2C.

I don't think limiting it to B2C changes much. Now instead of business customers calling and asking for features, you have swaths of people asking for a feature on the internet.

> I am not a programmer, but come on. This was done in the past with far less computational ability

If by computational ability you mean the actual power of our hardware, this isn't really a computational problem, it's a manpower problem. We have faster computers, but our velocity as developers has been relatively stagnant the past 20 years, if not worse.

Believe me, I'm totally sympathetic to the idea that web apps could support older versions. I have thought of doing it myself if I were to get out of contract work. But I'm aware of how much extra work that is, and it would be something I do for fun, not something that most people would appreciate.

> Stop having rolling feature updates except on an opt-in basis. It used to be that when I bought an operating system or a program it stayed bought, and only updated if I actively went out and bought an update

Having an opt-in doesn't really change what I'm talking about. This is lumping different kinds of software together, and it would be helpful to separate them. There are apps that do local work on your computer, apps that communicate with a network, and the OS itself.

Apps that work locally and don't need to talk to a server can have multiple versions, and they often do. That's a solved problem. I have not been forced to upgrade any third party app on my computer. But I have had AI crammed into Microsoft apps and I hate it.

Apps that communicate with a server, and other users, are the source of a lot of issues I'm talking about. Maintaining versions for these creates cascading problems for everyone.

For OS: I'm all for not being forced to upgrade my OS. But if I don't upgrade, the reality is I will miss security updates and won't be able to use newer apps. That was the case in the 90's, and it's the case now.

> Rolling security updates are still a good idea

That's doing some heavy lifting. It's a good idea, sure, but you can't just sprinkle security updates onto older versions. You're just multiplying how long each security fix takes for all users.

> For hosted software, such as Google office, is it really that much more difficult to host multiple versions of the office suite

In Google's case, it's difficult to maintain one version of an app. They kill apps left and right. You're referencing software from the biggest companies in the world. Reddit manages just one other version, and that's because the core of their app has stayed the same since 1.0. If we required all B2C to always support older versions, we'd essentially make it illegal for small companies to make networked services.

Here's how it plays out for a small company:

- Every security fix has to be backported to every version of the app. This is not free, this is extra work for each version. What if it's discovered Google Docs has a vulnerability that could leak your password and has for 20 years? That's a lot of versions to update.

- If the app interacts with other users in anyway, new features may need to support old versions anyway. How do you add a permissions system to Google Docs if the old version has no permissions? What should happen on the old app when they access a doc they couldn't access before? You have to program something in.

- Support staff has to know 10 different versions of the app. "Have you tried clicking the settings icon?" "What settings icon?"

- Internet Guides? YouTube tutorials? When you Google how to do something, you'd need to specify your version.

- Because we are doomed to support older versions in some capacity, companies will just not work on features that many people want because it's too hard to support the few people on older versions.

This is why apps with "versions" usually have support periods, because it would be impossible for them to support everything.


> This is why apps with "versions" usually have support periods, because it would be impossible for them to support everything.

And that's fine. Just leave it that way and stop with the rolling feature updates that a person can't block because the only way you sell your software is as SaaS.


How would that work in real life though? Now every change made to any program must be tested against an ever growing combination of enabled and disabled UI changes.


I don't know, but I do know that on my web browser I can add and remove various of the buttons and right-click menu options. And on linux I can skin my desktop environment in a variety of ways (Unity stopped working, I went to Gnome which was glitching, and now have something very much like Unity used to be in XFCE and unlike a commercial product I paid nothing for this.).


Adding and removing buttons from the UI is vastly different compared to maintaining a system where which features are enabled/disabled affect the underlying data and potentially interoperability.

Do you want to work on Oracle Database [1]?

By the way, I also don't want the software I use to suffer from quality drop due to new forced "features". I just don't think the way suggested here works well.

[1] https://news.ycombinator.com/item?id=18442941


Tough. Somehow IKEA is doing fine without being able to break into my house and change the way my furniture works. Devices and software should not be any different.


As a lawyer I think this could potentially be litigated as a breach of the implied warranty of merchantability.


Would the question still be about measuring the drop in quality to prove that the product (the software in this case) is in breach of the law?


Well, it would probably need to be part of a physical product and not software alone unless the vendor is dumb and forgot to disclaim the warranty (see https://repository.law.uic.edu/jitpl/vol16/iss2/6/).

Second, it’s not exactly about whether the change constitutes a drop in quality but whether it renders the product unfit for its ordinary purpose. The argument would essentially be that the change is a deliberately introduced defect.

It’s a little weird but a plausible claim given the right facts.


> And let’s be clear: We don't need AGI (Artificial General Intelligence). We don't need a digital god. We just need software that works.

We (You and I) don't. Shareholders absolutely need it for that line to go further up. They love the idea of LLMs, AI, and AGI for the sole reason that it will help them reduce the cost of labour massively. Simple as that.

> I will use what creates value for me. I will not buy anything that is of no use to me.

If only everyone was thinking this way. So many around these parts have no self-preservation tendencies at all.


I don't think any of the people at the top actually believe world's-most-average-answer generator is a path that leads us to AGI. It's just a marketing boogeyman and a handy excuse to remove any remnants of agency that the workforce currently has.


Nobody is using tools that create no value for them, that’s an absurd argument. Many are overclocking their AI use because of their self preservation instinct.


A bit more nuanced: nobody is using tools that have a perceived negative value.

People pushing AI desperately want to convince us the value is positive. 10x productivity! Fire all your humans!

In reality, depending on the use-case, the value is much smaller. And can be negative thinking about the total value over long term (incomprehensible shoddy foundations of large / long running projects)


It's a little alarming to hear from people whose managers have actually told them they expect 10x as much output. How could any competent person, no matter how optimistic, think it works that way? I guess the answer is in my question.

I'm thankful at the moment that I work for a boring company. I want to leave for something more interesting, but at least I can say that our management isn't blowing a bunch of money on AI and trying to use it to get rid of expensive developers. Heck, they won't even pay for Claude Code. Tightwads.


Yeah, that’s right. I’m reacting to the author’s statement (I won’t use tools that have negative value) to assert that it’s essentially a vapid statement. I wish the author made arguments such as yours.


Have you ever met a smoker?


Swap PHP with C# and we're in full agreement.

I'm not a CSS expert but being able to do so much with it before having to reach for JS is fantastic.

And with Blazor, some of that JS sprinkle isn't even needed anymore.


Then you're in a bubble.


Not to put too fine a point on it, but you both are in a bubble.

They're just different bubbles.

Liberals and conservatives have methodically and deliberately avoided holding their leaders accountable for decades. The only people who can't see that, are, frankly, liberals and conservatives.

What we have now is an opportunity to sweep everyone from Trump on down out of office. Anyone who would work for Trump or Clinton should have their judgement questioned at a minimum. And they should pray we don't look any further into what they've been getting up to.

This is a golden opportunity to scrub the walls clean and put in new people en masse. But I'm not naive. I know the corruption of the incumbent power brokers and parties will undoubtedly win the day. You can bet your bottom dollar that conservatives and liberals are cooperating and they've got the courts, Homeland security, CIA, everything.. out cleaning up for them. I just wish they'd get what's coming to them for once.


The Dems have the progressive caucus primarying moderate candidates constantly. The GOP has Massey and Paul


Thank you!

Cannot count the number of times people forget how powerful algorithmic bubble making is. It isnt a “you are in a bubble so ur dumb” it is more of, “all of our information is algorithmically fed to us be aware!”

To add to this, I have a friend who has two kids. One is lefty trans and the other is becoming a christian conservative. They are Indian zoomers. Two totally different algorithms at work. One got the Charlie and the other got Hassan. Really makes one wonder what is in your own information feed.


> you both are in a bubble.

I did say the "uniparty", right? So on what basis do you make this claim?

In case you're not familiar with the term, it refers to both the Republicans and the Democrats, viewing them as effectively one party with two factions (with the former merely trailing behind the latter, typically).

In this particular case, MAGA is showing that it's okay with hypocrisy, because, hey, didn't Democrats rationalize Clinton's misdeeds and throw his victims under the bus for the sake of the party?

So, yes, the uniparty is rotten.


Think of it in terms of semantics. An object has certain properties that are immediately obvious and available: color, height, width and so on.

Properties in C# are for such values that are immediately available or at least extremely cheap to retrieve or form. Seeing a property tells me that getting the value is a very small op and has no side effects.

A method on the other hand is like asking/telling the object to do something that can take a bit of time and resources to do.

So if the value you are trying to read is expensive to get and isn't immediately available then the method approach works and as a developer I'll avoid making multiple calls to it unless absolutely necessary because the method is also a possible indication that it might change state.


That’s a good argument. I had not considered properties in those terms before, and have historically been skeptical of them in many languages.

I’m partly convinced now! I still worry a bit about property authors who don’t follow the “cheap, non-side-effectful, externally cacheable” rules, though. Perhaps there are linters in property-ful languages which would help with that.


> I still worry a bit about property authors who don’t follow the “cheap, non-side-effectful, externally cacheable” rules, though. Perhaps there are linters in property-ful languages which would help with that.

Definitely a problem when a developer goes rogue and breaks this rule. I'm not sure if there are linters that helper with this. I don't think either VS, Rider, or the .NET Compiler include any analyzers that complain about this. If they do, I haven't seen the warnings before. I generally tend to enforce this during code reviews with my team.


I've tried that and got heavy push back from other developers funnily enough.


Why? How does it affect them if you decide to use your allowance to donate?


Not affect them personally but more around what value is the business getting. We agreed to disagree :(


The value the business gets is continued development of free resources that they depend on. Not very hard :)


C# has AOT compilation which creates a single, native binary. This has gotten so much better with .NET 10 and since the introduction of source generators to deal with reflection issues.

Also, check out nanoFramework for a .NET runtime that can run on MCUs like the ESP32 [1]

[1] https://github.com/nanoframework/Home


Cool, I didn't know this. I see it's been a thing since .NET 8, but it also looks like something that is perhaps mostly meant for hobby projects? Or maybe I'm getting that wrong.


Definitely started that way for me. It was cool to see a console app written in C# be compiled straight to native and run. Since then, a lot of work has been done to make AOT viable for more workloads.

I wouldn't use it for an MVC application yet because a lot of features won't work but there are plenty of other areas that are using it now and one of the biggest examples is Avalonia apps compiling to native.


This 100%. I hate the trend of UX/UI that got unleashed upon us in the last decade of the web. Everything is scaled up for touch interactions and has to have fancy animation and very "comfortable" spacing around elements.

I wish we can go back to UIs that focus on information density and usability. I love looking at Japanese websites because of this.


Why do you hate it?


I found it to be a headache trying to get LE Audio to work on my Windows machine. It should provide good audio quality when the microphone is in use but:

- I have to have BLE v5.2 at least on my Windows device - It must have isosynchronous audio support (which I believe is an optional feature in the spec)

- The headset must have the same features too.

Then it is a question of which audio codecs are supported on those 2 devices. It's quite messy to be honest.


On Linux it is even worse: there is apparently no USB dongle that would support isochronous audio and recent enough BLE versions. Only some very limited selection of newer PCIe Wi-Fi cards.


https://www.sennheiser-hearing.com/en-UK/p/btd-700

Works on SteamOS out of the box and with all the features as far as I can tell.


That dongle has its own Bluetooth stack and is exposing a standard audio device via USB. Indeed that currently seems to be the only way, but then the stack need config input somehow, which in case of this one requires a proprietary Win/Mac Software.


It is. But you won't get such an answer from the "important" people because they are busy imposing useless laws every other day.

The public is unaware and unwilling to engage in such discussions because there isn't much pain being felt yet from the current structure of the economy.


If the people who have the most to lose don't think that something is in the national interest, then is it really?


They're also the people with the most ability to jump ship should something happen.


aka zero skin in the game, and, worse, a lot to earn by doing favors and pushing for quick profits for their friends in the corporate and finance worlds


It's the old world old money version of cashing out your tech bucks and retiring to Colorado.


Disagreements about what is of national interest is always going to be a thing.

In my opinion, having a country that doesn't have the means to build, at the very least, what is needed to keep its economy going is not in a good spot at all.


"think" is doing a lot of heavy lifting in that sentence. Are the people really thinking? I don't think they are.


Those people are thinking just fine. With their wallets.

Why would they prioritize national interests? Because they were elected to do so?

After all they know they were actually elected because people were only given a couple of establishment approved choices, and in their naivety they happened to pick their side this time (after all they alternate between the two choices all the time).

They also know they'll be fine and have their salaries, extras, and nice corporate post-politic sinecures whetever their performance. Just see Blair.


>After all they know they were actually elected because people were only given a couple of establishment approved choices, and in their naivety they happened to pick their side this time (after all they alternate between the two choices all the time).

Australia has ranked choice voting and mandatory voting. What else could be done to “give” people more choices?


As an Aussie:

* some kind of proportional representation in lower houses or parliament (see e.g. New Zealand for a Westminster-compatible solution, or Switzerland for something more radical while still working with seats allocated by state populations).

* referendums on laws/treaties, and popular initiatives to propose constitutional changes and/or new laws (like in Switzerland or various western US states).

* reinvigoration of the federal principle that things that can be done by the states (or the local governments) should be done at that level, rather than the feds sticking their nose in everything (see, again, Switzerland).


>Australia has ranked choice voting and mandatory voting. What else could be done to “give” people more choices?

None of the above are even close to giving people choices.

Australia has a seat-by-seat majority-based system that favors the bigger parties (HoR).

Choices come when there's direct proportional elections.

Choices come when you don't need campaign support, advertising budgets, rich sponsors to be elected.

When they media don't sway to their (owners) favorite parties and candidates.

When you're not elected on an huge laundry list of a program, and then left to do whatever and backtrack on any and all promises until the next election with no consequences.

When there are direct referendums for major issues, regularly, not just to change the constitution in rare cases.

And many many other things besides, those are just some big ones.


> Why would they prioritize national interests? Because they were elected to do so?

How about because they are human people like you and me. You don't think you are a bad guy who always does things only in your own interest right? So why do you think they are like that?

How about if they really screw people over they know there will be mass protests

etc.


>How about because they are human people like you and me

Oh, sweet summer child.

>You don't think you are a bad guy who always does things only in your own interest right? So why do you think they are like that?

Because I wasn't promoted and passed all the exams of a system designed to promote sociopaths, party interests, and corporate/financial/M.I.C. interests, nor did I have the sociopathic self-selection to want to get to the highest offices of power.


Neither was Jeremy Corbyn, but he would have been Prime Minister if enough people had voted for him. Say what you will about him (I am not a fan), but he is not “establishment approved”.


That's why he "didn't pass all the tests" and was undermined both by the media and by his own parties, and various establishment interests.


You said:

> because people were only given a couple of establishment approved choices

Unless you think Jeremy Corbyn was establishment approved (!), this is clearly not true.

I’m not really sure what to make of your latest comment. Is your preferred world one where the media never criticize your favored politicians and the left wing of the Labour Party ruthlessly crushes internal dissent? If that’s what it would have taken to make Corbyn Prime Minister, then count me out.


Like people were not feeling the pain in the first half of the XXth century when we decided to own our nuclear stack? It's a matter of political courage.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: