Home » Artificial Intelligence » How to Make Software Better Than AI

How to Make Software Better Than AI

AI-generated. Fashion photo of a woman's feet walking across a floor that looks like a spreadsheet

My favorite program is Excel. Excel is my queen, and I am her servant. I love this software. It’s fast, flexible, and crazy powerful. But I hardly ever use it anymore. Why is that?

It’s no longer the fastest way to get the result for me.

Instead of using Excel, I export whatever data I need into a file, then ask Cowork to process it. This costs me a little bit more in dollars, but it’s so much faster in time that the trade-off is absolutely worth it.

Excel needs to be better at getting me to the outcome I’m looking for. So does any other software that doesn’t want to get replaced by AI.

What outcomes?

If you want your software to still be relevant in 10 years, you need to figure out what outcomes your software helps users achieve.

Excel has a few purposes. My list includes:

  • Transform tabular data into a needed form
  • Store the data for an application, while staying human-editable
  • Test mathematical models to predict a future
  • Analyze data and find insights
  • Sending messages to your friends (only Nelly)

Don’t mix up outcomes with behavior. I may have typed =VLOOKUP ten thousand times, but never because retrieving a column of data based on an index match made me happy! Now, I could have an AI add-in more effectively use =XLOOKUP (I have never managed change my own habit), but that’s not the outcome either. It is much easier to leave the data in CSV and have AI-written Python do it instead—it will do the next several steps besides.

My rule-of-thumb: if you are add AI to assist the user’s behavior, you probably won’t help enough with the user’s outcome. Finding the most important email in my inbox isn’t my goal; handling it is.

Knowing your product outcomes is the hardest part! Then you can begin handling them with AI.

Handling outcomes

I encourage software teams to treat their entire product as a black box. What are the inputs? What are the outputs? The first AI you build should directly produce the outputs.

You can start with a simple prompt to an advanced AI app and model. Say that you have project management software. “Given these work item details, assign them to my team.” This won’t work on your first try, but not because the AI is too dumb. You’ll need to give more details and context, like the team members’ expertise areas or previous projects. Do this for each of your software’s major outcomes.

You’ll find that it works. You just had AI turn your software’s inputs into your software’s outputs. Is it time for an existential crisis?

If an LLM and some context scaffolding can produce nearly the same output as a human using your software, why will anyone buy it instead of doing the same exercise themselves? The answer is that you need human input: your own. Your software must be opinionated.

Opinionated software

You already know that AI likes to produce average answers. Given a simple prompt, an LLM will return a coherent but boring response. If you’re like me, you didn’t build software to be boring. You have an opinion on how best to achieve an outcome and what that outcome should look like.

Perhaps Superhuman is a good example of an opinionated email client. The team behind Superhuman believe they know exactly the best way to handle email, towards considering most email to be a chore that should be handled automatically or with simple gestures. If you think of email the same way, you may like their approach. Meanwhile, a college professor with a love of interacting with students and scientists may delight in taking their time with a personal approach to most email. A sales manager may want to prioritize sending many mails and keeping close records on customers. There’s room for that kind of email client as well. There are dozens of potential versions of email clients, each with a different opinion about how email should be handled.

A prompt to Fable 5 to “build an email client” will yield something a lot like Thunderbird or Outlook, both “generalist” email clients. This is maybe even more visible in demos of video games created with the latest models. Prompts to clone Pokémon work quite well:

A pokemon clone generated from AI that is basically a copy of the original.
From @kieradev

AI can make Pokémon because it is copying Pokémon. Now everyone could have their own Pokémon game, but why should they? Pokémon already exists. Coming up with a new idea and fun game mechanics that doesn’t copy an existing game is dramatically harder.

You need to supply your own opinion about how your software will work, one that will appeal to a segment of users.

The human layer

I don’t mean that you won’t have human users reviewing, collaborating, and approving in your software. We all still have a place in our work.

The best software also allows it’s users to add their opinions into the process and output. In the same way that you want your software to be differentiated, users want their outputs to be differentiated from their peers. Where do humans still have useful input into software? I like the EPOCH framework. Here’s how we could apply it to Excel:

  • Empathy and emotional intelligence. Where it matters whether a human or machine did the work. In Excel, this could mean how the results of an analysis are communicated.
  • Presence, networking, and connectedness. Collaboration yields more and better ideas.
  • Opinion, judgment, and ethics. This is an important part of creating mathematical models in software like Excel, and taking accountability for the results.
  • Creativity and imagination. Great workbooks don’t just present useful data, but do so beautifully. AI can do this well, but only as far as the developer or user has thought up.
  • Hope, vision and leadership. Most important for Excel, a human needs to know what question to ask! AI (so far) only does what it is told.

When you apply EPOCH to add humanity back to the AI execution in your software, it becomes a joy to use and also more valuable.

Make software better than AI

If a software product doesn’t focus on outcomes, users will ask an AI to handle a task instead. If your software doesn’t provide unique value that people appreciate, they’ll find other software that does. And if no humans are involved, there’s no one left to pay your renewal bill.

The most useful software in the coming years will be opinionated application of AI to directly translate inputs to outputs, layering in human judgment and collaboration only where helpful. I’ve seen what Excel is cooking, and they’re in great shape. Long live the queen!

What about you? Do you have crisp understanding of your software’s outcomes? Have you tried to apply AI to achieve it directly? If either answer is “no,” your product is in trouble.

Worse, if we don’t all layer in human strengths and take opinionated stances on how our software should work, the whole software industry will be eaten by AI. I don’t want that to happen.

It’s time for us all to make software worth keeping.