需求繁多的程序
Needy Programs

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

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

## “需求过高”程序的负担 Hacker News上的一场讨论,由[tonsky.me](https://tonsky.me/)发起,凸显了用户对侵入性软件实践日益增长的沮丧。核心抱怨集中在软件不断要求关注——更新、"最新功能"模态框、权限请求和账户创建——常常感觉不尊重用户的时间和工作流程。 许多评论者同意,开发者常常将便利性或数据收集置于用户体验之上,并举例说明,例如强制更新、过多的通知以及无休止的定位/联系人访问请求。担忧延伸到即使对于烤箱等简单设备也需要账户的日益增长的趋势,这可能导致订阅模式和数据监控。 虽然承认更新的必要性(尤其是安全补丁),但用户提倡更周到的实施方式。建议包括将安全/错误修复与功能添加分开,允许集中式更新管理(如应用商店),并提供简洁、信息丰富的更新通知,而不是破坏性弹窗。这场讨论反映了人们对较早桌面软件的简单性和用户控制的渴望,在那种软件中,数据所有权和软件功能更直接地掌握在用户手中。
相关文章

原文

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