587 comments

[ 3.1 ms ] story [ 267 ms ] thread
"then the internet came around and things changed overnight" except it came around while software was still distributed on floppies and it took a decade or more before online distribution was the norm.

That said, I agree with the article! I'd much rather not have updates, unless they bring fixes to bugs that I actually experience, which happens somewhere between seldom and never.

I think in an ideal world, updates would be either optional major updates (UI changes, workflow changes, etc.) and minor updates (bug fixes, tweaks, etc.).

Then a company can maintain those multiple major versions until they phase out support.

CD software had this down pretty great. You could actually rely on a program not being pulled out from under you with an update.

> Then a company can maintain those multiple major versions

That sounds completely unrealistic and inefficient for everyone involved.

(comment deleted)
No, that sounds inefficient for one of the parties - the provider. The provider isn't using the software to get work done, and doesn't incur training costs, etc. The provider's pet efficiencies cost the users real money (in the "a million here, a million there, and pretty soon you're talking real money" sense).
I can’t imagine any software update so drastic as to require ‘training costs’. Most reasonable people can figure out where a menu item has moved to.
> I can’t imagine any software update so drastic as to require ‘training costs’.

Both Windows and Office were notorious for this.

> Most reasonable people can figure out where a menu item has moved to.

As it turns out, many people who do low skill computer work do not adapt to change well.

Maybe if you use that program daily.
Have you ever used any complex software, especially aimed at specific skills / occupations? It's like they throw darts at balloons to randomly select which UI elements are being moved each release. I've used Word every day for years and I still struggle to remember where uncommon functions are in the ribbon. Going from an older Photoshop to the most recent, finding the correct icon means I have to stop and figure out what it is now, slowing me down. I flat out cannot figure out the new Photoshop start up interface and immediately reenable the old one. Every person at work who upgraded to Office that changed the Save UI to the online shit absolutely flipped their shit.

Software companies are forever forcing unwanted changes on users who use the software all the time, and it absolutely and costs time and money to retrain staff to be able to keep doing the work they were already trained to do. No user or company wants existing functionality changed

I'm not sure that's unrealistic. Once upon a time software and services were supported for multiple versions back. Usually two major versions, the current and the last. (Granted, this was as a technical user, using technical tools.)

Now everyone wants you to use an auto updating piece of software (such as browsers), or cloud based services.

I'm give you that it was inefficient in the old days, but it also allowed users to purchase a piece of software (like Photoshop) and use it, with limited and then no official support, for as long as you'd like.

That's harder and harder to do these days.

Some automatic updates should really just be different products. The most obvious one at the moment is Android Firefox is getting a big automatic update that, for a lot of people, will be a very big downgrade and an unfriendly UI change.

But Mozilla doesn't want to maintain security patches for X different products. And that's true of most vendors. This model of computing where all users are always on the latest version makes security patching and bug fixing a lot more straight forward.

If you use a web application, this is the model you've always had.

Is that why Mozilla sent notification spam to announce that the app will be updated?
Correct, since a large number of extensions will stop working, etc... might as well tell people they're in for pain?
The only notification I got was that the app was updated.
Same for me, I would've been happy if they atleast allowed sideloading extensions by flipping a switch in about:config.
I don't know about anybody else, but I know I have a huge motivation cliff when it comes to continuing to pay the consequences for old mistakes that I have already sacrificed to make amends for?

How do I sell my coworkers on making a change that's the Right Thing to Do when we all know damned well that we're still going to have to support the Wrong Way for another four years? I might as well grow thick callouses, learn to Embrace the Suck, or self-select out of this project.

If we could make such large changes while preserving the old behavior, I think we'd get away with it, but there are limits to how much you can refactor, and people like to hitch their agenda to something with momentum, like a rider on the Farm Bill, and the architects of the change might have ulterior motives of their own.

I don't know about anybody else, but I know I have a huge motivation cliff when it comes to continuing to pay the consequences for old mistakes that I have already sacrificed to make amends for?

Sometimes, you just have to be professional and deal with it, if you want to have a quality product and look after your users.

We'd never accept a doctor or an engineer taking this attitude. If they discovered a mistake with potentially serious consequences in their earlier work, we would expect them to make it good as quickly and safely as possible.

Software makes a crazy amount of money and has a huge impact on billions of lives every day. Frankly, we as devs enjoy good and often very well paid jobs. I don't think we should accept that attitude in our industry either. If anyone doesn't like that, maybe invest more in writing better code in the first place and in testing before going into production so there are fewer problems to revisit!

But Mozilla doesn't want to maintain security patches for X different products.

Are they really different products (versions), or are they just branches off a common tree and share so much code in common that it would be close to trivial to apply the fix to them all? My experience with security-related patches is that they're almost all extremely localised --- a missing check, an off-by-one, etc.

It seems like far less effort to do that than a massive rewrite of the UI, in any case...

The issue with this is that lets say in patch 1.0.5 someone used that missing check to get another feature working.

Now if you apply the security fix to 1.0.5 the other feature breaks.

Fennec (the old Firefox for Android) was, as far as I'm aware, a different codebase compared to Fenix (the new one). As in, Fennec was hosted on hg.mozilla.org using the same source tree as desktop Firefox, and Fenix is hosted on GitHub, if I understand things correctly.
Fenix embeds Gecko via GeckoView, which resides in mozilla-central.
I updated and didn't realise a big release was on its way. I hate it and I've swapped to Brave
I did the opposite. I switched from Brave to Firefox. Only reason I was running Brave till now was because Firefox's UI felt slow to me. Now I can get real ublock origin and the UI isn't laggy. Even if the features are less than before, it can replace Brave browser whose only use was "A browser that isn't Google Chrome, having adblocking support".
> If you use a web application, this is the model you've always had.

And good lord do I hate it

Now, not only do I have little-to-zero control over the bits on my machine, but I'm fully locked-in to whatever shenanigans Company X has decided is appropriate for me

(comment deleted)
I was using Firefox Nightly occasionally which already had the controls on the bottom so the UI jump wasn't hugh issue for me, although I still hit my muscle memory habits.

Unfortunately the upgrade also cleared all previously saved form data for me. I know it is cache stuff which could be gone at any time, but still a little glitch in the experience.

Yeah, add me to the list of people who are very unhappy with the forced downgrade of Firefox. There was no reason to move the URL bar to the bottom, it makes tab switching more fiddly, previews of tabs seem worse, and I didn't ask for, want, or agree to any of this.
But Mozilla doesn't want to maintain security patches for X different products. And that's true of most vendors. This model of computing where all users are always on the latest version makes security patching and bug fixing a lot more straight forward.

This is much less of a problem if you only release new versions at a slower pace, as we used to. There is no good reason that something like a web browser needs to do major updates every month or two. For most users, having a major release annually with just point releases for security fixes in the meantime would be more than sufficient.

I've worked on plenty of professional software that would release a new major version perhaps every 1-2 years and seemed to have no difficulty with backporting security patches and sometimes other important bug fixes for several versions. It's not rocket science. It just doesn't fit nicely into the modern dev culture of pushing everything forwards as fast as possible with little regard for stability or backward compatibility and with the ratchet effects from data format changes and deploying updates to the software seen as positive things.

> should never update a user interface without allowing the previous one to be used as the default

I don’t understand why people are so precious about their UI and workflow. They obviously managed to learn and adapt to the current UI. Why can’t they adapt to a new one?

If you’re super sensitive to something as trivial as a change to a menu location maybe that’s a sign you should be automating whatever your workflow is.

Somebody sneak into this guy's office and move his 'debug run' key from F5 to F9.
I don’t use keyboard shortcuts TBH.
This may explain why you don't see the harm in making workflow-breaking interface changes. More experienced operators who use expert interfaces (such as keyboard shortcuts) are much more badly inconvenienced by interface changes than operators who search the menus for each operation anyway.
> More experienced operators

Lol I manage to operate my computer to do advanced things just fine and still cope with update.

I feel you’re missing the point here. Many power users opt to use the keyboard as the primary way of interfacing with the computer, and any change to that interface is highly disruptive and causes huge losses in workflow efficiency. This is the real complaint about UI changes - they ruin efficiency.

Using the keyboard is much more efficient that using the mouse, as the mouse is an imprecise input device - it requires a feedback loop to operate (you move the mouse, see where it is, continue to move it, observe again, etc, until you move it over the item you want). A keyboard is on or off - :wq does exactly two things extremely quickly - three keystrokes and you’ve saved and exited from a text editor. You can do this faster than the time it takes to move your hand to the mouse, let alone begin to move it.

Fine, swap your keyboard layout to Colemak (or, if you use that, to Dvorak, or just randomize the keys.) It's just a workflow/UI change, you'll get used to it.
Somebody sneak into this guy's office and remove his 'debug run' buttons and make it only accessible using keyboard shortcuts.
If you're not using keyboard shortcuts, then there's much less ingrained in your muscle memory. You're using more conscious effort to perform tasks which means that when something changes you don't need to put forth extra effort to override the subconscious.

That gives you more adaptability, but the downside is lower efficiency in terms of both speed and energy expenditure.

> That gives you more adaptability

Right and also less time rote learning cryptic key combinations like I’m learning a book of spells.

> but the downside is lower efficiency in terms of both speed and energy expenditure

Thinking time is 99% of computer time in my experience. Keep brain space for that rather than the magic key spells, is my philosophy.

(comment deleted)
How do you program without any keybindings?
Very slowly, I assume. From their profile, they do research so maybe they do spend all their time thinking about code rather than writing it, which is great for them, but doesn’t reflect what the vast majority of devs do.
I use control-C, V, Z, S, that’s about it. What key bindings do you think are required to program? Some people program using voice input and no keys at all!

If you can write words in a file you can program.

How about moving your mouse from left to right every week? Or switch keyboard layout?
Because for the most cases it is just a friggin' tool and routine the user had accustomed to. I do not want to hunt for the same item in a different place. Think of it as if your screwdriver used daily will have suddenly started to change shape every once in a while.
Most people aren’t really complaining the new UIs are worse - they just don’t like any change at all. It’s silly stubbornness.
The GP isn't saying the new screwdriver handle is worse either, just changing repeatedly.
Yes, that's kind of the point - we're not saying that the new UI is worse, we really are saying that without a good reason/benefit, we don't like any change at all.

By default, changing the expected behavior is bad, there needs to be some benefit that justifies the change. It's not silly stubborness, it's pointing out that it is harmful and counterproductive to disrupt people's workflow. Variety is nice in food and entertainment, but in productive workflow predictability, reliability and lack of variety are very, very valuable. Saying "the new UI isn't worse" is not sufficient - is the new interface significantly better? Was the change required to enable something that I want which wasn't possible with the old interface? In that case, sure, make the changes - but not otherwise.

Every change in the interface that's not 100% backwards compatible incurs a nonzero cost, effort and inconvenience. Sure, people can and will adapt, but requiring them to adapt requires them to spend a scarce, valuable resource - attention. If a tool doesn't do the expected thing right away because it has changed, then it has failed, it has distracted the user at a time when they wanted to do something else instead of playing with the tool. That's the key difference between a toy and a tool; a toy is useful for it's own sake and should draw attention to it, while a tool is useful for doing particular things and must get out of the way, allowing the user to focus on the job or the product instead of the tool.

If the UI is just different and not substantially better, that is bad.

Learning a new interface takes effort.

>"...they just don’t like any change at all. It’s silly stubbornness"

Why would I like a change in routine unless it brings major benefits? You want to annoy customers because you just feel like it? Now this is what silly is.

> because you just feel like it

Not sure where you got this idea from.

Same place where they serve "silly stubbornness".
When a new UI trashes my workflow-- particularly when the new UI is slower / lacks keyboard shortcuts / causes my old workflow to do something different and unexpected-- I feel exceedingly disrespected by the programmer. I'm the user. I matter. Without users your software means nothing. Don't be a jerk to your users.
> I don’t understand why people are so precious about their UI and workflow.

We develop such strong preferences with workflows because for these programs, we are using the computer not to be amazed and dazzled with the device itself (like we are with blu-ray movies, PC games, the Mystery screensaver), but to get things done. From programming, to CAD, to video editing, to writing, to budgeting and more.

Would you like it if your car buttons moved around on the dashboard for no reason? Rebuttal: Tesla has most stuff in dashboard, controls move around. Counter-rebuttal: that guy who crashed his car trying to figure out how to turn on the wipers.

Would you like it if your thermostat settings were not remembered? Rebuttal: updates don't necessarily mean that settings are lost. Counter-rebuttal: I concede that, but often them being lost is the case.

Would you like it if you learned to play a musical instrument and one day you picked it up to find out it had added/removed/multiplied/moved valves/strings/keys/reeds?

The UI is a physical interface between human and computer. It's a representation of tools. A direct analogy here is to physical tools. Imagine you were a carpenter, on a tight schedule and with commitments to deliver. Every few months, you walk into your workshop, and not only have your tools been rearranged, some have been swapped out for different sizes, and some even removed outright. How is "automate it" a good response here?

Also, what automation would you propose that handles these changes without introducing its own update requirements? If it's a macro tool separate from the application, the macro targets may well have changed, had additional parameters added or removed, etc. You'll have to run through them all to ensure they still work, with test cases ready ahead of time, or else you've lost just as much time. And if it's automation in the program itself, like a scripting language, said automation may just as easily be broken or removed by the updates.

The problem is not changing the menu location but telling people where the new location is while incurring the lowest operational overhead.

Teaching people new things is expensive, especially if you already taught them how to do it a different way. Think of all the support tickets that come in with a menu change and the fact that even minor UI updates will require updates to training documents or e-learning materials.

Yea it's easy for one person to learn and move on. It's expensive for hundreds of people to do the same thing at the same time because you moved a form to a different tab in the dashboard and no one reads docs.

I don't understand why programmers are so precious about their choice of text editor. They obviously managed to learn and adapt to their current choice. Why can't they adapt to a new one?
Well I guess you’re trying to mock me but I also agree with this.
I was attempting to reframe your question to apply to a rough guess of who you are, and what tools you spend most of your life using, based on the fact that you are (a) commenting on HN, and (b) display no sympathy with the plight of a user who's had the UI they stopped having to think about ages ago suddenly change out from under them. Probably with deadlines looming that have no room for "everything takes twice as long for a while while we get used to the new setup and the fact that one key we regularly hit as part of the process now deletes half our work".

Is that mocking you?

I mean, a lot of programmers have spent their entire lives either using Emacs or vi keybindings. It's pretty unreasonable to ask them to change. Mentally switching to an entire different set of editing commands is incredibly difficult and time consuming. I've been using Emacs for over 15 years and I don't know any other keybindings. If I had to switch to vim, it might take me years to get comfortable.
Funny. I'm trying to adapt my Java workflow from eclipse to idea. Again. And I know that almost everyone agrees idea is better than eclipse. And some of eclipse's major features are broken enough to actually hamper me professionally - looking at you, maven integration. And both tools seem at least equally capable, just everything is named different and placed somewhere else. But eclipse is now about 20 years ingrained in me.

So every 1-2 years I try to live with idea for a month or so. Sometimes even compromising by switching to the eclipse keybindings. And I know my productivity will drop while adapting. So I sweat on that bloody superior idea interface for 2 weeks, then some super hot emergency drops in, and I do 'only this one' in eclipse. Then switch back to idea. After 2 of 3 emergency's, I give up and go back to eclipse. See you next year, idea.

I know this is stupid. I'm happy using emacs, vscode, notepad++, even vi, for almost every other programming language, except Java. This can't be healthy. And yet...

For me InyelliJ just can’t get it quite like how I have Eclipse set up, and it’s somehow uglier than Eclipse…
Hey, you know your car that you brought in for an oil change? I switched the turn signal controls with the wipers. No charge, and no givebacks.
I really think I could adapt to that easily and wouldn’t mind.
Then you are in the minority. Most people like having certain predictable arrangements in their life and get annoyed when they have to adjust to a new arrangement arbitrarily. Maybe that's actually not the case for you, but I suspect it is more than you think, and I guarantee it is for 99% of people in general.
How about gas and break being switched? That really wouldn't cause problems for you?
You may remember when you don't need to pay much attention, but will fail in a complex situation where you neeed the turn signals most. Because you're paying attention to other things in traffic.
I didn't choose my example at random. See, I drove a rental car in Japan once. Since they drive on the left, I knew the driver seat was on the right, but what I didn't expect was the controls also swapped sides.

I had, without a doubt, the cleanest windshield in all of Hokkaido.

> They obviously managed to learn and adapt to the current UI. Why can’t they adapt to a new one?

Let me put it like this: would you rather relearn the same skill over and over again, or build upon existing knowledge by learning new skills?

Watch an experienced vi user make changes to a document. That's not magic that you're seeing, it's someone who is modifying a document as fast as they can think because they are proficient with the software. That's true of pretty much any software that was designed with productivity in mind, it's just that vi users like to show off. :)

Some software is also impossible to learn in depth if you take a learn today, gone tomorrow approach. Consider a rather popular application like Microsoft Word. There was a lot of resistance to the transition to the ribbon bar. A good number of people who resisted the change did so because they spent a great number of years learning the program in depth. There's a lot of stuff crammed in there that the vast majority of people aren't even aware of and even experienced users will only touch on every few years. With timescales like that, a sufficient number of changes to the UI means that the skill is useless once it has been learnt.

Imagine that they upgrade the touch UI in your car, and it's a complete redesign, but only on one specific screen in a sub-sub-sub-menu which you usually only open while driving.

Now you are speeding with 150km/h down the highway and voila, the screen is gone (it's there in fact, but it's not the same screen any more).

Have fun poking with this new updated UI and workflow.

BTW, this example is exaggerated of course, but not completely unrealistic, and it's easy to find similarly disruptive situations triggered by a UI or workflow change.

Oh, you are far closer to reality than you think, this isn't all that exaggerated. One particularly memorable instance of this was OTA update of on-board controller in a vehicle, while in motion! Fortunately we spotted it during DD, the consequences could have been terrible.
"I don’t understand why people are so precious about their UI and workflow. They obviously managed to learn and adapt to the current UI. Why can’t they adapt to a new one?"

Why constantly adapt to a new UI that does the same thing in a different way? That causes a lot of mental churn without any benefit.

Well, why don't you automate this? https://twitter.com/ChrisGSeaton/status/1234924701513900032 You're annoyed about "[using] up precious minutes of [your] life" when you're in the middle of typing a command and have to context-switch to skimming some barely-related information to accomplish something that should be simple. That's how many of us here feel when we're trying to get a familiar task done, but the UI is frequently reorganizing itself, so we have to stop and look around for something that should be simple.

(Let it be a sign of how bothered I was by your cavalier attitude, that I dug through tweets.)

> by your cavalier attitude

I’m literally a cavalier so that’s fine by me.

As a user of software, I couldn't agree more with the OP that automatic updates:

> should always keep the user centric

> should be incremental and security or bug fixes only

> should never update a user interface without allowing the previous one to be used as the default

> should never be used to install telemetry or spyware or to re-enable it if it was previously switched off

> should never be used to install other software packages without the users explicit consent and knowledge

> should never change the format of data already stored on the system

> should never cause a system to become unusable or unstable

> must allow a revert to the previous situation

> must be disablable, in an easy and consistent manner for instance on mobile devices

> should never cause the system to become inaccessible or restarted without user consent

> should always be signed by the vendor to ensure that the update mechanism does not become a malware vector

> should never cause commercial messages or other fluff to be included

> should never cause configuration details to be lost

> should always be backwards compatible with previous plug-ins or other third party add ons

I agree: Software vendors "should" and "must" do all these things when updating software on my computer without my permission.

But often they will NOT, because their economic incentives are frequently stacked AGAINST it.

For them, it's often cheaper or more profitable in the short run not to do any of these things.

> Should not use features like "e-fuses" to make irreversible modifications to my hardware

I am very reticent to update some embedded devices because not only to I risk losing functionality, losing my preferred UI, etc, but the update may also make irreversible changes to my hardware. Even if I am able to wrest control away from the manufacturer (e.g. "jailbreak" the device) I may not be able to revert to a prior version because the hardware identifies itself as being physically unable to run the old software.

> Even if I am able to wrest control away from the manufacturer (e.g. "jailbreak" the device) I may not be able to revert to a prior version because the hardware identifies itself as being physically unable to run the old software.

coughs in Nintendo Switch

It seems the Switch has 64 burnable fuses. What will they do after the 64th update?
Make a new console. The Wii doesn't get updates anymore.
But does the Wii need updates? I mean we still play every once in a while and have never updated it.
Right now they're at 36 releases, gonna get interesting for sure
Does every update require a fuse to be blown?
No. They can choose if it's a minor-enough update and not blow a fuse
So to sum that up, Johnny Won't Upgrade because like as not, the writers of the updates are The Enemy.
That is the modern tech business model. Rope in naive people with excellent services offered at a loss or at cost, wait for them to develop dependence, use nazi cult-think psychology to inculcate irrational loyalty to the platform, then take everything away in a major software update and sell it back to the poor fools for big profits.
It's possible for developers to think they are shipping must-have features _and_ for users to see that as "messing up all my menus" and "disrupting my workflow".

Inevitably some users will complain about changes in every new update while others complain about a lack of eagerly awaited new features and bug fixes. You cannot make everyone happy :/

I'm sympathetic to the idea that workflow/ui changes should be explicit updates (or on beta opt-ins) with security/crash fixes being automatic. This model makes the most sense for professional tools that people make a living from (e.g. CAD). To be sustainable, software with multiple supported major versions will cost more.

Don't force updates on people. For the ones who want to update asap they should be able to do so. I prefer to make sure a major update is not going to fuck my system then I will update as well, it's happened to me before multiple times and I am forever hesitant about this. It's also happened to me to get featured removed when updating so if something is working allright I will hesitate updating for a while.
Context matters. So 3d sculpting software or CAD do not deeply need automatic updates, although it can greatly reduce support requests (e.g. something in the OS changed, software is now crashing, need to install update).

The state of play in 2020 however is that operating systems and browsers 100% need automatic updates for security issues. The reason we have them is because of all the bad things that happened when we didn't.

There should then be a very small switch hidden somewhere deep in the system where people like you who know what they are doing can turn them off. For the people who are using the software to say, run the electrical grid and a) care more about stability than security and b) pay people to write scathing reports about all the patches they're not installing.

IMHO there is a sticky middle ground with respect to office suites and email clients where the software is widespread enough that bugs are wormable.

Updates as a whole are inter-twingled with the developer's support and release model, how they a/b test and general maturity in terms of managing change. I feel like we're often complaining about different aspects of this when we talk about "updates".

The article specifically states

> should be incremental and security or bug fixes only

There's a big difference between that and, for example, constantly pushing UI changes that nobody asked for and for no other reason than that some designer somewhere decided that "A/B testing" would look good on their resumé.

I have been in IT for over 20 years now.

I have had orders of magnitude more problem with updates than with malware/viruses/hackers.

The thing is with malware/viruses/hackers sooner or later something will get through any defences, so you need robust recovery system anyway.

And most updates that brake systems are not even security updates. I wouldn't mind automated security updates, but many many many maybe most vendors pile whatever happens to compile to their updates so that they customers can test it for them.

Firefox on mobile just fucked us in the ass (extension we developed for client doesn't work anymore and we can't fix it. And since we have support contract we will probably have to eat the cost of whatever alternative we have to build.).

> I have had orders of magnitude more problem with updates than with malware/viruses/hackers.

Maybe that's precisely because the updates are preventing you from being owned?

The % of security fixes vs speed ui improvements is 100 to 1. Very rarely do we get issues that require forced updates that a once a year limit on these types of updates would be ideal.
I have been in IT for over 20 years now. I have had orders of magnitude more problem with updates than with malware/viruses/hackers.

Until you get hit by this....

https://www.giac.org/paper/gcih/201/microsoft-iis-superfluou...

It was the first widespread IIS vulnerability that almost hit me. The tl;dr version: All you had to do was encode a shell command in the url bar if the site was running IIS and it would execute it on the server.

Oh we(organizations I have worked for) have been hit several times (not IIS, but once it was several wordpress sites we used, once it was outlook, once we never figured out - probably inside job, ... ). But that was 3, 4 times in 20 years.

Updates its 3,4 times per year. Like I said order of magnitude difference

CAD software like AutoCAD or Microstation is the worst for this. Before I was a developer, I was a land surveyor, and I used to have so many updates bite me in the ass in exactly the way the author describes. Honestly, open source has made things a lot better since I don't have to deal with enterprise type shrink-wrapped software anymore.
That's why its best to find free software solutions for your computing needs where possible. The options a user has on free software solutions discourage that behaviour.
Free software has the same problem. I know people who have switched off Firefox updates because an update changed something in a way they didn't like.

In order to fix their issue with the new version, they worked out how to roll-back by one version and disable future updates.

I literally only update apps on my phone when the old version becomes unusable [1] or when the new version actually provides something of worth.

For desktop software, most seem to, sadly, be self updating or a website.

For example, youtube now has a miniplayer when playing a playlist on desktop. I find that "feature" to be absolutely atrocious and would rather do without it. But due to it being a website they changed it to make it impossible to turn it off.

[1] Whatsapp

I do the same thing and I get an unbelievable amount of salt about it from my colleagues (most of them programmers), even though they have the same issues I do and complain about the same things. It's just not understandable at all.
Updates are really important in terms of security.

The problem here is the hostile relationship from the companies to their customers.

Most updates seem to eschew security in favor of new "features" or "improvements".

And even if they say security they usually bundle it with other changes, along with not even saying what kind of security change.

Give me a vulnerability tracker and what has been fixed, and I'll actually update your app.

For me, the "added security" is just not worth it MOST of the time. Partially due to actually only installing apps that don't even have the capability to do much/any damage, due to it only having permission to access parts I don't deem dangerous.

I would buy the "updates are important because security" line of reasoning if software developers would bother to release security-only patches to old software, but most don't. Unfortunately, you need to take the bad (UI re-designs, unwanted features, changed file formats) with the good (securest fixes), so I unfortunately often decide to keep the old, slightly more vulnerable software.
> Updates are really important in terms of security.

We're talking about phone apps. 99% of the time this just isn't the case and the remaining 1% is for issues so widely broadcast you would absolutely know.

Btw, desktop youtube redesign is atrocious: it's slow and wastes a lot of screen space. People have to work on browser plugins that use hacks to redirect to the old page. The old design page is thankfully still served, but it can't be accessed without magic and constant breakage.
Also: reddit redesign is godawful. I HATE that designers think that unifying the look and feel of a website for desktop(horizontal screen) and phones (vertical acreen) is a good idea. For example: twitter has practically no difference between mobile and desktop view. And it wastes so much screenspace.

Altough, the reddit redesign sucks on mobile too.

I'm a somewhat sophisticated user and have come to loathe upgrading: I never know what's going to break. Apple keeps nagging me to update to Catalina, and that I know is going to break the last freestanding version of Lightroom. What else will it break? I don't know for sure yet.

I update machines less quickly than I used to: Migration Assistant is finicky and has cost me at least a day, if not more, of various kinds of work in the past.

Automatic updates are rather immoral for platforms like operating systems and browsers. And probably should be outlawed.
I'd only agree with that if part of that is also a law that forces ISPs to cut off anyone who's been taken over and is part of a botnet.
That will never happen as long as shareholders are the only people that companies are legally beholden to

That will never happen as long as software continues to be regarded as a "cost center"

That will never happen as long as developers insist that their happiness is more immportant than that of their users

That will never happen as long as evangelists keep pushing this doctrine that more updates, more features, more whatever, is better

"shareholders are the only people that companies are legally beholden to"

I don't think that's actual true. As far as I know the only legal obligation a company has is to conduct lawful business.

Shareholders can sue if they do not think their interests are being properly represented/manifested. They can also arbitrarily shuffle senior management as they see fit

Neither customers nor employees can do that

(comment deleted)
> Shareholders can sue if they do not think their interests are being properly represented/manifested.

In general, shareholder recourse is limited to electing a new board that will do what those shareholders want. The exceptions are cases where the actions of the corporation or board are discriminatory to some shareholders, or where there is fraud or self-dealing by insiders (e.g., shareholder derivative suits).

> They can also arbitrarily shuffle senior management as they see fit

Not directly. Shareholders elect the board, which then chooses the managers (CEO, etc.) who actually run the company. Shareholders usually only elect board members once per year at the annual meeting. So it’s not arbitrary.

> Neither customers nor employees can do that

This is true. Customers and employees don’t direct the corporation the same ways that the owners (shareholders) do. However, customers can boycott and employees can strike. Those can be effective ways to influence the direction of a corporation. Also, customers can sue for other things (e.g., fraud or malpractice), as can employees (e.g., employment discrimination). And any injured third party can sue the corporation.

You are correct, I am getting my wires crossed a bit.
Whilst it may not be technically true, most companies behave as if it is.
No you got it the wrong way around. The power is in the hands of the user.

> That will never happen as long as shareholders are the only people that companies are legally beholden to

The user has a choice not to use products that are made by companies that don't respect them.

> That will never happen as long as developers insist that their happiness is more immportant than that of their users

The user can simply stop using the software if the developer doesn't respect their time (happiness is a completely subjective property dependant on the individual).

So I say this will never happen while people won't actively move for alternatives and put up with crappy products.

I made the effort to stop using products from large companies that don't respect my privacy and don't respect freedom of speech of their users. So whenever possible I don't use any products from the large tech companies.

If people can't be bothered and choose to be ignorant, they deserve what they get.

Governments are supposed to intervene in markets to keep them stable, functional and ethical. Hand-balling all market regulation to ethical individual consumption isn't workable for many industries where companies can monopolize, capture regulation and sway public opinion with advertising campaigns.
Unfortunately I should have expected a reply such as this. Everything is seen as a all or nothing proposition.

I think it is pretty obvious that if companies are abusing their position to that extent an appropriate governing body should step in. However there are going to be issues that won't fall under such a remit.

Also just because the government/regulator is failing to step in, doesn't mean you can't be doing something yourself. I was getting very frustrated with Google and its products. So I decided to stop using them whenever possible.

As for moving away from industry giants, this works. Firefox (back in the early 2000s) chipped away at IE's monopoly and broke the stagnation.

> If people can't be bothered and choose to be ignorant, they deserve what they get.

The problem is that those that do care also have to suffer. After a certain point of critical mass, when it comes to tech, oftentimes you can't just take your business elsewhere any more.

This is incorrect. You can almost always take your business elsewhere. It depends whether you think it is worth it, depending on how hard it makes the rest of your life.

If people really cared (as much as they claim) you will make alternatives work for you.

If you've a following on instagram and you decide to leave for whatever reason, you can't take your followers with you. Maybe some will jump over if you link them to other platforms

If you've an iOS app and you've run afoul of the app store, you can't take those iOS users with you without asking them to switch to another platform or asking them to use a web app instead (both of which are forbidden, I think)

If you're on gmail and your account gets suspended, you can't set up a magical redirect that sends all your mail to another address. Can you even use Google Takeout?

These are all extremely popular platforms with strong lock-in effects through various circumstances.

In too many cases, the switching costs are so high as to be destructive. Yes you can technically switch but the price is dire. That doesn't count in my book.

> If you've a following on instagram and you decide to leave for whatever reason, you can't take your followers with you. Maybe some will jump over if you link them to other platforms

You should diversify your social media presence then and let your followers know "look if I am not here one day this is my website or you can find me here".

> If you've an iOS app and you've run afoul of the app store, you can't take those iOS users with you without asking them to switch to another platform or asking them to use a web app instead (both of which are forbidden, I think)

This is probably the only valid scenario presented due to there being only two players realistically in the mobile phone space.

> If you're on gmail and your account gets suspended, you can't set up a magical redirect that sends all your mail to another address. Can you even use Google Takeout?

This actually happened to a friend of mine (he got locked out of his account). He ended up learning from the experience and owns his own domain and uses one of the other email providers.

The government might fix these issues in another 10 years ... maybe? You are actually validating my point about people being ignorant of the risks of using services that can suspend you account for any reason at any time. Don't use them, or if you must then mitigate any potential fallout from losing access to that service.

People that have been being censored by large tech companies have already started doing this.

> In too many cases, the switching costs are so high as to be destructive. Yes you can technically switch but the price is dire. That doesn't count in my book.

As we are arbitrarily deciding what counts, I don't think the social media accounts or the gmail issue is a big deal.

They are easily mitigated against as long as you aren't ignorant. Being a smart consumer, smart user will protect you much better than anything else. Which proves my point.

> You are actually validating my point about people being ignorant of the risks of using services that can suspend you account for any reason at any time. Don't use them, or if you must then mitigate any potential fallout from losing access to that service.

I love to trot out the "don't be stupid" argument too, and it never works. If "don't be stupid" was at all an effective mantra, tech would look a whole lot different. But people being stupid is what sustains these practices, and it is what provides the lock-in effect that I'm describing. Plus, someone will argue that it discriminates against unintelligent or mentally handicapped folks (which it does), or underprivileged folks and minorities (which is debatable). And then someone else will argue that people should be able to drive their car without having to know how to repair them (that's what services are for!) or that their specific choice in make/model/whatever shouldn't have a future tragic effect on their life. And those arguments are supported by law and government agencies backing them up.

Making excuses for ignorance is simply promoting learned helplessness.

Yes I appreciate there are edge cases such as the mentally handicapped. However realistic I am talking about the majority of the population which are capable of looking after themselves.

Again this much like another reply I received. You are making it an all or nothing scenario.

Realistically it will be a combination of regulation and people starting to get wise to what these companies are doing. At the moment the regulators don’t have the power or aren’t up to speed. So instead of waiting for the shit to hit the fan you can protect yourself and start mitigating risk.

I really don’t like this attitude of people that you cannot try to protect yourself.

When it comes to technology the majority of the population is not capable of looking after themselves. And it won't be this way for a very, very long time.
Well it will go on longer if people are encouraged by those that are capable to stay ignorant.

Also Rome wasn’t built in a day.

Well, nice to know that I'm not the only one who feels this way. Both you and tomc1985 are correct - it is this weird human thing where most people will continue to do things knowing full well of the consequences. For example we know of N things that cause pollution and global warming, we continue using them anyway.

Maybe there will be a day when the majority of the population will be more conscious of their lifestyle choices (and that technology choices deserve time and effort just like your dietary choices).

Keep arguing that. You will eventually give up. Stupid does not see reason and you know what they say about the people who fight it.

Remember that "above average" intelligence excludes 50% of the population. So unless you're scheming on ways to raise the tide for all boats, give up.

There are plenty of enablers out there, but there are also plenty of jaded souls who do not see this as a war that they can win.

Disgusting attitudes like yours is all too common these days. It is anti-freedom, full of snobbery and it is nihilistic.
You don't represent stupid people, you make money on them taking advantage of the monopoly, you don't care about their interests. And they aren't as dysfunctional as you want to make them look like, they don't need to figure out everything by themselves, they can understand what they hear.
People, who still insist on developing programs for Apple out of greed are in collusion with Apple to strengthen their monopoly and should serve proportional share of Apple's sentence if it's ever to be judged for its anticompetitive business. They can't possibly be ignorant about it today.
How dare people go where 50% of the market is because they care about silly stuff like food and shelter.
The entire point of instagram for businesses is to move followers from instagram to your own controlled platform.

Not sure why using google as your main email makes sense with so many others offering email.

You can take the iOS customer off of iOS to a different platform through ingame awareness.. one you control

what about adobe though? what if you work in a field where you are forced to use a certain proprietary file format or software? this sounds a bit naiive. go talk to real johnnys :-)
The last time I checked there was many competitors to Adobe in almost all the products they offered. You aren't forced to use their software at all.

In any event you can slowly move away from using a companies products. It isn't a all or nothing proposition.

> The last time I checked there was many competitors to Adobe in almost all the products they offered. You aren't forced to use their software at all.

Dude, if you're a professional graphic designer, you're using an Adobe workflow. The amount of friction that you would encounter in your daily work for any other choice is simply too high.

In other words, Adobe products are providing high enough value that people don't find it feasible to move away from it. If it is pure network effect, we should be seeing a regular but increasing decline in their market share.

You can't have the cake and eat it too.

in other words: adobe has a monopoly. they can extract and do whatever they want to their users and nobody can do anything about it. same with apple. same with google. same with many other sv robber barons.
That's only part of it. There are plenty of Photoshop users who would prefer to switch but can't because of project constraints, or because it is a required format for some future step in the chain, or whatever. When you need no-hassle first-class support for PSD, or PDF, or that InDesign project that Mary from marketing sent you... who else can you turn to but Adobe?
It's only for file formats after all? Because those modern flat designs look like they are drawn in paint with bucket fill.
> The user has a choice not to use products that are made by companies that don't respect them.

Yeah, much like how I get a choice to not use Jira at work, or to not use Facebook Messenger or not use LinkedIn right? The argument that everything ultimately comes down to individual user choice ignore so many externalities that it’s borderline unrealistic.

I have a social life without facebook, and I have a job without linkedin. You don't need them, you choose to use them.
I have a social life without Facebook yes, but I have a huge chunk of friends who use it to communicate and organise things. Another example: I go mountain biking - local clubs use fb pages and groups almost exclusively to inform people about trail closures, updates, events, etc.
I used to drink regularly down the pub. After a while I got sick of putting on weight and feeling rubbish and decided to give it up. The people I drank with after a few weeks stopped calling me (because I wasn't interested in going for a drink) and I haven't spoke to them in years. They wasn't such great friends were they?

If I had friends that didn't bother with me because I wasn't on the platform (facebook) they probably wasn't worth bothering with in the first place.

You can always find an excuse as to why you keep on using these services, some odd thing that you claim you need. I just decided I wasn't going to use them anymore and stop making excuses for having to deal with companies that couldn't give a fuck about me.

> They wasn't such great friends were they?

Sounds like acquaintances. You ought to have a bunch of those, they are great to have, very valuable, and lots of fun. All of my close friendships started out as acquaintances. I got my current appartment via an acquaintance – quite nice and below market price. My current job, my partner of many years, lots of great ideas and input, lots of useful advice ... having acquaintances is great. They won't follow you to the end of the world though – they're not that invested in you, by definition, that's why you can have many of them.

> If I had friends that didn't bother with me because I wasn't on the platform (facebook) they probably wasn't worth bothering with in the first place.

If you insist everyone accomodate your communication preferences, but will not accomodate their communication preferences at all, maybe you weren't worth bothering with in the first place. If you trade them for a little bit of moral high ground that easily, that's not exactly great friendship either. If it's just Facebook, but Telegram is fine – I personally could work with that. Some people with old phones can't have all the messengers – might be a problem for them. No Whatsapp? Party planning just got a lot more annoying, because someone will have to play relay for you. Just taking phone calls, nothing else? The 20th century is long past and I'm glad for it, just get some kind of messenger like literally everyone else, even my parents. We still frequently escalate to phone calls, because it's easier for them – but we try to meet each other midway.

> You can always find an excuse as to why you keep on using these services, some odd thing that you claim you need.

Or maybe there are legitimate needs that these apps and platforms fulfill, like making connecting with people and all sorts of communication really, really easy and frictionless, and for them that's worth the – so far – largely theoretical price we all pay; that's my personal stance in this. Maybe the benefits of a one-person-boycott aren't that compelling – it's not going to make a difference at all, unless everyone does so, but they don't, an when they do, they'll all flock to LibreOpenFree Network, so you won't even have to give up your contacts. A one-person boycott isn't going to keep Facebook from assembling a detailed shadow profile on you, unless you go to really great lengths that very, very few people are capable of, and then they still learn what your contacts leak about you.

If you're fine without social media, you got your social circle that agrees with you and sticks to phone calls, or maybe you're fine without lots of people in your life – great for you, you do you. But telling others who are not in that situation in what I read as quite a condescending tone that their social needs are just excuses, odd things they claim they need, that feels rude and not helpful at all.

> Sounds like acquaintances

No. They were drunks (I was becoming one myself). I told you in the sentence before that once I didn't come to the pub they weren't interested in spending any time with me. That what addicts are like.

This really isn't difficult stuff to understand. The acquaintance relationship only existed because of substance abuse basically. There is no friendship of shared interest outside of that.

I was thinking about writing a rebuttal to everything else you said. But there really isn't much point because you can't even understand this part of social interaction.

All my real friends btw, keep in touch via email, text etc. As for me demanding I use a communication medium, everyone has a cell phone with SMS and everyone has an email address. If people can't be bothered to do that ...

No, you don't need them, but have fun filling in those blanks on your own time for 10x-100x the effort. Hope none of those missed connections are important, and I hope nobody gives you a pregnant pause after you insist, "no, I don't use Linkedin" at your next networking event.

Network effects are strong. Too strong.

I literally setup almost everything I personally need in about a day on a VPS. As for services like LinkedIn I almost never got anything of value from it, it is worse than most job board it is filled with slimey recruiters these days and not a lot else.

I bought a NAS for backups with freenas and moving my email to a domain with a provider literally took me a few minutes (plugging DNS entries into my domain provider). It not that hard.

People should be making tools for helping people move away from platforms. I am personally going to write it all up and identify pain points.

I get plenty of business through (gasp) word of mouth and ex-colleagues. So I am fine.

How someone get off GMail if they have already been using it for a decade or quite a few years more than that? Has anyone done this? How do you do that with the fewest issues possible?

Having the most important communications with other people and companies, and the login verification all in the hands of one company which could shaft your access in all sorts of ways (screw up, removing service, ban) is just terrible in the long term. And if someone is using their ISPs email address, that is something that would keep them signed to that ISP even though another may offer a service much better for them.

Anyway, anyone migrated away from their email provider after a long time signed up and could answer some of the questions in the first paragraph? Thanks.

> How do you do that with the fewest issues possible?

You just create another email and register all your new accounts with it. Whenever you get any old notifications to your old email you recofigure them to your new email account, one by one. After about a year you will be practically free. You do not have to delete your Gmail account, you can just forward all its emails.

I've personally never used facebook actively and deleted my account soon after I made it. LinkedIn I have an account but I honestly never find a use for it even though I wouldn't be super against it.

A lack of both of these would not inconvenience me in any way personally and I find the claim that going without them being a lot of work questionable. Maybe I've just been lucky in who I work for/with?

You are buying into the hype.

Most people will find work through indeed linkedin may give you a 5% boost. If you say you don't have a resume..

Why would you need facebook messenger installed when you want fb events. Just login to the web version click events.

That’s just it. I don’t have to “find work”. Work finds me. I would have never found my latest job - working for BigTech in the comfort of my own home on the East Coast - if a recruiter hadn’t contacted me out of the blue. Every job I have gotten since 2012 (5) has been through a contact who found me through LinkedIn. Why would I reduce the ways someone contacts me?
Because for some is us the signal to noise ratio was too low (did I get that the right way around?).

For me LinkedIn for me was a total waste of time. Good you find it useful use it, but I don’t and I don’t like the company so I am deleted my account.

Also most of the contacts weren’t other devs or dev companies but recruiters. A lot of those recruiters flooded the feed with bullshit recruitment feel good articles and other trite. That combined with all the estalking and slimes dudes on there it just isn’t somewhere that is worth being around.

It’s just like the general rule of the Internet - Don’t read the comments. The purpose of LinkedIn for me is a Rolodex of former coworkers and a curated list of local recruiters. I have a separate email for LinkedIn. I would go through it once a week to see if there was anything interesting.

I have a very light profile up.

It generally fails at that in my experience.
That only works if the user of the software has freedom of choice over the software they use. For the majority of commercial software sales that is not the case. Commercial software is overwhelmingly brought by companies who dictate to their staff what software they must work with.

And the companies which shell out the big bucks to keep terrible software products shambling along for year after year don't really do it because they hate they staff and want to screw up their happiness and productivity, although it can often seem like that. They do it because either there isn't anything else which does the thing they need to keep doing their business, or becuse they have so much past history and experience of using that product that it would be ridiculously expensive and dangerous to change or because they believe that the pain of supporting fifty different users using thirty different incompatible pieces of software to do the same job is worse than the pain of having all those users screwed up at the same time by an upgrade that goes bad.

None of which are unreasonable positions to take and all of which push the responsibility for improving the situtaion back to where it belongs: the writers and suppliers of the upgrade. Upgrades should adopt a hippocratic principle: the change that YOU make to the system which I have paid for and which I rely on to do my job should not suddenly impossible costs or make it impossible me to use it to do something that I was doing yesterday.

And that, in turn, is not going to happen, unless and until customers (both commercial and private) have the right to compensation for lost time and earning imposed by changes which benefit nobody except the software vendor.

The article is talking about forced updates by vendors of consumer grade software. That is what we are talking about.

Also the same rule still applies. If I had to use some terrible software everyday I would leave a job if it was that bad. I had to develop on a terrible CMS, once I realised it was never going to change, I looked for another job.

> For them, it's often cheaper or more profitable in the short run not to do any of these things.

For free-as-in-beer software? You get what you pay for.

Supporting a full matrix of (security release) * (feature release) combinations isn't cheap.

> Supporting a full matrix of (security release) * (feature release) combinations isn't cheap.

Having paid for something isn't a magical spell that wards this away. Having sunk costs makes it less likely that the users will migrate away after unpleasant, user-hostile changes, not more. Having a budget also allows for enough PR to bury the complaints.

I’m not sure it’s even to do with economics. Certain people just like to mess about with UI because changes excite them.

Slack recently moved the profile settings from the left of the screen to the right.

It hasn’t been replaced by anything on the left.

Someone just decided to move it, they probably have some pseudo science about “design weight balance” to justify moving it.

Really it’s change for change’s sake.

This! I came here to post something about Slack and their forced update. Click on a notification by accident and BOOM you have a new version with a new layout, even without shutting the software down. With every update they shuffle stuff around without adding much functionality. I guess the designers need to keep themselves busy or something. I hate forced updates like this
It is not just phone apps that do this. Web apps do this too. My bank has pretty much rearranged all of its GUI. Big giant buttons everywhere. Yet the one thing I go on there to do is at least 10-20 clicks to do now.
If you have to do all that, it costs a lot more to develop updates. I think most developers mean well but just can't afford to do it all.

For example:

> should be incremental and security or bug fixes only

That means maintaining multiple releases of the app, and porting fixes between those versions, while also maintaining data migration logic when fixes affect data formats. I've maintained an enterprise software suite before where we did it like that, and it added a double digit percentage to the cost of development. You also get drawn into a discussion of what exactly constitutes a fix. Some users consider a missing feature a bug, sometimes they're right.

> should never update a user interface without allowing the previous one to be used as the default

I hope you've maintained a very clean separation between view an controller layers, because otherwise you'll have duplicate business logic and tons of bugs. Again, been there, done that, was not a happy camper.

> must allow a revert to the previous situation

So, maintaining and testing data migration algorithms in both directions then?

> should never change the format of data already stored on the system

Multiple independent read and write paths? How many combinations of UI and data logic do you get? A combinatorial explosion can cause this to become effectively untestable.

Granted, some developers are bad, and abuse automatic updates. I swore off Oracle Java after a security update installed malware on my system (called Norton Antivirus). But most developers are not like that. They mean well, they're doing the best they can given their limited resources.

I do that kind of maintenance. Sometimes it's reverse migration code. Because CD doesn't fly. Maybe people don't know it doesn't fly and still push it, or they know it doesn't fly and still push it. And there's no asymmetry between user and developer, developers are users too and experience all this first hand from the user side.
That's the point. If updates are expensive, you'd think twice about pushing one out every week for no good reason.

As far as file formats go, how often do you need to change these, anyway? I'm fascinated with most of the mainstream file formats (except mp3, mp3 sucks) — they're built with extreme extensibility in mind, and you have to try really hard to make something incompatible with the rest of the world. So, then, what stops you from designing your own file formats to be extensible? You add a new feature, you add a new section to your file. The user downgrades, and the old version skips over that section because it doesn't know about it. It's easy.

And besides, I've seen a lot of software that's able to save files that are 100% compatible with older versions of itself if that's what the user asks for. Microsoft Office is one example.

It doesn't mean any of those things. It just means not making the updates automatic. Make your auto-update just say "hey your version is no longer getting updates, you can get the new version at this link"
> when updating software on my computer without my permission.

This never happens. No software is ever run on your computer without your permission unless you install it (or willingly buy the computer with that software pre-installed). If you install software that auto-updates, you have it coming.

If you make your own chipsets and processor.
To add to the list: automatic updates should install.

Many many times Windows updates download, try to install, and fail with an "unknown reason" and a useless error code. I disabled them for just this reason. It's completely pointless.

The issue of updates not installing may have saved you from worse issues.

Here is a description of updates from June which caused me significant trouble: https://www.windowslatest.com/2020/04/06/windows-10-update-k... https://www.windowslatest.com/2020/03/17/windows-10-kb455176... (other patch)

From the first article: "Another user also told us that the KB4541335 update crashes the system and later causes 100% disk/CPU usage."

That is pretty much what happened to me, especially the hard drive grinding. Also discovering that I couldn't use F8 to boot to safe mode any more. I discovered I had to wait a very long time to get to the login screen all the time with the HDD grinding and then shift click something to get the menus to be able to do a system restore without loading a user profile.

Note to anyone using Windows, always have a Windows PE environment ready to boot to, even if you are a home user, it may save a lot of trouble.

(comment deleted)
> should never be used to install telemetry or spyware or to re-enable it if it was previously switched off

I lost track of the number of times a friendly Windows 10 (and 7) update has re-enabled telemetry. Either that or there is yet another, completely different post-update Wizard for advertisement, telemetry, default applications, and other privacy stuff (There sure is a lot of effort put in moving settings around each update!)

As usual in Microsoft wizards, you have to check/uncheck the exact opposite of all the defaults for a good experience.

>I lost track of the number of times a friendly Windows 10 (and 7) update has re-enabled telemetry. Either that or there is yet another, completely different post-update Wizard for advertisement, telemetry, default applications, and other privacy stuff (There sure is a lot of effort put in moving settings around each update!)

...and that's why I'm using LTSC, because it's limited to security updates and supported for 10 years, rather than regular windows which gets "feature" updates every 6 months. For office, the equivalent would be perpetual (2016 or 2019) instead of 365.

I've read[1] that it's possible to legally obtain LTSC without volume licensing by purchasing a few other Microsoft thingies. Is such a method how you did this, or did you unfurl your sails?

Btw (rant incoming), this isn't a spiel against piracy. If Microsoft complains that people pirate LTSC without providing an easy legal way to obtain it, they can cry me a river. I just switched over to Linux from Win7 early this year; between spying on you, stability and data loss issues from firing their QA department, the auto-installation of Candy Crush, and the intentional difficulty in getting LTSC which doesn't have these problems, they lost me from ever switching to Windows 10. Which is an absolute shame, because if it weren't for those dealbreakers, it would actually be a good OS, and I would be using it on my desktop. Maybe someday I'll spin up a QEMU gaming VM, but if they ever make LTSC impossible to obtain, I'll just try to forget Windows 10 exists entirely.

[1]https://community.spiceworks.com/topic/2167558-explicit-inst...

>Is such a method how you did this, or did you unfurl your sails?

Neither. Ended up using a msdn key.

If it's safe to say so - I don't wanna jeopardize your methods here - how did you obtain it? As far as I can tell, normal consumers can't buy them "legit", but they are "illegitimately" resold anyways, which makes rejection of their "validity" during activation a possibility (assuming Microsoft finds out, of course).
>which makes rejection of their "validity" during activation a possibility (assuming Microsoft finds out, of course).

AFAIK Microsoft doesn't revoke existing activations, so you should be fine unless you need to reinstall. If you dont want that risk, a locally hosted kms server (running in a VM for maximum security) achives the same thing.

Good to know. Also, I never knew about kms servers; TIL.
It's not illegal to resell software (at least in the EU).
Illegal != breach of contract. They control the activation servers, they can just refuse activation if they felt you've violated the contract.
"Europe's highest court ruled on Tuesday that the trading of 'used' software licenses is legal and that the author of such software cannot oppose any resale." [1]

[1] https://www.computerworld.com/article/2505356/eu-court-rules...

Tuesday, July 3, 2012. Did that ruling change anything in practice? I don't see ads for used Windows licenses anywhere.
I don't see anything about that being a used key. On the contrary, it warns you it can only be activated once for one hardware combination.

Edit: those are usually MSDN or volume license keys that shouldn't be resold but will activate nevertheless. Reselling those may be legal only in the EU, but still, they're not used.

But this is pertaining to msdn subscriptions, which provide keys for a variety of Microsoft products. According to the article, you can't break them up to sell individually

>In a small victory for Oracle, the ECJ ruling prevents resellers from breaking up a license and selling only part of it if they have purchased licenses for more users than they need.

TL;DR: I agree with the article and add some rants of my own.

Users will go to extremes to take back control of their magic rocks.

Source: I finally bought my next-ten-year upgrade PC (old PC was sandy-bridge mobile era), and I installed, not the OS that I've known since the day my father explained to me that this is called a computer and that is called a start button and oh look this is clippit, ignore him, but the fussy, free OS that computer supernerds use called Linux, specifically KDE-flavored Fedora.

I don't have a Windows VM (it'll be W7 SP1 RTM), since my old main machine now sits to the side 'in case I need it' which so far I've been able to escape (ok I used Windows for balena etcher since it was already installed there) _needing_ to use Windows.

Why all this pain and trouble and new system? Because I read way too much Hacker News? Probably? But mostly because Windows 95, 98 SE, 2000, XP, Vista (it meant well, even if terrible), 7, all had one thing in common - they reported to the user.

Read the Windows UX Experience guidelines book (I have bought a hard copy), they cover the same things listed in the article, no surprises, if you change stuff, users better be able to wave away your changes until they are ready to change.

Windows 10 does not report to the user. It reports ON the user to Microsoft. And updates when it wants to. And unsets settings in hopes you're too stupid to notice. What are you Windows, Luigi from the Cars movie? "You don't know what you want, _I_ know what you want...white-wall tires!" (which is not what we want)

This is not just me being a burnt out anti-Microsoftie either. I still defend Office 2010, Windows 7-era products, I love the idea of the courier device, and I'm so enamored with that better era of user-owned-devices, I will probably buy a MS Surface Neo (so I too am imperfect / complicit in enabling Microsoft's bad behavior).

I don't use SaaS that I don't pay for, and if I do pay for it, I have local copies. That's why I avoid the likes of Roam/Notion/whatever-newest-notetaking-app-of-the-week-on-HN like the plague. I put data in, one day it's all gone. Nope.

Users may be seen as / actually be ignorant, unwashed masses who don't know the difference between forward slash and backslash, or Firefox and IE, but eventually, even they learn that updates = pain, annoyance for no benefit _to them_, only to benefit the management and product owners of the software shop.

When they turn off / block updates, they've spoken, and I agree with them, that the way you / we are doing updates today is wrong and needs to be changed.

Look, I get that you want your article to have a respectable looking length, but please don’t make me wade through 3 paragraphs pointlessly recapping the history of software distribution from circuit boards.

The internet. We get it. We’re on the damn internet and anyone reading an article about upgrading software knows what the internet is.

Don't get uppity, user scum. You'll upgrade when we tell you to. And we'll take away a feature whenever we want. So there.
Funny this post should come now.

I've been dealing with a weird upgrade problem.

I noticed a problem with various software on my Android phone about a month ago - some software had stopped because it couldn't upgrade and I wasn't able to download anything from the Play Store. It seemed the phone was waiting for wifi to do anything. The only problem was Wifi would come never 'cause of Covid. Moreover, changing Play Store options failed to solved things and box in Android meant to change this had simply vanished ... several upgrade ago (hah, ha). Oh, and looked far and wide on the net for solutions.

That would only be the sad story of one more phone crufted to death ... except I did solve the problem. Accidentally. Yesterday. Trying to upload stuff by Google Drive, I found a wifi-only option disabled it ... magically, the Play Store worked now and everything I had order appeared. Apps worked again. Etc.

I'm not sure if I can think of a moral to this story but I'm glad of a context to share it in.

I have this issue. I don't use whatsapp much, but I wasn't able to update it, so I removed it rather than leaving my few friends wondering why I'm not replying to messages.

I just checked drive to try your workaround - and it says old version, needs update, which of course I cannot do. Oh well. One of these days I will take the plunge and see if a factory reset will work.

Yeah, the crazy thing is that this issue isn't one issue but bunch issues and gets worse over time. Once something restricts downloads, you wind-up in a weird position where things stop working 'cause you can't update them and you can't download any fixes for the same reason.

Removing auto-update in the Play Store is another step that apparently helps.

My guess is that Settings and Google Drive are each accessing a key in something akin to the registry in Android. The problem is there seems no guide to this registry-equivalent thing. Otherwise a program to fix these configuration problems could be side-loaded.

Everyone is entitled to an opinion and has the right to share it. Even in the case it may be unpopular amongst certain groups.

As an end user, I do not like automatic updates (which may or may not be "upgrades"). I try to avoid software that relies on this approach wherever I can. I consciously choose software that is not in constant flux, unless something is broken.

There is not a single software author that I trust enough that I just want to blindly allow them to install new software at their leisure without any input from me. To allow such practice is not my preference. I prefer to evaluate software before I install it. "Automatic upgrades" assumes there is not to be any evaluation by the user. Every update is assumed to be "all good". Of course, that may perfectly suit some users. However, other users have every right to be more discerning in their choices. No software author can naively guess exactly what it is I personally need or want from a piece of software. (The growing trend of using "telemetry" in place of actual user feedback is another topic worthy of discussion.)

The trend of automatic updates seems to encourage a form of software development where the software can be released "unfinished", in a soon-to-be broken condition (to later be fixed, or not) or in a state of flux where the number of knobs and dials can increase, the UI can change, etc. At worst, the quality of the software may change fundamentally over time, not always for the better. Essentially the user never gets to see the final product before deciding whether to use it. She is signing up for a work-in-progress.

This is an honest opinion from a bona fide computer user and I fully respect and appreciate differing persepectives, including the "mainstream" ones. Thank you to the HN forum for letting me share my thoughts on this matter.

> I prefer to evaluate software before I install it.

How do you do this?

(comment deleted)
TL;DR: "More often than not automatic updates are not done with the interest of the user in mind."

Exhibit A being the fact that automatic updates often silently re-enable privacy violating settings. When a company is caught doing this, it's always an unfortunate mistake. But strangely I've never seen this error go the other way, towards more privacy for the user.

Yeah, I'm regretting upgrading Google Maps on iOS recently. For some reason now, whenever I bump the phone, the map view changes. I need my map view to show me going left when I turn left and right when I go right in order to make sense of things, but it will usually end up in a static "north = top of screen" orientation, no matter what I do. It's turned a good piece of software into something almost unusable.

Edit: Well, what do you know, I just upgraded again (because it can't get a whole lot worse), and it's back to expected behavior.

I think you can click the compass to switch between these modes.
I know that. The problem was it would switch when the phone switched orientations.
How do you solve the problem of having a thousand versions to support
A) commit to a timeline of support for the new branch whenever you make a change requiring branching (your existing branch should already have a commited timeline)

B) don't mess everything up all the time so you have to support a lot of branches

Look at the OS support plans for guidelines.

This is actually why I've moved the bulk of my ancillary programs over to FOSS alternatives because the majority do Semantic Versioning.

I know when a major upgrade is happening and I know when a minor patch is happening.

I still have proprietary software that is core to my work but I and my boss have gone out of our way to avoid "cloud" software and continuous release software.

I like the main idea here, but the points listed are a bit extreme. Specifically this one:

> should never update a user interface without allowing the previous one to be used as the default

Are you ready to pay for the ongoing support of all legacy interfaces, including the ones you're not using and which are possibly not used by anyone in the world (no telemetry)? Are you ready for all the bugs and security issues this will cause?

Same goes for support of old file formats.

Completely agree about interfaces.

File formats should be supported though. At the very least, I should be able to import a file from the old version and have it converted.

If you pay for your software through a subscription, of course, no problem.

You paid for software once? Well, tough luck. Your older versions will no longer be supported because we can't afford developers because you stopped giving us money.

There is no way anyone is going to be supporting old formats while providing free updates. This makes no business sense.

That very much depends on the license.

Many licenses include future updates.

I am far more likely to pay for software that supports file formats in the future.

> Many licenses include future updates.

May be so, but likely not in the long run. Developers don't quite want to work for free, and providing free updates is a bad business model if licensing model is "one time fee".

They may say "free updates" to lure you in, but updates are only provided for your version. As soon as a new major version comes out, your current version will stop receiving updates. You will have to upgrade to the latest version at some point, and this upgrade is definitely not going to be free.

You get what you pay for.

When updating from one format to another, you should generally write code to convert it. Once you have that code, it should be trivial to update old -> new format by using all the intermediate software versions, or not as trivially, you can have a transformer from all previous versions to the current in your latest releases.
I think they mean that you only have to support the most interface besides the new one, not every single version
Then if you get 4 updates in a row that are: UI, security, UI, security, you have to choose which one you care about more.
Well then for people using the previous version of the interface, updates still force them onto a different interface.
I took that restriction to be specifically for automatic updates, and I agree. Don't break my workflow without my consent.
> Are you ready to pay for the ongoing support of all legacy interfaces

Part of the problem here is that software companies don't seem to ever ask this question in good faith (and of course, don't even realize that at an institutional level they don't actually care because common incentives for product and UX people are towards changes they can take credit for).

Try setting up a system where people can in fact pay for earlier UIs. See what happens.

(Term "earlier" used deliberately over "legacy", because it's only "legacy" if it's abandoned by either users or owners.)

It took a while to find a comment that points out the cost of maintaining legacy UI.

It is highly likely that no customer is willing to pay for support of legacy anything, let alone UI.

"Jonny" sounds like the kind of person that wants to purchase software at a one-time cost, and then expect free lifetime upgrades (which include all the outrageous demands such as supporting legacy UI).

Make your own software Jonny, see how that works out for ya.

The legacy UI often works fine and the new UI's sole purpose is to justify the salaries of the design department. Ask any customer if they're willing to pay for a new UI and you'll likely find that they don't.
It depends on a question though. "Do you want a UI redesign?" will likely be a no. "Do you want to access the thing you're using 100 times a day in 1 click rather than 5 menus?" will always be a yes.

Unless the company is completely failing at its strategy (and that's not the same thing as many vocal people saying that on the internet forum), the redesign has goals and some reason behind it. Your "worse" may be solution to someone's ongoing problems.

We tend to underestimate the value that a decent UI/UX professional can bring to a software product. Users typically hate changes (change aversion is in the human nature) and will hardly notice any improvements. But try to install an older piece of software, say, Microsoft Word 97 and compare usability to the current version. Don't pick one feature, look at it from a daily usage perspective. I bet you'll find a ton of improvements and think "huh, I had no idea it was so painful to work with Word 97"...
Actually launched Word97 recently. Surprisingly good UX, at least for simple documents
(comment deleted)
And I'd bet I wouldn't. I'd bet a considerable amount. I'd bet I'd find that features I want to access are inexplicably hidden frequently.
> "Do you want to access the thing you're using 100 times a day in 1 click rather than 5 menus?"

Usually, that's an argument for the old version

> maintaining legacy UI.

Do you mean like the legacy UI for older MS office (2010 may be) replaced by ribbon. I recently read that next office versions are going back to non-ribbon interface.

> "Jonny" sounds like the kind of person that wants to purchase software at a one-time cost, and then expect free lifetime upgrades (which include all the outrageous demands such as supporting legacy UI).

Sure. Ideally everyone follows RHEL - the UI stays the same old GTK/GNOME. Only the kernel updates/security can be backported. Do not touch anything else.

(But I mean marketing departments do not have anything new to show then..)

"Jonny" sounds like the kind of person that wants to purchase software at a one-time cost, and then expect free lifetime upgrades (which include all the outrageous demands such as supporting legacy UI).

I think Johnny sounds like the kind of person who wants to buy software once, then simply have it keep working the same way indefinitely unless he chooses to buy a newer version. The only updates Johnny wants for free are the ones that fix defects in the original product that should never have been there in the first place like security vulnerabilities.

I don't see how Johnny's position is unreasonable. If you bought a fridge or washing machine and it turned out after some years that a design flaw created a dangerous situation, you would expect (and in some places, the law would require) the original manufacturer and/or vendor to recall the product and make it right. Software developers have enjoyed a free ride on this issue for many years, which was OK when the culture was that they would issue free bug fix updates from time to time voluntarily. If that is no longer the case and they're not going to fix important problems without also forcing other changes that the user might not want, maybe it's time software developers stopped getting a free ride on shipping poor quality products in the first place.

^ This, exactly.
Maybe if the "move fast and break things" attitude coupled with CD wasn't as widespread, breaking UI flows wouldn't be seen as part of the weekly routine.

There are absolutely situations when changes are warranted but I really think it's a mistake to see Google Cloud and FB as sources for inspiration wrt this.

If the UI is changed to fix "bugs and security issues", I'm perfectly fine.

If the UI is changed:

* for no reason (other than justify the salary of the designers team)

* just for the sake of "give the impression of evolution", but really it's just hiding or moving buttons and menus and changing font sizes, colors, layouts...

* or to intrusively insert new and unrelated products, in the middle of the original workflow

* or to remove (or change) basic and intrinsic product functionality

* or to prevent to continue the (intended) workflows acquired with previous usage

then I'm not so fine...

anyway, what is mentioned is just that automated updates (and this does not apply to web applications I think), shouldn't do that change, without an "option to stick to the previous" UI. At least in minor version updates, I totally agree.

Edit: format and verb tenses

Better solution: make the UI modular and configurable so the user can choose the layout

For file formats, updates changing file scheme need to be backwards compatible

> should be incremental and security or bug fixes only

> should never update a user interface without allowing the previous one to be used as the default

> should always be backwards compatible with previous plug-ins or other third party add ons

Even as a longtime user of Firefox, who lost access to a number of XUL addons once-upon-a-time, I have to disagree.

Some software upgrades cannot be "incremental or bug-fixes only." Sometimes you get handed a pile of hot garbage, and your best chance is to just refactor it. Certainly, you're not aiming to remove features or break workflows, but there exists a world in which some percentage N of users who are affected negatively by a change are not worth the effort of maintaining something. I think this viewpoint ignores that often as software gets more use and grows, our understanding of the problem-space and relevant abstraction grows as well. Black & white statements about what is or isn't allowed by developers in their products regarding updates completely ignores this aspect of development. Granted, if you can choose when to upgrade and to what version to upgrade this is less of an issue. Modern app stores do not function for the user in this respect.

As for the interface being updated: it happens. Sometimes it is worse, but then many times people only complain about things being "worse" because of assimilation bias. There's some fantastic reading about not necessarily catering to power users: https://pdfs.semanticscholar.org/c011/4ca106ff22cf53aaed57d9.... I don't think I would 100% agree with that full article, but a lot of the central premises hold up.

As for killing compatibility with plug-ins or third party add-ons, I am upset by this as anyone but sometimes it needs to happen. Sometimes a breaking bug is abused by a third party for bad reasons as much as they can be for good reasons (e.g. banning add-ons that use exploits to mine bitcoin or data from users, even if the add-on was offering up a useful feature as well).

Now, relating to Firefox's recent Android update that breaks a lot of things, and even their behaviour for deprecating XUL in the past (I'm not referring to how long they gave people to upgrade, which was fair, but rather that some XUL features were never duplicated in webextensions thereby rendering some extensions impossible to reproduce), I would argue that yeah, maybe there is some sense of truth or some imperative that we need heed in the article. However, I think most of this would be mitigated by being able to pin versions, ask for a specific version from a specific date, or rollback. So maybe it's a wash.

Upgrades when shutting down prevent me from catching the train on time. Upgrades on startup prevent me from checking the train schedule. Insanity. Thats why I run an OS that I control.
Works for an OS that is not connected to the internet.

You're probably doing this:

1. disable automatic updates

2. hope that no vulnerability is discovered for a month

3. apply all available patches

4. goto 2

I wish this problem would be more 'forefront' in legislation, because TBH this is already at the point of being ridiculous, completely out of touch and also FINANCIALLY DAMAGING to the customers and/or users.
I mean agreeing that software should reveal and config-gate telemetry feels like a prereq to these points
I wholeheartedly agree with the article. Software companies have created a culture, where (some) users deliberately do not want to update their software.

For the last few major Windows updates I've had to reconfigure my sound setup, because the update breaks it by changing default sound devices and what feeds into what. Recently, a Chrome update (silently) broke an add-on that allowed me to easily switch audio devices for a tab. There are tons of other problems like that that I've run into.

I dread every software update for software that I use frequently.

Updated Instagram on a whim. Instantly regretted having Reels shoved in my face with no way to remove it.
WhatsApp and enabling calls a few years ago, that one irked me the most.
With lots of overseas friends and family, being able to do calls has been a lifesaver several times.
I agree with the upgrade hate on this page but ...

There are lots exceptions. Instagram is a hosted image service not an app. There is an app, that app is just a front end for the service. Being a service it's no different than any other service. You go into a restaurant, you like the ambiance. You go back and they've remodeled and you no longer like it. You go to the bakery and enjoy the friendly person behind the counter. They quit and you don't like their replacement. etc...

The distinction (imo) is that had I stayed on the old version I could have enjoyed the previous friendly person behind the counter whom I really liked for a few more months, and now I have no way of going back to that person :(
Software version control by users is going the way of ham radio and people who repair their own cars. Not completely extinct, but such a small set of technically capable people that in practice it doesn't matter.

Real users don't know and don't care about software versions. They want computing experiences that "just work". They don't care or know about where the software runs, if there is telemetry, what the underlying format of the data is, etc. The article starts off with nice goals around automatic updates being user centric. But the list of requirements becomes absurd and only important to 1% of tech savvy users (formats, reverts, plugins, commercial messages, other software, telemetry, and multiple versions of UI are great if your users are software developers or IT, otherwise they are a waste of time & effort).

Disagree that people don't care. Maybe not all the time, but sooner or later everybody experiences a bad update (bad timing, crashing app, consuming a mobile plan costing $$$).

Agree that most are powerless to fight it but the worst offenders are working hard to keep the status quo.

I didn't say people don't care. Issues like crashing app is exactly what people care about and where you should focus your time (or the data plan example). My point was people don't know or care about underlying data formats, so don't worry about that unless it affects the real user workflow.
> Real users don't know and don't care about software versions.

I read the same stuff about performance (e.g. when Electron is brought up) or using native UIs or even using native apps in the first place.

But i wonder, is it really that "real users" do not care about these or that they are not in a position to understand their impact and communicate their dislike? After all, my aunt for example constantly complains about how her laptop is slow, but she certainly cannot tell me what she means with that - is it the browser she's using, is it some software she's using, is it her internet connection making stuff in Facebook come slower, is the computer thrashing the disk (though with 8GB of RAM and an SSD that shouldn't be noticeable... yet somehow it is), etc. I can barely understand myself when she explains it to me over the phone, how can some developer who doesn't even really care about understanding my aunt is going to get any feedback about her experience and what she'd value?

(and honestly IMO all of these sound like excuses for developers putting their own experience above their users')

Amen to the article. High Sierra was the high point of my romance with Apple. Dictation used to work decently until that point, just as a small example. Catalina has pretty much ruined a lot of my favorite features. I had to update the OS because Office updates no longer worked.
Oh macOS... I am still on El Capitan where PDFs are rendered with subpixels. Yes, I can see the difference even on retina displays.
This is an area where iOS sucks. Having faced some undesirable consequences in the past from greedy and/or downright malicious developers, I don’t have automatic updates turned on for apps.

But what makes things worse is that iOS doesn’t provide a way for a user to downgrade an app to a previous version. Since syncing app binaries to computers was also long removed (from iOS 9), the only special version of iTunes (12.6) to support the management of app sync not being updated, and Apple Configurator being messy for long, even users with a computer are left with no way to deal with these problems.

What Apple should do for iOS (and also Mac App Store), which I doubt it won’t until there’s an alternative store, is allow users to downgrade apps at least one or two versions right from the App Store. Put it in a place that’s not an “accidentally downgrade and shoot yourself in the foot”. Make a backup of the app data before any upgrade to facilitate a smoother downgrade.

Downgrading as a well-managed process is not a popular concept on any platform. Even fairly open ones will generally require you to fully remove the version you have, find an older download file, and install it. And unless you have backups, good luck downgrading your data files back to the older schema.

I imagine a well-managed downgrading system would discourage malicious use of auto updates, developers would need to woo users into continuing to move forward.

Both apt/apt-get (Debian, Ubuntu) and pacman (Arch Linux) will save all previously installed packages unless you manually clear your package caches.
I don't want to defend Apple or iOS here, but Android (talking OS upgrades, not apps) is even worse, by far. Depends on the manufacturer and I imagine Google is one of the less horrible ones, but pretty much every update for Samsung Galaxy:

* Changes the UI in some way I don't like

* Re-enables intrusive, annoying and concerning background services and their permissions and notifications that are painful and time-consuming to disable

* Occasionally adds new ones of the above to the pile

* Contains important security fixes that all users should receive as soon as possible

* Doesn't provide detailed information on what the update actually includes ("The security of your device has been updated" is the ONLY information for the past four updates despite other obvious changes being co-bundled.)

It's a mess.

Thankfully almost anyone can side-load APK with older version - unless a developer blocks the API. But agreed it is a mess. That is why I think auto-updating mobile devices or "the cloud" will never fully replace computers with a local software for a serious work.
My gripe here is with system updates, not apps from the Play Store.
I for one stopped updating after nougat. At least you can flash safe lineageos <zip>. Search for TWRP/backup. Even you can clone phone to identical model.
Things may very well have changed, but last I seriously checked there was no stable lineageos for galaxy s9. Just stopping updates and staying on the official but outdated Android version will open users to potential serious security risks.
A couple of months ago i flashed a ye olde Samsung Galaxy 5 with the LineageOS 16 version. I was very surprised it even notified me of updates on the latest build! I was even more surprised it updated without losing any app or data.

I was not surprised the phone also performed way faster than the original Samsung OS. I kinda expected that. I think that is because LineageOS was more designed with the (power)user in mind than getting money from companies who want uninstallable apps tracking people forever.

But system is composed of system apps which are APKs too e.g. launchers, camera apps, even settings. You can install alternatives freely. Although it is not easy to side-load older stock version without root.
Fun fact: Samsung Galaxy devices have a physical e-fuse that will trip if you root it, thereby voiding any warranty. If there's any way around that, I'm all ears though!

My next phone purchase obviously won't be from Samsung. And that concludes my venting about it in this thread.