I'm 100% with Tonsky on this one, it's something that's frustrated me for years and I think it fundamentally boils down to a lack of respect for your user.
I'm going to be careful here, this doesn't mean that there aren't times when we can't avoid bothering our users, but I think we resort to doing so far too often, we don't apply the axiom of "if this person was someone who I deeply respected and would feel real bad if the contacted me and asked me to justify bothering them, would I still do this" as our actual test.
I'm not saying this is uniquely our decision, this entire process might be out of our hands, but in my opinion it bares thinking about and weighing up appropriately.
It's very easy to say it's only 5 seconds, if your software serves millions, that's a lot of people and even if you don't, a couple of 5 seconds here or there adds up very quickly.
I'm not here to berate or point fingers, but we also are users of each others software, so I hope that at least on that level we'll try to do better :)
This is not a new problem. Anyone remember what booting Windows was like back in 2000? All the programs loading bunch of libraries from spinning rust, just to get their tiny, useless icon to the tray. Some would show banners as they started in the background, to remind they exist. It would take minutes from GUI first paint to all icons in the tray and system responsive again.
Btw, night mode on that site is brilliant. Also necessary, the yellow burns my eyes.
I miss the very calming, cold, solid, metal feeling of desktop software.
Log back in after a vacation, and everything's still there.
A window with "maybe" resizable panels and a menu, and that's it.
The Web used to be the "documents."
For a technology that's been built for documents, all the navigation, footer, and header of any modern app feel like a "hack" compared to elegance of what desktop used to be.
In an old-fashioned desktop application, anything that gets "synchronized" is by choice, and rather feels like magic.
In a web app, even the UI is not a given.
We are forced to stay logged to an "Massively Online Revenue Platform Generation" games, and it keeps getting disconnected, and is laggy.
So "Let's replace the Cloud with self-hosted alternatives," right?
-- Good luck with added effort and complexity of config, maintenance, network, db, bugs, updates, and the pain of "admin accounts" in first setup.
We used to have the client and server functionality baked together in any major desktop software that used to connect to FTP, IRC, P2P, Mail, and to each other.
Today it's accounts...
Accounts.
It's accounts all the way "up."
We used to own the data, and the software.
Now it's full-scale surveillance and dispossession.
And soon even your oven will require an account with subscription so that the built-in camera can notify you when the bread is browning and it asks for permission to lower the temperature
I'm imagining it even worse: you have to pay a subscription to get your oven to go above a certain temperature and for it to "fast pre-heat" and to not have it show you ads.
Telemetry is not mentioned. Many apps nowadays are extremely chatty and record a wide range of details of use. In theory this helps to optimize usage and discover blocking bugs, but in reality it is mostly just an annoyance that enables service providers to spy on what users are doing.
This is a uniquely terrible article that doesn't bother with any kind of nuance. If you are using my service and I need to make backwards incompatible changes to my system, you can bet I'm going to force you to update. I'm not going to carry around legacy baggage forever so that I can accommodate luddites with loud opinions and too many Twitter followers.
To be clear I don't think the author's point on updates is such a good idea and that's an example of why, but I understand they require a level of trust on the developer that many, many companies haven't earned.
Inform the user in a minimal way. Probably this means some kind of flag that can be clicked on in order to see a list of what was done and what problems that might address. If the fixes relate to unused features then they can be pended and there is no need to interrupt workflow.
The solution is elsewhere: let me update my programs centrally without the program deciding. Like the App Store or the apt repository.
It’s fair if devs don’t accept reports unless the user runs the latest version.
If you care about security, like a company, you’re probably also doing that on a schedule, and more or less globally, not in the program itself anyways.
If the security fix is critical, I’d argue the user does need to install it asap, and then letting them know does make sense.
reply