需求繁多的程序
Needy Programs

原始链接: https://tonsky.me/blog/needy-programs/

## 软件权力动态的转变 多年来,软件一直服务*于我们*——响应我们的需求和命令。现在,这种关系发生了逆转。现代程序,通常被称为“应用程序”,越来越多地*要求*我们提供东西:强制账户(尽管通常是不必要的),持续更新,以及无休止的通知。 这种“需求感”让人感到侵入性。许多应用程序在没有账户的情况下也能完美运行——像Syncthing这样的安全同步工具和Mullvad VPN这样的支付处理器就证明了这一点。同样,自动更新通常不是用户驱动的;我们很少*要求*它们,并且在没有持续提示的情况下也能很好地管理。特别是通知,代表程序在用户注意力之上断言其重要性。 作者提倡回归像经典命令行工具`ls`那样,仅仅*能用*的软件。这些工具安静、响应迅速,并尊重用户的自主权。相反,我们被公司想要*我们*使用的功能和公告轰炸,而不是*我们*需要的,将我们的电脑变成了程序争夺我们注意力的平台。 恳求很简单:把控制权还给用户,让软件成为工具,而不是一个要求苛刻的伙伴。

一个 Hacker News 的讨论集中在软件日益增长的“需求性”——程序要求账户、持续更新,即使是基本功能也需要过多的系统资源。 对话源于对 tonsky.me 的一个链接,该网站强调了这个问题。用户回忆起较旧操作系统(如 Windows 2000)缓慢且占用大量资源的启动时间,并将之与如今的软件膨胀现象进行对比。 人们对未来表示担忧,一位评论员预测即使家用电器也需要账户和订阅。其他人则对简单任务需要账户的要求以及对短信双因素认证的依赖表示沮丧,并提倡使用硬件密钥作为更安全、更易访问的替代方案。该网站的设计,特别是夜间模式,也获得了积极的反馈。
相关文章

原文

If you’ve been around, you might’ve noticed that our relationships with programs have changed.

Older programs were all about what you need: you can do this, that, whatever you want, just let me know. You were in control, you were giving orders, and programs obeyed.

But recently (a decade, more or less), this relationship has subtly changed. Newer programs (which are called apps now, yes, I know) started to want things from you.

The most obvious example is user accounts. In most cases, I, as a user, don’t need an account. Yet programs keep insisting that I, not them, “need” one.

I don’t. I have more accounts already than a population of a small town. This is something you want, not me.

The only correct reaction to an account screen

And even if you give up and create one, they will never leave you alone: they’ll ask for 2FA, then for password rotation, then will log you out for no good reason. You’ll never see the end of it either way.

This got so bad that when a program doesn’t ask you to create an account, it feels refreshing.

“Okay, but accounts are still needed to sync stuff between machines.”

Wrong. Syncthing is a secure, multi-machine distributed app and yet doesn’t need an account.

“Okay, but you still need an account if you pay for a subscription?”

Mullvad VPN accepts payments and yet didn’t ask me for my email.

How come these apps can go without an account, but your code editor and your terminal can’t?

Every program has an update mechanism now. Everybody is checking for updates all the time. Some notoriously bad ones lock you out until you update. You get notified a few seconds after a new version is available.

And yet: do we, users, really need these updates? Did we ask for them?

I’ve been running barebone Nvidia drivers without their bloated desktop app (partly because it asks for an account, lol).

As a result, there’s nobody to notify me about new drivers. And you know what? It’s been fine. I could forget to update for months, and still everything works. It’s the most relaxing I’ve felt in a while.

Even terminal programs bother you with updates now.

There has been a new major release of Syncthing in August. How did I learn about it? By accident; a friend told me. And you know what? I’m happy with that. If I upgrade, nothing in my life will change. It works just fine now. So do I really need an update? Is it my need?

It’s simple, really. 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.

Until then, politely fuck off.

Notifications are the ultimate example of neediness: a program, a mechanical, lifeless thing, an unanimate object, is bothering its master about something the master didn’t ask for. Hey, who is more important here, a human or a machine?

Notifications are like email: to-do items that are forced on you by another party. Hey, it’s not my job to dismiss your notifications!

I just downloaded this and already have three notifications to dismiss.

Sure, there are good notifications. Sometimes users need to be notified about something they care about, like the end of a long-running process.

But the general pattern is so badly abused that it’s hard to justify it now. You can make a case that giving a toddler a gun can help it protect itself. But much worse things will probably happen much sooner.

These fucking dots.

There’s no good reason why, e.g. code editor needs a notification system. What’s there to notify about? Updates? Sublime Text has no notifications. And you know what? It works just fine. I never felt underinformed while using it.

The ultimate example: account, update, and notification

The company needs to announce a new feature and makes a popup window about it.

Read this again: The company. Needs. It’s not even about the user. Never has been.

What’s new in Calendar? I don’t know, 13th month?

Did I ask about Copilot? No. The company wants me to use it. Not me:

Do I care about Figma Make? Not really, no.

Yet I still know about it, against my will.

I’ve read somewhere (sorry, lost the link):

ls never asks you to create an account or to update.

I agree. ls is a good program. ls is a tool. It does what I need it to do and stays quiet otherwise. I use it; it doesn’t use me. That’s a good, healthy relationship.

At the other end of the spectrum, we have services. Programs that constantly update. Programs that have news, that “keep you informed”. Programs that need something from you all the time. Programs that update Terms of Service just to remind you of themselves.

Programs that have their own agenda and that are trying to make it yours, too. Programs that want you to think about them. Programs that think they are entitled to a part of your attention. “Pick me” programs.

And you know what? Fuck these programs. Give me back my computer.

联系我们 contact @ memedata.com