2026-07-27 · 8 min read · Raw Drafts / Generative AI / Safari / Software / Interaction Design

An App Too Small to Exist

Apple can now generate a Safari extension from a description. The stranger shift is that useful software no longer needs a market, a name, or a reason to become a permanent product.

Apple Describe an Extensiongenerative AI Safari extensionsoftware too small to existpersonal generated softwarewebsite is not the final interfaceAI generated browser extensionsfuture of apps and extensionsKris Haamer Raw Drafts
Version 1Kris HaamerJuly 27, 2026View history

I have installed Safari extensions to hide cookie banners, convert currencies, save images, inspect fonts, remove distractions, change the way tabs behave and make YouTube slightly less irritating. Each one arrived as a complete little product. It had a name, an icon, a developer, an App Store page, a privacy explanation and often an onboarding screen that was somehow longer than the problem it solved.

Apple has now introduced a Safari feature called Describe an Extension. You tell Safari what you want, and it generates a custom extension in the toolbar. Apple’s example is a button for saving and rating recipes. This sounds like a small AI feature, almost something that could disappear into the long list of things announced at WWDC. But I think it represents a much stranger change in what software is allowed to be.

A diagram showing the old browser extension journey from annoyance through search, comparison, installation and use.
Previously, even a tiny irritation had to become a market.

Before this, a browser extension had to be large enough to survive the journey from an irritation in someone’s head to a thing other people could discover. Someone had to decide that the irritation was common enough to justify building. They had to write the code, package it, publish it, explain it, support it and keep fixing it whenever a website changed. The extension had to become a product before it was allowed to become useful.

This created a weird minimum size for software. There are many things I would like my browser to do, but not enough to search for an extension, compare five suspicious options, grant one of them access to every page I visit and then keep it installed forever. There are probably also things only I want. Maybe I want an Estonian property website to show the distance from each listing to the nearest train station. Maybe I want an event website to hide everything that clashes with my calendar. Maybe I want one specific table on one badly maintained government website rearranged according to a logic that only makes sense for a project I am doing this week.

None of these ideas deserves a startup. Most do not deserve an App Store listing. Some barely deserve a filename.

Until now, that usually meant they did not exist.

The immediate reaction to Apple’s feature is that it could threaten extension developers. It probably will threaten some of them. A large number of extensions are thin wrappers around a content script, a little local storage and a button. They hide things, move things, extract things, watch things or add one missing action. Those are exactly the kinds of programs that become difficult to sell once a user can describe them in a sentence.

But “AI kills another software category” is the boring angle. The more interesting part is that software no longer needs to pass the test of becoming a category at all.

A browser diagram showing a natural-language request becoming a local Safari extension.
The extension can arrive before it has a name.

Describe an Extension suggests a type of software that exists because one person asked for it, possibly once. It may have no audience, no business model and no reason to be distributed. It might be used for three days and then abandoned. It might be regenerated later in a slightly different form. It might never be stable enough to become a product because stability is not the point.

This is different from the current idea of vibe coding, where a person asks an AI to build an app and then still has to decide what the app is, host it, maintain it and perhaps convince other people to use it. Safari is putting the generation step inside the place where the need appears. The distance between “this website is annoying” and “my browser now behaves differently” becomes a prompt.

That matters because most software ideas begin in the middle of something else. I do not wake up wanting a browser extension. I am trying to book a bus, compare bank fees, research a company or find an available doctor. The software idea appears as friction inside the real task. Until now, acting on that idea meant leaving the task and beginning a second project called finding or making software.

Apple is collapsing those two projects into one.

The website also stops being the final interface. A company can spend months deciding which filters are visible, which information is hidden behind a click, what counts as the primary action and where the advertising should sit. But if the browser can generate a persistent layer on top, the company’s interface becomes only a proposal. The user can ask for another one.

Three stacked interface layers showing the shipped website, a generated personal layer and the interface the user actually uses.
The product team designs the lower layer. The user increasingly controls the last one.

This is more radical than an AI agent clicking through the existing interface. An agent accepts the software’s structure and operates it quickly. A generated extension can reject the structure. It can add a button the company did not provide, remove an element the company considers important or combine information that was deliberately separated. It does not merely use the product on my behalf. It changes what the product is for me.

There is an uncomfortable design question here. Designers have spent years arguing that interfaces should be shaped around users, while still assuming that the designer gets to ship the final arrangement. Personalization usually means choosing from options the product team anticipated. Dark mode is allowed. Moving the checkout button is not.

Generated browser extensions break that agreement. The user may now be able to alter the interface without asking permission from the people who designed it. This could produce genuinely better personal software. It could also produce broken, inaccessible and misleading interfaces. A generated layer might hide an important warning, misunderstand a price or stop working quietly after the website changes. When the interface is generated locally, it becomes less clear who is responsible for the result.

Apple will have to decide how much power these extensions receive, how permissions are explained, whether their behavior can be inspected and what happens when a generated tool touches sensitive pages. The company says Safari’s intelligence is built with privacy in mind, and the existing extension system has explicit permissions. Still, there is a basic tension in asking an AI to write software that can inspect and modify websites while also expecting the user to understand exactly what that software is doing.

The same tension already exists in ordinary extensions, but at least those have identifiable developers, public listings and reviews. A generated extension might be safer because it is local and narrowly scoped. It might also be harder to evaluate because nobody else has used exactly the same thing.

There is another tension that feels very Apple. For years, Apple turned software into a set of clearly bounded products. Apps live inside icons. Developers sign them. Stores distribute them. Review processes approve them. Users install them as finished objects.

Now Apple is creating software that may never become an object at all.

The extension can exist before it has a name. It can be useful before it has a market. It can disappear without being discontinued. There may be no canonical version because every user describes a slightly different one. Software becomes less like buying a tool and more like asking the material around you to temporarily take the shape of one.

I have been thinking about whether I could maintain 60 small apps, each accumulating whatever I learn about a subject. The attraction is that AI reduces the cost of giving each idea its own container. But Describe an Extension points toward something beyond that. Maybe 60 apps is still an old-fashioned number because it assumes every capability needs a durable container.

Perhaps I will have hundreds of tiny programs that are not important enough to count. One rearranges a page for a single research session. One watches a form until a field becomes available. One adds my own notes next to company names. One translates measurements in a Taiwanese shopping site into the units I use. One survives for years. Another disappears before I remember that I made it.

The economic threshold for software falls close to zero, but so does the emotional threshold. I no longer need to believe in an idea enough to name it. I only need to be irritated enough to describe it.

That may be the real change. Generative AI is usually described as making software cheaper to build. But cheaper software still sounds like the same software produced with fewer people and less money. This is something else. It makes room for software that was previously too specific, too temporary, too personal or simply too small to exist.

The App Store assumed that software begins when a developer decides to make a product. Describe an Extension suggests that software can begin much later, at the exact second a user notices that the world in front of them is missing one button.

Maybe the next software market is not a market. Maybe it is the layer between every person and everything they use.

And maybe most of the software in that layer will never need a logo.

Connected reading

AI authorship note

This essay began with Kris Haamer noticing Apple’s Describe an Extension feature and asking for the Raw Drafts angle. AI supported research, drafting, editing, the three SVG illustrations, metadata and the publishing workflow. Kris supplied the original observation, connected the feature to his idea of maintaining many small apps, selected the argument about software too small to become a product and approved this version for publication.

Help improve this website?

Optional Google Analytics and Microsoft Clarity measure content performance and usability. They load only if you allow them. Form values, email addresses, and chat messages are never included in analytics events.