Road to WWDC 2026: What’s a developer?

Tim Cook and Craig Federighi at WWDC 2024.

Next week is WWDC, which has always represented Apple’s connection to its community of third-party developers, and in recent years has also served as the official start of Apple’s annual operating-system cycle.

Recently, I’ve been thinking of the D in WWDC a lot more. Developers aren’t all programmers, but many of them are. The programmers have always created the code that runs the apps that run on our devices. And yet, this year, things have changed an awful lot.

These days, I’m getting emails pitching me for an endless stream of new Mac apps. It’s quite remarkable because there was a period five or ten years ago when it seemed like all app development on Apple’s platforms was focused on iOS. Even more interesting, these are all indie Mac apps that seem to be built using native Mac frameworks, not the product of big corporations that are just rolling their cross-platform development system out everywhere. These apps seem to have a point of view and are focused on the Mac.

Of course, it’s happening because of AI.

Not just AI for the emails I get, though to be clear, I am being inundated with emails that purport to be from humans but are very much the product of an AI agent trying to add a personal touch to media pitches. (It’s a shame, because I used to really be impressed when an actual human emailed me about their product. Those people are entirely invisible now, lost in the wash of the AI pitches. I couldn’t tell the difference if I tried, so good are the imitations.)

But it’s also clear that a decent percentage of these new apps is being generated, in whole or in part, by an AI code assistant. Mac users—some of them developers, some of them people who have never written software in their lives—are building apps that fulfill their imaginations.

We now live in an era where, if you can dream an app, you can probably build it. Especially Mac utilities. And who cares more about native Mac software than Mac users? Certainly not those companies that gave up on Mac development and focused all their energies on giant cross-platform code bases to attract venture investment and big payouts.

Focus on the vision

Federico Viticci of MacStories recently released a command-line app that uses all features of Reminders. He previously released Shortcuts Playground, which lets you generate shortcuts with AI coding assistants. My pal Lex Friedman just released Gnome, a vibe-coded GIF menu bar utility. On the Six Colors Podcast last week, Dan Moren mentioned that he’s been using AI to build himself a simple ePub ebook reader that fulfills his very specific needs as a writer.

And, yes, a couple of weeks ago, I made a Mac app of my own, using Claude Code. I can’t say that I wrote it, because I didn’t write a line of Swift code. It would be more accurate to say that I envisioned it, or produced it, or product-managed it. I knew what I wanted, described it in detail to an AI assistant, iterated a whole lot, and ultimately got something that basically does everything I imagined it would do.1

It was an astounding experience. I have been using Mac apps for nearly 40 years, but I have never come close to writing one. AppleScript scripts and Automator actions are as close as I’ve ever come. But this week, I sat down at my desk with just an idea, and a couple of hours later, I had a completely functional (if ugly and incomplete) app that did exactly what I wanted it to do.

The process of building the app reinforced something I’ve been thinking about for quite a while: coding is a specific skill, but it’s only one part of a much larger process. Great developers aren’t necessarily great coders, though they can be. Apps must be envisioned, their specifications defined. The act of trying to describe an app to an AI coding engine is a clarifying one. The more you describe the app, the harder your brain has to work, because it’s always more complicated than you think it’s going to be. The decisions you make determine what the app comes to be. It’s authorship of a sort, but defined in a way that takes the writing of code out of the equation, which is weird, since the act of coding has usually been an inextricable part of the process of making software.

I guess it still is, but sometimes a human isn’t writing that code.

I have no illusions that the code AI code engines generate is flawless and beautiful, though it may yet improve. If I hired a developer to write my app for me, they might very well create cleaner code than Claude did. But I’d never hire someone to build such a minor app, and no human programmer could generate it in a few hours for the $30 cost of a Claude Pro subscription.

Whatever you call it, whether it’s being a producer or product manager or something else that isn’t a programmer, creating good software in the AI era still requires the power of a human brain: being creative, solving problems, and making decisions. Some people will be better at it than others. It’s a skill, and a bit of an art. I’m excited that modern coding tools have given people with vision and desire the ability to make software.

The next step for developers

Which brings me to a final point: Apple’s development tools, most notably Xcode, are nightmarish. My developer friends are used to them, but as someone who has never really used Xcode before, I was shocked at just how deeply unintuitive it is. As in, Claude would tell me to click on things, and I would have to reply, “I have no idea what that is or where it’s supposed to be.” And I’ve been a Mac user for a long time! I’ve gotten very good at intuiting where stuff is in a Mac interface.

Which is why one of the things Apple should be doing, as quickly as possible, is finding ways to make it easier for people to develop apps on its platforms. The Xcode learning curve is just too high. Either there needs to be a novice mode for Xcode, or Swift Playground needs to be given a boost, or a new tool needs to be built for the task.

While AI tools have made it more possible to build apps on Apple’s platforms, the developer tools themselves are still a formidable barrier. As the definition of “developer” changes, so, too, must the definition of developer tools.

The future product managers of some great Mac and iPhone apps thank you in advance.

It’s a very specific utility for podcast editors. ↩