Why Johnny Won't Upgrade
jacquesmattheij.com
jacquesmattheij.com
I have a 4K Sony television that was their flagship model when it was new, but a couple of years ago they "updated" it with a new version of its OS that looks identical but is incredibly sluggish. Not technically broken, but frustrating to use. Moving around between menu items is a good 2-3 seconds, up to 10 in some cases.
There is literally nothing I can do about this. The display panel is perfectly fine. The tuner works. The streaming works. It's not broken. It's out of warrant, so I can't evne return it.
But it feels like I've been downgraded from "flagship" to "off-brand budget TV" without any physical component ever changing.
I didn't consent to this. I didn't expect the automatic upgrade to nearly, but not quite, break my TV.
I feel like I am at the whim of anti social behavior and conspiracies at some anonymous office with auto updates enabled. The Scrum Agile morning standups at Toaster Corp. could just as well be in my kitchen pushing user hostile features for "business reasons" or enforcing ideologically pure ways to use their toaster.
However I think there is absolutely a general trend in the industry to see downgrades as a risk that must be protected against.
I wouldn’t want consumers to downgrade their systems and exploit already-patched vulnerabilities in order to circumvent DRM.
One could argue that DRM is evil and wrong, too. But then again, it enables subscriptions and renting and there’s arguably a market for both.
But I think this only works to an extent as, if you want your DRM not be trivially circumventable, it will be a cross-cutting concern and not easily restricted to a module.
E.g., the most secure TPM is useless if the OS simply ignores any responses and shows the movie anyway.
What you could do is to close off the whole media path: The OS only sees the encrypted media, which it sends to some combined TPM/decoding hardware, which more or less sends it directly to the screen. I believe to some extent this is what is done in practice.
You could technically see the TPM/graphics card/screen assembly as a "module" and can keep the OS separate of it - but this risks your "module" becoming so essentiall that it'll be unclear what is the dog and what is the tail.
In fact, we can already see things like unskippable commercials, apps with dark patterns and deliberate anti-features, smart TVs that suddenly gain banner ads, and political conflicts being played out in app stores.
All of that stuff is only possible because consumer devices are locked down and answer first to the vendor, then to the user.
You can say that all if this is an exciting new market that unlocks enormous amounts of innovation - I just don't think this is the kind of innovation that we should want.
IF newTV THEN
delay := 0
ELSE
(*make customer by new TV*)
delay := 10
ENDMy 2015 flagman phone from meizu seems to have the same processing power as potato. And I don't even play games on it.
Linus Torvalds and Bill Gates were and are obsessed with backwards compatibility, and _not_ breaking user programmes.
I am not sure how much the Great Man Theory applies here (https://en.wikipedia.org/wiki/Great_man_theory) or whether personal computers would have a culture of backwards compatibility without those two?
Intel also seems to care about backwards compatibility. (Though they needed a nudge from AMD when transitioning to 64 bit.)
In contrast, Apple and ARM seem more eager to start from a clean slate. So I can perfectly imagine a personal computer industry in an alternate universe that's happy to force people to recompile their programmes every few years; and otherwise to just abandon old binary-only software.
It isn't so much their influence as much as there is a community that is constantly searching for reliable platforms to build on.
ARM seems to be doing well and they release binary incompatible chips every so often. And resetting had long been the norm in the world of games consoles.
So I wouldn't take what we observed in the personal computer industry as a universal truth. It's probably rather contingent.
For the application space they have the old armv7 and the new armv8. The latter can actually run armv7 in aarch32 mode.
If I recall correctly, it runs a subset/superset of thumbs2 which standard armv7-8 also can execute.
Search for developer comments about their experiences with Rosetta 2.
Maybe Apple isn't so dumb after all, eh?
What makes the comments on speed even more impressive to me - note that the developer test machines are using a two year old CPU. Originally designed for a battery operated mobile device.
a replacement battery.
In what world is this not a valid example of planned obsolescence?
Apple's only mistake was not proving the opportunity for people to choose from the start.
My iPhone 5 became slower after 1-2 years. If the battery was bad, I never noticed it (no shutdowns or anything like that). It coincided with a new iPhone and iOS version... I tried every trick, from formatting the phone to reducing animations. Then I found a thread on Apple forums about this and someone was suggesting getting a new phone!
I did buy a new phone (OnePlus One) and it's still working after ~5 years. The battery doesn't last as long, but it doesn't die when I receive a call or play a game.
Because of this, that iPhone 5 was my first and last iPhone.
So...it worked as expected? Slightly slowing the phone down is exactly what prevented your phone from potentially and unexpectedly shutting down.
Last year I upgraded from a mid-range phone which was almost 4 years old. It didn't have any "slow down" feature and it never shutdown, so as you can imagine, I'm not willing to give Apple a pass here.
Failing that, if you have a blog, publicise that so others get put off buying that brand. Complain to them (edit: sony) directly also. Don't just sit there are take it, it's what they're relying on.
What we need is a push for free software in consumer electronics. Get any major manufacturer to realize that they can not differentiate on software and stick to making good hardware. The sooner they accept that Google is eating their lunch on the value-add anyway and that the best way to counter them is by commoditizing the software stack.
Were I an executive of LG or Samsung, I would just make sure that any TV could boot a custom OS and I would get it shipped with Kodi. Get whatever resources on R&D you want to keep and make sure they work on top of Kodi. Show a big fat finger to Android and let Google being forced to make their own TVs if they really want the market.
Typically those consumer rights only protect individuals, leaving businesses (even small ones, who are at a similar disadvantage to consumers in not being able to negotiate anything with huge manufacturers/suppliers) with little if any protection.
One key difference from days gone by is that modern devices often contain large amounts of private data, which you might not be willing to hand over.
And it's all rather academic anyway if competition in that market has failed and all the major products are doing to same user-hostile things. This is normally the point where government intervention would be required, for example through legislation or regulatory action, but governments have been unwilling or unable to keep up with the pace of technological advancement.
I believe this is, at least in part, because representatives usually aren't technical experts and so may not understand the implications of modern technologies or the potential alternatives to current practice. I have reached the conclusion that until we educate those representatives and show them that people do care about these issues, the tide of increasingly user-hostile actions will only continue to rise. But of course that means people have to care enough themselves to get involved in contacting their reps or at least supporting organised campaigns, and sadly, it seems a lot of people either don't care enough to do that instead of moaning on Twitter of Facebook and then accepting their fate.
Any reason why not here?
> consumer rights only protect individuals
he's an individual. It was not apparently a business expense
> with little if any protection
If you're in the EU you've got protection.
> that modern devices often contain large amounts of private data
It's a TV so in this case so what (in general, perhaps, but don't most devices have encryption?)
> And it's all rather academic anyway if competition in that market has failed and all the major products are doing to same user-hostile things
And you're rolling over hopelessly as if you can't do anything. Fair enough, you get (nothing) what you give (nothing).
> because representatives usually aren't technical experts and so may not understand the implications of modern technologies or the potential alternatives to current practice
IT'S A TV! WITH CRAPPY UI RESPONSE! Stop making excuses for bad practice. Do something.
> the tide of increasingly user-hostile actions will only continue to rise
OK, let's stop here. I complain when necessary & shit gets fixed quite often. You clearly can't be bothered to fight back so you're rationalising that it's not worth it. I'm not wasting time on this.
And you seem to have ignored my entire final paragraph, which was about what I think we need to do to improve the situation. I am doing my part; I contact my representatives to draw tech issues to their attention, for example, and I donate to various relevant campaign groups. But I am only one person, and it will take more than just me and a few people like me to effect change on the required scale.
You start somewhere
> And you seem to have ignored my entire final paragraph
which culminated in
>> sadly, it seems a lot of people either don't care enough to do that instead of moaning on Twitter of Facebook and then accepting their fate.
which is you accepting your fate, it seems. You suggested nothing useful, only moaned that others couldn't be bothered.
In summary you built up a case of hopelessness and accused others of it.
How come I often get results when I bug manufacturers? Your apathy superpower is painful to see. Thank you but that's quite enough, I prefer to get results instead.
Key is persistence.
Sure, do exercise your right as a consumer and do more than just complaining. If I ever bought something that started performing this badly I would return it as well. Problem is, what do you trade it for? I'd like to find a 50" TV with no smart TV features. Will your complaining and nagging on review sites going to make this a reality?
As long as we keep accepting only the choices provided by the status quo all you are getting is a slightly more comfortable golden cage. This is what makes GP feel powerless.
OK, nitpick over, I have trouble disagreeing with you. Let's try to answer that.
> what do you trade it for?
Perhaps if companies had to deal with a load of complaints, losing cash at each one, they might start to care? I can tell you that companies hate being embarrassed in public so complain loudly.
But otherwise, on another hn thread a while ago some guy said he'd bought, or would buy, a dumb monitor and link that up.
There's 2 solutions (if the latter works). Don't complain they don't solve everything instantly, they won't.
> Will your complaining and nagging on review sites going to make this a reality?
You'll never know if you don't try.
> This is what makes GP feel powerless.
I know the feeling! But I keep fighting back and I get results. Read that as you will.
Many of you US guys died to separate yourselves from the rule of us brits. Now for domestic goods you can't be bothered to rage. Doesn't seem right...
Like your post though!
For a very low bar of "results", sure. But unless you are getting electronics with special features or without artificial restrictions imposed by the companies, I wouldn't count I managed to return a shitty TV that got shittier for another baseline shitty TV as "getting results".
> Perhaps if companies had to deal with a load of complaints, losing cash at each one, they might start to care?
They won't "lose cash". If consumers on aggregate started demanding more quality and better support from their companies, it would translate into increased costs and consequently increased prices. Business as a whole can sustain the occasional annoying customer like you, but only when you are the exception and not the rule.
> But otherwise, on another hn thread a while ago some guy said he'd bought, or would buy, a dumb monitor and link that up.
Find the price of a 40"+ monitor that can do 4k and compare with the price of TVs, see how even high-end TVs cost less than the monitors. As an exercise to the reader, correlate that with the point above.
> You'll never know if you don't try.
I won't know because I don't want to know. I simply refuse to buy the shitty crippled electronics in the first place.
> Many of you US guys
I'm not American, but I lived there long enough to understand that most people live by the "Give me convenience or give me death" mentality. I also lived there long enough to realize that money is the only thing they understand. Put these two together, and it gets really hard to expect the average consumer to work to get anything better when they have something convenient for cheap.
> For a very low bar of "results", sure.
I'm curious, what are these results I'm getting that you judge as low-bar? I mean, specifically what?
What I did say was a response to this https://news.ycombinator.com/item?id=24292859
The trouble with the rat race is that even if you win, you're still a rat.
It is learned helplessness, or "I can't be bothered so it must be not worth trying because I'll fail anyway". I can get stuff done but I fear the worst for humanity if it just does what's easiest. And I don't mean about TVs, I mean about the future of our species and the planet.
YC News and Reddit are perfect examples. You'll regularly see NetFlix, Google, Microsoft, and Amazon staff directly responding to customer complaints on these forums. In the past, Slashdot would similarly have people in the industry commenting.
These are all US-based and predominately English-speaking organisations responding on a US-based news site in English.
Sony is headquartered in Japan. Their TV division is in Japan. They speak Japanese. They don't frequent YC News or Reddit. They don't read English-language tweets or blogs.
Similarly, it's borderline impossible to provide constructive feedback to laptop companies, because most are either headquartered in Taiwan, or constrained by the capabilities of manufacturers in Taiwan.
If I really want to do smart things with my TV I attach something I control to one of its HDMI ports (phone, tablet, laptop, Raspberry.)
I'm not thrilled about the idea of TV sets with an embedded 5G SIM that I can't disable. Worse if they'll only work if online.
Edit: example of 5G and TV https://5g.co.uk/guides/5g-tv/
(Also good to know that the big telcos will be rolling out 5G universally so all those 5G-connected TVs will work in every rural location, even those with coverage from only obscure CLECs /sarc )
I have an LG OLED that has HDMI 2.1, which can do 4k120fps (at least). Unfortunately current-gen GPUs only support HDMI 2.0, so I am limited to 1440p120fps or 4k60fps for the time being.
My TV itself is even older than that, and a dumb TV doesn't need to be upgraded often. That's part of the purpose of a dumb TV; longevity.
My MBPs from 2015 also don't support it, and Apple only recently released a decent replacement for these MBPs (given the keyboard issues in previous).
My old monitor from ~2014, a BenQ, also does not support it. While I recently replaced it, it still works perfectly fine (it doesn't have FreeSync though), and achieves 144 Hz over DP.
Also some people have pointed out a few displayport edid emulators keep the appropriate signals up to prevent Windows from thinking the monitor is off. I haven't tested it yet as when I first ran into this problem I just switched back to DVI, but a recent Windows or nVidia update (ha - timely with the article) caused my GPU driver to constantly crash with DVI, but when I switched back to DP it now works just fine. Sigh. I guess I do need to see if I can find the right kind of EDID emulator after all.
The DisplayPort spec actually explicitly says to not do what these defective monitors are doing.
No VRR (Variable Refresh Rate) though, so I'm just waiting for new GPUs myself.
I own an LG TV and stopped installing updates for the same reason - each update seemed to make it slower.
But the nags get increasingly urgent and my wife eventually installed it.
So now I disconnected it entirely from the network and use a Roku for smart features.
They try to use "smart" features to promote their products, but instead what they do with them shortly after the purchase has exactly opposite effect.
Also some of them (Samsung) intentionally break some (or all) smart features in some cases [0]. Even if they are legally allowed to do so (And of course they do. Who reads TOS...), it makes me really uncomfortable to buy any "smart" TV. It's a pity one cannot buy a dumb TV with quality picture and sound today.
[0]: https://www.archyde.com/samsung-blocks-the-tvs-of-russian-us...
It's a good thing that I'm blessed with a small living room, and I don't need 50" monstrosities ;)
Stop spreading fake news.
Also just because “Facebook” can listen, the TV still can’t receive updates and ads.
Eventually, their mobile site will be nerfed and a popup will appear saying "Facebook is best experienced with the app".
It's cool to live in a place where Facebook never took off, I guess?
Are you sure? Their light website works just fine for me [1]
Plus Xscreensaver on a projector can at least partially make up for the lack of interior decoration.
The way I look at these things is like a really cheap smartphone with a really great screen. Sometimes you have to search around online to find the best way to turn on/off certain "features".
I'm not buying hardware from them if they countenance unlawfully (contravenes UK Computer Misuse Act) accessing my device and removing functionality.
Buyer beware.
Anyway, we switched to FireTv - the same app I was side-loading was in the app store, tried Netflix, it's good enough.
Honestly I don't know how much Roku were involved in the process of crippling my STB, but there are other companies so I'm just going to avoid them.
I have a nice "smart" Samsung. But it's never even been on my network. I get streaming from an AppleTV, but insert your favorite flavor.
The downside of Roku is that it is an ad infested platform from the interface to the remote. They also have a “walled garden” that would make the Apple Haters cry. They won’t allow streaming apps on their platform unless you make a deal with them. Roku has blocked many third party streaming apps on their platform.
I still prefer my AppleTV4Ks that I got free via an offer for signing up with DirecTVNow, but not enough to give up the convenience of just using the Roku for the most part.
Problem is: we are dependent on Samsung. If they don't support a particular streaming service, we're out of luck. And I have no doubt they have the ability to cripple our experience.
My TV is also an output device only in my A/V stack. My receiver handles all the switching duties from the various sources. I have no signal path back to the receiver from the TV, which would be necessary to get audio from any on-board streaming apps.
But that's really just a side issue, because using a well-made streaming box provides a drastically better experience than using whatever garbage $TV_Co put in.
Then my TV broke down, I got a newer Samsung, and its speed runs circles around my Apple TV (2nd gen I think). The Apple TV seems painfully slow next to the Samsung Smart TV.
That's one reason :)
The Sharp was the first smart TV I ever purchased. Heavily discounted at a holiday sale some years ago.
When I brought it home, I connected it to the Internet to see what all the fuss was about. They're nothing special -- you can launch your typical streaming, news, and weather apps, all from the same terrifyingly-slow UI.
A few weeks later, the TV forced an update on me. A pop-up appeared _on top of_ another (external) video source, interrupting what I was doing. There was no option to decline the update, not even "remind me later".
I decided to turn the TV off rather than be strong-armed into the update. But when I turned it back on, the update popped right up again. I tried blocking the TV's Internet access using my router, but this had no effect either. At this point I felt mostly defeated, and assumed I wouldn't be able to use the TV until I "consented" to the update.
Needless to say, the TV is not allowed to connect to the Internet anymore.
Another complaint about modern smart TVs: the remotes are horrible. I don't know if they're IR, Bluetooth, 2.4GHz radio or what, but not only must you have line-of-sight to the receiver, you must point _directly_ at it, or some inputs will be dropped.
The remotes also often have dedicated buttons for proprietary streaming services which I've carefully removed with a razor knife. There is absolutely no reason for the remote sitting on my coffee table to function as free advertisement for Netflix/Amazon/Hulu.
I understand these buttons on the TV UI, but branded buttons on the remote control? Come now. That's going to look quite silly in 15 years when some of these services are defunct, or when the TV's OS is out of support and the apps won't run anymore (like what happened to Netflix on the Wii, or YouTube on the PS3).
This is assuming the panel even lasts that long... given all the R&D that manufacturers must be pouring into unnecessary software, I can't imagine the longevity of these devices has done anything but shorten.
I continue to search for large, high-quality "dumb" panels that I can purchase, but it seems like these are mostly nonexistent in the consumer/retail space. Any dumb TVs I find are usually very small. Everything over 35" or so seems to always be a smart TV.
Is anyone aware of a digital signage screen, or something similar, that will do 4k (preferable 120Hz) and has no network interface? Should I look into projectors instead?
Then sadly the author died, and it languished for a while until it was sold to someone else. The new owner seemed to try to keep it going, but then finally gave up last year and crammed an absolutely awful “update” that was actually a totally different software via the automatic update process. Everyone’s financial data got locked up in this new version that is almost useless. ~20 years of financial tracking just gone. To make it worse, they did it in December, just before people would need to pull reports for tax season.
I like to swing by it on the App Store every once in a while just to drop a one star rating. That’s about the only recourse you have.
On the bright side, in the years since I bought their app a free, better competitor was released, but I still don't think that absolves them of their responsibility.
It was hyperbolic of me to say that they're "better" in every way, but they cover all my personal marine use cases and several others, so I was excited when I found their app.
I have a few Google accounts. Only one is my actual name. Especially for games and reviews I use an aliased account (just like I use an alias here). Google can still track me I guess (IP) but a single dev will never find who UnrealName UnrealSurname is. And I do tend to leave brutally honest and detailed feedbacks whether positive or negative.
One week it updated basically every day, and so every morning at work I was greeted with a PayPal donation page for this extension author. After the 4th update I uninstalled it and left a 1-star review saying an otherwise good extension had now gotten far too spammy.
The developer actually emailed me asking me to take down the review, and tried making the case that it wasn't spam, they just had a reason to update it so many times.
I updated my review to say the extension author is emailing anyone leaving a one star review.
It is not malice, it's laziness and stupidity. Most apps are so trivial it is absolutely not necessary to break compatibility when you release a new version.
With regards to SaaS, nothing prevents open source SaaS software that can be set up for multiple small to middle-sized-user bases. One could argue that things like phpBB is exactly that. They might even connect to each other to form a larger network... I'm still hoping for a major breakthrough in this area.
I would add the other anti pattern companies use is opensource vendor lock in. They take what would basically be a 'meh' product and put good stuff ontop of it. But to get that 'good stuff' you have to buy their service contract. Sure you are using some open source. But the key bits are still proprietary.
It's usually better to design your (critical) data around formats that can be shared across a multitude of applications than on the bet than a single app will forever exist. Of course, it's a trade-off between convenience and flexibility.
Those that can't export to CSV have usually another way of getting that data into a spreadsheet application, from where you can export it as CSV...
And yes I know CSV technically sucks (varying encoding, lax standards, etc.), but it's the lowest common denominator for a lot of software.
This example demonstrates that the walled garden is not as safe as people think it is. Granted, reviewing every update in detail is a monumental task. Then again, this is why apple takes the 30%. I don't believe apple can catch all bad updates before they get sent out. An easy ability to revert to an older version of an app and its data would be very useful. Given how an iCloud-powered time machine for iOS would slurp up iCloud storage and push people to higher paid tiers I'm amazed they haven't done it before.
When I switched to android I do the same with a phone and a tablet. I only update 'blindly' my e-banking apps. Everything else (e.g. I frequently used CamScanner) does not get updated. Ever
For the PC, I use WFC and I block all apps that don't meet internet connection to work. VLC? Excel? Your use may be different of course. You may need the autonatic translation features of Word. I don't. Outlook only speaks to my email server, not MS. winRAR? Why? V5 is good enough. And so on..
I too have been burned by Devs removing features from the "current" version and pushing them to a paid one, or removing them altogether because of maintenance,shifting them to other products they run, and many many other reasons.
Steve Gibson says: if you didn't go looking for it, so not install it. My XYZ app works just find on its current version. Do I want an update? No thank you.
A tax software could be different though, tax code changes every now and then and you can't escape the updates.
You committed to a non-Free software solution, the maintainers of which held all the power over the software, denying you the freedom to have the software do as you wish. When they make a decision, it's to maximise their benefit, not yours. (They might also do so incompetently.) When they make a decision against your interests, unfortunately you have little recourse.
The trouble is, given the vast range of things we do with technology, it may be unreasonable or impractical to create a universal obligation for software developers to provide export facilities that allow transfer of the data in a standard format. For example, what if there is no standard format, perhaps because your software genuinely does something new or in a different way?
Going after hardware developers who try to contain data within their walled gardens isn't a bad idea, though. For example, the GDPR imposes certain requirements on data controllers to provide for data portability, and imposing similar measures on the makers of devices could both solve immediate problems for some users and provide for much more competition in the marketplace.
Huge amounts of software, particularly embedded software, doesn't have any sort of single structured database or a simple set of data files that you could just dump. Even where you do have these things, the dump won't be worth much unless the DB schema or file structure can be successfully interpreted in order to reconstruct the meaning of the underlying data within some other system.
That might or might not be easy, depending on how complicated the original data formats were. If it's something common and widely understood, perhaps some text a user wrote or a photo they saved, that's one thing. But what about something more specialised? Suppose you're moving to a new home. How do you export the training data from the AI in your old smart front door lock, which now recognises your friends and family's faces, so you can set up the smart locks on your new home to recognise the same people?
Unless there are industry standards for representing whatever data you're working with, providing portability between applications or devices that offer similar functionality from different manufacturers/developers is always going to be a problem. Encouraging standardisation is certainly beneficial here, but imposing some sort of blanket obligation on the manufacturers/developers to provide import/export functionality in the absence of any relevant format probably isn't.
Possibly, you could mandate that all software include a working self service data retrieval feature and fine the trust if they shut it off before a certain point in bankruptcy, but that seems heavy- handed and still won't work if there's no money in the accounts.
As time went by, its shortcomings and limitations became obvious and a new version was needed. But the development has already stagnated because the publisher's interests shifted. And finally when the new version was released, it contained numerous bugs, and many bloggers suddenly found they needed to pay several hundreds dollars of licensing fee under the new license.
Matthew Thomas, a blogosphere personality, wrote an outline for anyone who wants to create an ultimate blogging platform [2] that can stand the test of time and prevent similar incidents from happening again. Requirements included free database backend, open archive formats, and free software.
His article was also the source of a famous remark,
> In the long run, the utility of all non-Free software approaches zero.
---
[0] https://www.gwern.net/docs/technology/2004-pilgrim-freedom0....
[1] http://web.archive.org/web/20051107103030/http://mpt.phrasew...
[2] The Movable Type Incident was a major event responsible for the rise of WordPress, which was a new project at that time. Even the name "WordPress" refers to the printing press, in analogue to Movable Type.
But to be fair, that is allmost true of any software, with changing archtectures programming languages etc. but a thousands times yes! With free software you have at least the option of doing the work of migrating.
BSD-licensed low-level unix programs are still quite useful today and are likely to continue to be very useful in coming decades.
I quoted "In the long run, the utility of all non-Free software approaches zero."
hutzlibu said the same problem affects all software, not just non-Free software. In a constantly changing computing environment, even free software is affected. Nevertheless, hutzlibu was in agreement with the "spirit" of the quote, because at least the user still controls the software, and it's possible to migrate.
einpoklum disagreed, using BSD utilities as an example - showing how free software can be unaffected.
Disclaimer: I didn't downvote the parent post - Why is my parent post downvoted? There's really no disagreement here.
> Why is my parent post downvoted? There's really no disagreement here.
I appreciate it, but even if I'd disagreed, that's no reason to downvote.
I wouldn't say I have much more control over the open source software I use. I spent more time fighting desktop Linux than I did fighting Mac OS. I spent hours setting up self-hosted software that's more often than not just passable. Now I control the data, but I'm also responsible for it. I have to worry about updates, backups, migrations and so on.
If I measure how much effort I put into maintaining open source systems vs how many times I've been screwed by commercial software, I'd say both sides are worth considering.
I will concede that in the context of personal-use software this is less applicable than, say, in a business context, but it's still applicable.
But I also cannot let perfect be the enemy of good. There are closed source products I use simply because nothing else does the job and the alternative is the job not getting done. I do not know the solution to this problem, but I want there to be an answer to anti-consumer practices in software design (such as not allowing users to downgrade). I realize this creates all sorts of other issues: security, competitive disadvantage for existing products, difficulty complying with new regulation, etc. so perhaps open source is the only true option, but that locks out a lot of users.
I slowly put all my data into it and...
The app was sold, and one day they changed it and uploaded all my data to the cloud.
I deleted the app (and apparently all my data). what jerks.
2 years ago I looked at the SqLite db with the project to build a desktop app that would use this db, but I didn't commit to it.
Last week I wanted to finally build the app but I discovered that the developer had encrypted the db with AES256 in one of the previous updates.
I plan on contacting him to see if I can convince him to give me a way to read my data but I'm afraid that if he won't do that or I would potentially have the key to all his users db.
> 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.
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.
coughs in Nintendo Switch
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.
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".
> 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 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.).
Maybe that's precisely because the updates are preventing you from being owned?
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.
Updates its 3,4 times per year. Like I said order of magnitude difference
In order to fix their issue with the new version, they worked out how to roll-back by one version and disable future updates.
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
The problem here is the hostile relationship from the companies to their customers.
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.
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.
Altough, the reddit redesign sucks on mobile too.
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.
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
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.
Neither customers nor employees can do that
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.
> 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.
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.
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.
If people really cared (as much as they claim) you will make alternatives work for you.
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.
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.
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.
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.
Also Rome wasn’t built in a day.
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).
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.
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
In any event you can slowly move away from using a companies products. It isn't a all or nothing proposition.
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.
You can't have the cake and eat it too.
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.
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.
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.
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 ...
Network effects are strong. Too strong.
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.
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.
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.
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?
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.
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.
I have a very light profile up.
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.
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 free-as-in-beer software? You get what you pay for.
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.
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.
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.
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.
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.
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.
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.
Yes, some vendors suck. But the solution isn't to demand they stop making fixes. And the solution isn't to demand they stop pushing fixes, since we know in most cases the fixes won't be voluntarily applied until it's too late. I say it is a requirement for a competent vendor to push the best version of their software. The problem I see is a disagreement between consumers and vendors on what that best version should be. And not all vendors are like that.
Advertisements pop up at random times. I am constantly turning things off, and they get turned back on again. I am diligent about checking for updates at the end of my work day, and then turning off scheduled updates. I cannot afford to wait for a "Do not turn off your computer" screen.
Do you have a screenshot?
If you don't believe me, then just try it. Don't base your decisions on FUD from tech bloggers about how terrible the update process is.
Why do these devices with almost no moving parts need weekly (or monthly) maintenance? We don’t accept that level of neediness from any other household tool.
But consider that you don't use any other household tool for 8+ hours a day, and other household tools are not designed to serve a rapidly moving target of constantly changing application needs.
No, it’s just a reflection that the pace of updates exceeded my pace of attempting to use Windows. These all applied successfully, and an immediate reboot was fine.
> But consider that you don’t use any other household tool for 8+ hours a day
I don’t use my household computer nearly that much, either. At a guess, it sees a comparable amount of use as my dishwasher which demands significantly less attention. (My office computer is a different story).
> Other household tools are not designed to serve a rapidly moving target of constantly changing application needs.
Regardless of its design intent, my application needs aren’t rapidly changing: I use a computer for roughly the same things as I did 1 or 2 or 3 years ago. Why should I pay the time cost of upgrades to enable features I have no intention of using?
Changing back settings that you already changed once and an update reverted is still an interruption.
Having ads or new social-media-backed login screens shoved in your face when you try to run your software is still an interruption.
Restoring damaged or destroyed data from backups is still an interruption.
Reinstalling a wrecked system because some device driver or anti-virus update rendered it inoperable is still an interruption.
We are far from the rosy future you describe in some of your comments here. You might have been lucky enough not to get caught out recently, but clearly many people and businesses have not been so lucky.
I use the computer pretty much everyday. I temporarily turn on the scheduled update every night after work. I wait for it to check, and update and restart if needed. After all of the checks, updates, and restarts I turn off the scheduled updates to avoid the risk of updates occurring during work. So far, good enough.
After a while, certain notifications get turned on again without me having turned them on and without my permission.
The most recent nag-you-to-use-edge update didn't just forget to restore the defaultness of my Arch EFI entry--a mistake I could forgive--it deleted it. Luckily I could boot into Debian and restore the entry because the asshats at Microsoft didn't expect there to be a second Linux lying around.
Also, it somehow discovered that I'm not I'm Greenwich, and changed my hardware clock to local time (thereby confusing the other OS'es).
Not sure what telemetry mattnewton was talking about, but I can confirm that in general, Microsoft updates are not to be trusted.
I just booted Windows for the first time this month earlier this evening. Saw it installing updates when I shut it down. God knows what messes I'll be cleaning up in the morning.
Admittedly the situation was a bit janky in the first place, so I might share some blame in that case.
The updates turn telemetry on, I haven't even bothered turning it off now, not using Blackbird, or scripting with WMI (you cannot use the Task Scheduler GUI to turn it off ('Microsoft Compatibility Appraiser' under 'Application Experience')), you just get an error unlike everything else.
It used to be quite something to watch the Telemetry read your entire hard drive to do whatever it did, and it did slow the computer down. But it seems to be better now, haven't noticed any performance issues with it at least (Windows Defender is the noticeable one now, but not that bad). Maybe it is better because the EU looked specifically at Microsoft Telemetry and the introduction of GDPR laws, I don't know. It has most definitely taught me to monitor my home PC all the time for things like file access and memory usage.
EDIT: Telemetry may been better for me because it seems it has not been enabled by recent updates (all of 2020), at least for the scheduled task part of it. I was so used to updates re-enabling telemetry that I had assumed that one of them would have after a few months. My bad, and my apologies.
These are the games advertised/installed from the start menu / tiles.
The second bullet in the list reads:
"should be incremental and security or bug fixes only"
So while I do agree that your model should be the default, I see nothing wrong in allowing people who want to live on the edge to have a release with updates that do affect the interface (I use Fedora not CentOS, and I want the updates).
Why? We built software and supported old releases for decades just fine until the current toxic culture of pushing out frequent, often poorly-tested changes over the Internet came along.
Jacques has this one right. There are different reasons for updates, and conflating them is a problem.
It would be in everyone's best interests if we rapidly patched security vulnerabilities. It might be in a user's best interests to receive a fix for a bug that was preventing the software from functioning properly, if the user wants that functionality. It might be in a user's best interests to receive an update that adds support for some new hardware or online service or data format, if the user is interested in compatibility with those things.
None of the cases above implies any loss of existing functionality or change in existing UI, though. Updates can do those things as well, but we should clearly distinguish those from updates for reasons like security, robustness or compatibility, and it is not obvious that the same update procedures will be appropriate for all of these cases.
On the serious side, imo the fundamental problem is control. Opinions align along the lines how strong one feels about their computing freedom.
When automated updates make it harder for them to do the things they want to do, especially out of no action on their own, they are going to dislike the automatic updates.
And when trying to avoid the automated updates - which is what they see as the source of making it harder to do the things they want to do - is met with automated updates being forced even harder on them, they're going to dislike those automated updates even more.
The key isn't to not have automated updates, it is for those automated updates to not make it harder for people to do the things they want to do with their computers. Automated updates should be as transparent and frictionless as possible.
Take a hint out of the Linux kernel: Linus realized very early that updating the kernel should not break people's programs because that would cause them to not update the kernel. So the kernel developers try their hardest to avoid breaking people's programs. And this ends with kernel updates being one of the safest updates on a Linux system you can do.
Everything should be like kernel updates.
For instance, I open up the Prusa slicer software (for 3d printing) and it says there is an update. I didn't open the software to update it, so I always click no - I opened this because I need to 3D print something, and I don't know what the time commitment of updating the software is.
I'll go update it now that I am thinking about it, but this is a general pattern.
That's not useless information, but somehow they picked the worst possible time to present it: when I'm trying to do something else. Usually, I don't even remember an hour later what it was trying to offer me. All I remember is being aggravated by something annoying that was in my way.
That being said, I think automatic updates are a good thing when it goes from optional to required. At the corporation I am employed, we deploy via SCCM and have a window where the user can kick off the install. For example, if a cumulative update is pushed on Monday, we give the user until Thursday to install the patch on their own. Then, at 1PM on Thursday, a countdown begins to let them to know they need to save their work because this IS happening. That takes the blame away from the information system (hey, we gave you all week) and on to the user for poor time management. The alternative is your infrastructure turns into swiss cheese with vulnerabilities.
It's very common for (particularly mobile software) to just break the product entirely. Features I regularly used and depended on--sometimes even the main features--are just deleted. Gone, with zero chance of using it again. Sometimes ads are thrown in, adding a major vulnerability. Other times they reduce/cripple features, yet somehow worsen performance despite doing less. Sometimes they wipe data. Sometimes they update and suddenly require a google or facebook login to use "for convenience" (inconveniencing me who never needed to login before).
Updates before used to be bugfixes and cleanup, and major upgrades came out every year or two and you'd have to manually opt in to those by going to their site and downloading a new version, or going out and paying for it. Now your old, functional software is wiped from your system and replaced with a bad imposter using the same identity.
I'll begrudgingly install OS updates sometimes, but only weeks or months after release when all the downsides and upsides are easy to consider. The chances of me coming across some harmful vulnerability in the wild is far less likely than the reality of dealing with a harmful, work-destroying update. I haven't encountered the former in over a decade. I've dealt with the latter several times this year.
A few updates have been released this year since that bug, but none have addressed this issue. I've had to be very careful when working on active machinery because it's very easy to accidentally trigger it, and each time comes with the risk of accidentally breaking some very expensive machinery (or injuring people).
We developed an extension for client, as part of a solution. Now it doesn't work on most of clients phones anymore, Client is quite upset (we told him this might happen, but he is still upset and wants us to fix it, we still haven't found a robust solution that wouldn't be either total rewrite or side loading old unsupported browser)
A few years ago, Windows mistook my root/system partition for the boot partition, which it helpfully "cleaned" by removing ALL executable files. Don't remember the trigger for that one.
Another Mac OS X update broke my Samsung color laser + scanner. A few years ago, still broken. Recently the scanner was broken by another update. At first it was only the printer.
I'm sure there are more, but thos were the first I could recall.
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.
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.
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!
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...
Now if you apply the security fix to 1.0.5 the other feature breaks.
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
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.
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.
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.
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.
* 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.
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.
My next phone purchase obviously won't be from Samsung. And that concludes my venting about it in this thread.
> 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.
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.
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.
Many licenses include future updates.
I am far more likely to pay for software that supports file formats in the future.
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.
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 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.
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.
Usually, that's an argument for the old version
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..)
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.
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:
* 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
For file formats, updates changing file scheme need to be backwards compatible
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.
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...
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.
How do you do this?
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.
...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.
Works great and rock solid, even with new hardware released after LTSC. Missing the Windows Store but if you search the web there's a github repo which has an installable version.
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...
Neither. Ended up using a msdn key.
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.
[1] https://www.computerworld.com/article/2505356/eu-court-rules...
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.
>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.
> 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
> ...
That's exactly how it's done in conservative Linux distributions like Debian or Centos. By installing Debian stable, you receive 7 years of security updates only, and nothing changes without your permission. And quality of being user-centric is common to the entire FOSS ecosystem.
New features added and bug fixes.
Information not provided by developer.
Bug fixes and enhancements.
Information not provided by developer.
(Description makes it clear it will break something for me).
We're always making changes and improvements :)
Information not provided by developer.
(App adds some bullshit AR stuff I don't want or need).
I did update Firefox and Telegram though.https://7daystodie.com/a19-official-release-notes
They change notes are very detailed, and voluminous. If you had an issue with a previous build, you can, just by looking at the release notes, see if your issue has been fixed.
I hate software so much...
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.
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).
Agree that most are powerless to fight it but the worst offenders are working hard to keep the status quo.
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')
This is much misunderstood (and misunderestimated). It's not perfect or automatic. But it's worked remarkably well for over a quarter century.
Ian, you made a damned good thing and you are missed.
I had to restore a backup to find back my working version. Not sure sure if there are as many extreme examples: an installer that deletes the previous version, remove a valid perpetual license, without asking!
I would say this is putting it lightly. We're at a point where the ability to produce updates for a popular software is an asset that is traded on markets. A popular life-cycle for apps or browser extensions is basically:
- Some person makes an app or extension that is genuinely useful and available for free (often with the best intentions).
- At some point the developer cannot maintain the software anymore: They have lost interest or don't have enough time available, etc.
- Some company offers to buy the software and take over maintenance duties.
- As soon as the company owns the keys, they will push an update that includes ads/trackers/malware/etc into the formerly useful app, instantly compromising the machines iof the app's whole userbase.
- After some time, the community might notice and gradually the app will be communicated as harmful. The community mourns the loss of a useful program and users will move on until the cycle repeats...
> So, software vendors, automatic updates:
- should always keep the user centric
[... should do this, should not do that...]
This list is well-intentioned but I feel ultimately fruitless. Yes, updates should be centered around the interests of the users, but as the articel itself states, companies don't have the interests of their users in mind when pushing updates.
So I don't see a lot of incentive to follow that list, honestly.
The internet. We get it. We’re on the damn internet and anyone reading an article about upgrading software knows what the internet is.
This happens with hardware too. My building upgraded its (collectively paid for) cable internet from 100mbps to 250mbps. The cable company showed up and replaced the perfectly functional old modem/router with a "new" one theoretically capable of faster speeds, except that it runs blazingly hot and drops the wifi connection constantly; I suspect because 5mhz is actually overheating. I actually regret accepting free extra speed, and will probably end up ponying up 400 bucks for an eero mesh setup to fix the free upgrade that screwed over my whole network.
[1] this VPN software is malware. It demands the right to snoop on every system folder it can get its hands on and all kinds of admin details, for the privilege of... accessing university libraries. https://twitter.com/paulgowder/status/1296932684707631109?s=...
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
Updates are a crutch for the software developer (us). If you want to ship on a certain date you can punt your feature/bug backlog to v2. As a user if you download a Day 0 release of something you pretty much don't expect it to work well anymore. Oh and it's impossible to own software these days. Everything is a subscription.
I miss the days when video games came with all the levels in the box and when I could buy software for a one-time fee and then master the version I downloaded. I used Photoshop CS3 for years and years, I wasn't interested in what the new version could do I had barely scratched the surface.
As someone who ships updates to software weekly I am definitely part of the problem though...
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.
She has thousands of digital images that have been manipulated by a certain unique, proprietary software package. There are no modern equivalent applications, and the original one stopped being updated almost a decade ago.
Miraculously, it still works, but she is terrified at every upgrade prompt.
There aren’t really any acceptable substitutions for the original app. She could run it on her images, to “bake” them into TIFFs, but that would be a “once you are a pickle; you’ll never be a cucumber again” thing. The format is a reversible one that relies on a specific application to render it in a scripted, linear fashion.
So this is yet another issue of modern software. Format and rendering obsolescence. It can’t really be fixed. The original app was discontinued, because it was too expensive to maintain, and the customer base was too small to reward maintenance. The driving technology was patented and proprietary.
This is not unique to photography. I think pretty much every art or industry has this problem.
As long as she maintains her operating system at a certain level, the application will continue to work, but the day is coming (probably quite soon), where it can’t work. She has already refused to upgrade to the current version of the OS, and it is only a matter of time before she can’t get a computer that will run the older version; not to mention the security issues inherent in running out-of-date systems.
It’s a huge problem. Open-source is helpful in some cases, but not all (it wouldn’t help here, because no one would bother to pick up the app; even if the proprietary parts were published, unless a skilled software engineer was also a photographer and expert at that software, and would be willing to do the heavy lifting required to publish and distribute the software).
It’s also not a new issue. I am glad to see a lot of open-source and standard formats, but they don’t solve every problem.
Open standards tend to suffer from the “all things to all men” problem, where the needs of the few are subsumed by the needs of the many. They are also often quite painful to implement. Anyone that has written a general-purpose TIFF reader will know exactly what I mean.
That may change, soon...
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 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.
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.
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.
That sounds completely unrealistic and inefficient for everyone involved.
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.
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
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.
Then, out of the blue, they replaced it with a re-write. The new app was slow, missing most of the functionality in the previous app (not esoteric stuff, but things like play lists). The new UI was incomprehensible (even to me, a developer) and the had a massive number of serious bugs, like deleting your podcasts, missing episodes, never downloading episode and marking things you never listened to as played. Over the last year or so they have been continually fixing things so now it's almost as good as the application it replaced.
What about users running different versions of the software on different devices while expecting everything sync correctly?
What about communicating with versions run by other users?
What about the server side of the app? How many different client versions are you going to support for how long, and what does that mean for database schemas, etc?
Over time, there will be an enormous combinatorial explosion of possible system states and state transitions that will inevitably cause bugs and confusing situations for users.
You'd have to architect everything for forward and backward compatibility - protocols, schemas and all the rest of it. How do you deal with all the complexity without quickly accumulating unmanagable technical debt?
I agree that there are a lot of gratuitous and sloppy automatic upgrades that ignore user interests. I also agree that there are types of software where letting users keep old versions is not a problem at all.
But I don't think this debate is complete without also talking about the issues that remain after accounting for bad faith, incompetence, greed and negligence.
It's about a game, Europe Universalis 4, which, 7 years after its release, still regularly gets major feature updates, sometimes dramatically changing how the game works. Years ago, one such update that added a lot of tactical depth to the game, ended up hogging so many resources on my aging PC that the game ground to a halt and became unplayable.
Fortunately, Steam allows you to easily revert back to a previous version of the game. Also useful when an update breaks save-game compatibility when you're in the middle of a game.
Sadly, a lot of software does not have that option. It should be standard, or our OS should enable us to easily revert back to a previous state of an installation.
At one point, I used my ancient text editor for 10+ years without updating it. I've used Sublime Text 2 for many years with no interest in updating it (though I'm sure it's better, it just does everything I need already). I used a version of non-monthly-payment Adobe Creative Suite for around 10 years without upgrading - I was still using the same file formats and didn't need anything new.
Almost every time I've updated an app, I've been burnt. Cruft I don't need, ads I don't want, phoning home on start up - ugh.
Of course, ridiculous bundling of software features makes any partitioning difficult.
A recent macOS update is a good example of ridiculous bundling: half the release notes (and the first notes listed) for this “OS update” were for “Apple News+”, and the other actual OS update notes — that looked infinitely more important — were left to scroll out of view. To hell with Apple News+!! Features of an application (that I do not even subscribe to) should never have become part of the OS, much less updated through first-class bundling with fixes to the OS itself!
"But it's new!" is my most hated justification for changing software. If a tool works I almost always want it left alone. I don't care about the new layout or some new features. I'm using the software because it already suits my needs and I don't want to waste time and mental energy figuring out some changes that are useless to me.
I wish far more companies followed the approach laid out here. I think it would be far more respectful of users in almost all cases.
Mine is a bit ridiculous. I never upgrade the Firefox browser, as a matter of principle. The reason is that last time I did, Firefox would refuse to open new tabs unless it was restarted. I did not want to restart it, since i'm running a few windows in private mode, using different 2FA logins, and that would entail to fill-in a lot of passwords and type a lot of numbers received from several SMS. That was very annoying, and I vowed to never upgrade Firefox again. Does anybody know a workaround for this stupid problem of mine?
See the gmail app for endless pointless tweaking. It solved email perfectly fine, now it includes meets and some asanine button panel on the bottom taking up a massive amount of space.
My phone hasn't changed, but android has, and thus my phone is almost uselessly slow at this point compared to when I bought it a mere two years ago. Remember the feature phone that worked the same the day you bought it years later? What a blissfully simple device.
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.
What I think has been lost in the past decade or so is the distinction between Major and Minor releases. I'm all for regular minor updates whose only goal is security and stability improvements. When a Major update comes around I know that i'm in for things being changed, possible breakage, etc, but at least I know ahead of time and have the ability to opt out. But with the rise of always connected software, software as a service, what have you, there are no "versions" to settle on.
I needed to do some art work recently so just got back into the Adobe world and there is no Photoshop CS3 or Photoshop CS6 you can buy and use. Instead, you can only buy a subscription to "Photoshop" - which is always the most recent version. This story is playing out everywhere with software houses abandoning Major versions you can buy and going for subscriptions. They don't ever want to have you able to buy a version you like and stick with it because there is no recurring revenue in it.
It prevented him from having the tools to book a last holiday in the sun, and in my view Microsoft stole that from him.
> must allow a revert to the previous situation
So each app on my system would have the base 1.0 version code, plus any number of patches. I could choose to run it with zero or any number of patches up to the current version. And I'd be able to stop subscribing to patches from the vendor if they are taking the software in a nonpreferred direction, and switch to someone else who's forked it. The UI for this would be standardised in the OS, not controlled by the particular app developer.
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.
Xcode is the fat, bloated bastard I'm looking at, but there's plenty more. And on mobile, where bandwidth is often metered it's even worse.
And if it's free software? Forget it. You're not the customer.
The last one is unreasonable because it's impossible to know what third parties are going to do. If they use the plugin API in an undocumented way, then they're the ones being irresponsible.
So the lesson is, never upgrade unless you need to.
Another angle to this is that had Slack not been a proprietary platform, I would've taken time to find or help develop a sane client that is -e-a-s-y- possible to fix.
This contract cuts both ways. That is important to realize.
Ironically, I’m keeping the router’s software up to date though. Security is important. But it’s linux, I can always roll back.
Careful: Many UI changes are just branding refreshes. (How frequently do Coke cans change?)
But, moving around the buttons because someone felt like it is just dumb.
> should never change the format of data already stored on the system
Careful: Internal databases change schemas. It's impossible to keep a database schema through upgrades when new functionality requires an updated schema.
This particular request really depends on what the application is doing. For example, if an upgrade decided to automatically convert .doc files to .docx, that's a problem. But applications that maintain internal state need to be able to fix bugs or make general improvements to that internal state.
> must allow a revert to the previous situation
Software doesn't know the future; it can't handle schemas that didn't exist when written. More specifically, if an upgrade alters an application's internal state to match what's needed for a new version, there's no easy way to go back to the old internal state.
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.
Imagine a phone with updates like that…
> 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.
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.
But that's one app model. Does Apple still allow for models like that?
The model currently used by a number of apps - webapps, Electron apps, browsers, operating systems - is that of the "evergreen" model, where they continuously update. But this is where Firefox is dropping a bollock; they do BIG updates, rebrand it with things like Quantum, and push MAJOR UI updates.
Contrast this with Chrome which, from a user (i.e. my) perspective has only done incremental updates. UI changes have been small and subtle. This page [1] has a number of screenshots from the old version of Chrome. I have a dark theme going on now but it's not changed that much at all. Chrome has never been a brand, hardly a product, as opposed to Firefox which is still stuck in the 90's / 2000's where they only get interest if they do a new version.
That was the old model for Windows, Office, Adobe products, etc for a long time as well - they HAD to make a new "big" version to keep sales going. But customers did not HAVE to update, so they would often stick with older versions - things that worked - and e.g. Adobe HAD to come up with new features to convince people to upgrade.
But it's all gone to subscription services now, which come with "evergreen" updates.
One more anecdote I'd like to do: I've been using 1password for years now, because for me it worked best as a crossplatform password manager (Windows, Mac & iOS, synchronization via Dropbox). They switched to a subscription model a while ago, but the versions I have were all paid for in single purchases. On Windows I'm still on 1password 4 while on Mac it's 1password 7, and thankfully the two are still fully compatible when it comes to their data. I'm sure this won't last, but as long as I don't HAVE to update (and as long as their encryption is solid), it'll be fine to just keep the version I have now - That is one company / product that cannot afford to be flippant about their customer data, data format. I've got hundreds of accounts in there, if I were to lose it it would be... pretty bad. At the very least I should write down my gmail password and double check my recovery codes because everything is linked to that one account. Anyway I ramble / digress. Stuff.
[1] https://www.techrepublic.com/pictures/photos-10-years-of-goo...
"Anyone who stops learning is old, whether twenty or eighty. Anyone who keeps learning stays young. The greatest thing you can do is keep your mind young." --Mark Twain
The logical conclusion is that any and all software should follow and evergreen/rolling release model in order to take maximum advantage of the flexibility built into the medium.
Commercial software should all be subscription-based. Even software which is packaged as fixed releases has to support routing updates in order to deal with security issue.
The problem of "excessive involuntary updates" is much smaller than the problem of devices which are not kept up to date by their manufacturers. Cheap mobile phones are among the worst offenders.
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.
Lol I manage to operate my computer to do advanced things just fine and still cope with update.
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.
That gives you more adaptability, but the downside is lower efficiency in terms of both speed and energy expenditure.
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.
If you can write words in a file you can program.
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.
Learning a new interface takes effort.
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.
Not sure where you got this idea from.
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?
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.
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.
Is that mocking you?
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...
I had, without a doubt, the cleanest windshield in all of Hokkaido.
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.
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.
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.
(Let it be a sign of how bothered I was by your cavalier attitude, that I dug through tweets.)
I’m literally a cavalier so that’s fine by me.