The Rise of Needy Software: How Modern Apps Constantly Demand Your Attention

In the not-so-distant past, software was a simple tool—a means to an end. You launched it, completed your task, and moved on. But over the last decade, this relationship has subtly, yet profoundly, changed. Modern applications, now often called "apps," have become increasingly needy, demanding constant attention, updates, and personal information. As Nikita Prokopov observes, "Newer programs started to want things from you. This got so bad that when a program doesn’t ask you to create an account, it feels refreshing."

This new dynamic is characterized by a barrage of interruptions: mandatory updates that lock you out, relentless notifications that function as digital to-do lists, and onboarding popups that announce features you never asked for. The result is a user experience that is less about empowering the user and more about serving the software's own needs.

The Tyranny of Updates and Notifications

One of the most visible manifestations of this neediness is the relentless cycle of updates. In the past, updates were infrequent events, often accompanied by detailed release notes that informed users of changes. Today, updates are largely automatic, and in many cases, mandatory. Apps push updates in the background, sometimes breaking critical functionality without warning.

Nick Heer, a prominent tech writer, highlights the absurdity of this trend with a personal example from Adobe's ecosystem. "Adobe is so awful about this, it added an option called ‘Quiet Mode’ in Photoshop ‘to reduce in-app pop-ups and non-essential notifications’," he writes. "Not eliminate—that would be too kind—but reduce." The preference isn't even consistent across Adobe's apps, forcing users to rediscover it after every update. Heer also recounts being interrupted by a menu bar notification about an Adobe MAX conference keynote—a marketing message disguised as an update.

This pattern extends beyond Adobe. As one reader notes, "The company needs to announce a new feature and makes an onboarding popup window about it." These popups are not just annoying; they are a symptom of a deeper issue: software that prioritizes its own agenda over the user's.

The Agile Fallacy: Optimizing for Developers, Not Users

The root cause of this problem, many argue, lies in the software development process itself. The rise of Agile methodologies and continuous delivery has led to a culture of shipping updates every two weeks, often with little regard for the user's experience.

Jeff Johnson, a user experience expert, suggests that this is a direct result of Agile. Yet, as Heer points out, "continuous integration means that you need to be constantly shipping. They are optimizing for how the developer wants to work, not what the customer wants delivered."

This is not just a problem with individual apps. It extends to operating systems. Apple's fixed OS release schedule, for instance, is based on the theory of a "continuous flow of value to users." The reality, as one commenter notes, is that "there are no more polished releases. Any given release may fix a bug in one area but turn another area beta without warning."

Dave Rahardja, a software engineer, adds a crucial distinction: "I don’t think users are complaining about server code being updated too often. In fact, most users have no idea how often server-side code is updated." The real issue is the lack of transparency and control. "With automatic app updates, users may also have no idea how often their app is updated," he writes. "Does it matter if the updates happen every other week or every other month?"

The Loss of Control and the Broken Update Model

The modern update model has effectively stripped users of control. Auto-updates happen silently, without release notes, and without user consent. As one reader who experimented with turning off auto-updates for a year discovered, the result is a "huge backlog in the App Store app with little way to sort through them."

This lack of control is compounded by the fact that updates are often forced. "An unfortunate pattern I’ve been seeing lately is that they make a breaking server code change and so you’re forced to update the client," Rahardja explains. As a user, he prefers the old model: "I can see what’s happening (I love reading release notes) and when I want to update each app."

The problem is exacerbated by the App Store model, which encourages developers to push updates frequently. "The App Store model has ruined this because developers are constantly pushing updates, and they happen in the background (sometimes breaking things at the worst time) without showing any release notes," Rahardja writes.

The Need for Software to "Know Its Place"

Beyond updates and notifications, modern software exhibits another form of neediness: an insatiable desire to connect with the outside world. Apps today are packed with third-party services—Crashlytics, Google Tag Manager, Google Fonts—and they often break when these connections are blocked.

As one reader notes, "The most stupid apps are the ones where I got a white interface (as in no controls visible) when I used Little Snitch to block everything." At a minimum, users should be warned: "hey this is a webapp and not a real one."

This neediness extends to marketing. Microsoft, for example, pushed three updates in as many days for its Windows App (RDP client) for a single compatibility feature. As one commenter puts it, "god forbid you test your software before releasing it and bother the user as little as possible."

A Call for User-Centric Design

The solution to this crisis is not to abandon progress but to realign it with user needs. Software should know its place: to be a tool that empowers the user, not a tyrant that demands attention.

This means giving users control. As Heer argues, "the app should put me in control. I should be able to skip the onboarding and get right back into the app with a single tap. There should also be a link or menu command so that I can go back and view the information when I feel like it."

It also means rethinking the update process. Updates should be transparent, with clear release notes and the option to delay them. The goal should be to deliver value, not to create a constant state of flux.

Conclusion: Reclaiming the Tool

The modern software landscape is at a crossroads. The relentless pace of updates, the barrage of notifications, and the loss of control have turned a powerful tool into a needy companion. As we look to the future, we must ask: what is the purpose of software? Is it to serve the user, or is the user here to serve the software?

The answer should be clear. Software is, and always has been, a tool. It is time for developers to remember this and build applications that respect the user's time, attention, and autonomy. Only then can we reclaim the promise of technology: to make our lives easier, not more complicated.


Source: This article is based on discussions from Michael Tsai's blog, "Needy Software," originally published on November 18, 2025. Key contributors include Nikita Prokopov, Nick Heer, and Dave Rahardja, among others.