San Francisco, 23rd June 2025
Calendar is good UI.
The week and month view have remained unchanged for hundreds of years, if not longer.
This is not because of a lack of innovation, it just is really good UI that tells you exactly “what” you need to know.
The events you have, when they are, and how long they are.
Good UI is about the “what”, not the “how”.
It focuses on functional interactions, leaving the user with just the context they need for their next action.
The issue with the above is that it is an idealistic take, not always possible.
For one reason or another, the processes themselves cannot always be abstracted. My notification center shows me everything an app sends me because it was not possible to determine what was important to me. There’s a lot of work done to make sure an individual notification is as functional as possible, but as long as the fundamental platform does not focus on the “what”, it will always be a suboptimal experience.
Most software today is built on scaffolding. We make procedural interactions prettier, but we don’t make them functional.
Expense tracking apps for example, have beautiful interfaces, smart categorization dropdowns, and slick animations.
But you’re still doing data entry.
You still have to tell the app what each transaction is, manually categorize your spending, and process every receipt.
The scaffolding is nice, but the interaction is still procedural.
The same goes for email. We have better search, filters, and organization tools.
But you’re still processing every email that comes in. You’re still the one deciding what’s important and what isn’t.
The biggest example though is coding.
We have syntax highlighting, autocomplete, and beautiful IDEs.
But you’re still writing code line by line.
You’re still translating your ideas into procedural instructions for the computer.
All of this scaffolding makes the procedural work more pleasant, but it doesn’t eliminate it.
AI, as automated discretion, fundamentally changes the premise of the above problem.
It can determine what is important to you, and it can do so in a way that is consistent across all apps.
An AI-powered notification center would operate like a human assistant - throwing stuff away for you, handling notifications, giving you summaries of what’s important, and telling you specifics about what truly requires your attention.
This is not about making notifications prettier. This is about making the entire interaction functional.
The dishwasher is a perfect example of this transformation.
Washing dishes by hand is procedural - you have to scrub each plate, rinse each cup, dry everything individually.
The dishwasher makes it functional. You want clean dishes, not the washing process.
The technology handles the procedure so you can focus on the outcome.
We’re currently seeing this shift in software development itself.
For decades, the development cycle has been: idea → coding → testing.
We’ve built incredible scaffolding around the coding part - better IDEs, frameworks, deployment tools.
But coding itself is just a process to get from point A to point B.
The ideal development cycle looks like: idea → testing loop.
You have an idea for a feature, AI builds it, you test if it works as intended, you iterate.
The functional interaction is using and testing the end result of the code, not writing the code itself.
If you’re building new products, it is important to keep this in mind.
Your goal should be to abstract away processes wherever possible.
Focus on reducing the number of steps the user has to make to get to their next task.
Good ideas make a task more functional, whatever it may be.
If your product requires procedural specification from users, you’re either doing it wrong or you don’t have the technology available to do it right.
If it’s the former, change your approach.
If it’s the latter, hang tight and keep an eye out.
The calendar got it right hundreds of years ago.
Now it’s time for everything else to catch up.