What changed?
> 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.
Now, users universally understand that updates solve your problems, not theirs.
> If I need an update, I will know it: I’ll encounter a bug or a lack of functionality. Then I’ll go and update.
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.
It's a fun puzzle but to hard for me.
Perhaps a 4th kind is needed (needed by the developers)
If the updates are split into small chunks some users could review it before installing. Read the div in the dialog.
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.