For the past months, I’ve been reading a lot about malleable software and end-user programming.
You can find the best summary I know of at Goeffrey Litt’s blog.
In my day job, I work a lot on design systems and user interfaces. I’ve always been interested in design and user experience. Recent advances in AI, which enable every slightly technical person* to build software, make this time especially interesting.
I’m writing this to make a prediction: The best and most widely used consumer software will be malleable in the coming decade.
We tend to come up with what we have previously explored in the past. It’s fine, we improve, iterate and expand on what was before. Well, that’s if we’re aware that some version of what we’re working on already existed. We could also choose to be oblivious, repeat mistakes, and miss the good things.
We already have malleable apps, and they are loved by their users. Let’s think what can we learn from the past.
I’m not talking about Excel and Notion. Yes, those are nice. I like them. Pretty excited about Microsoft Loop too, but it’s not what I mean. You might have already guessed, but let me first entertain you with a bit of a personal backstory.
Twenty years ago, when I was in primary school, all the boys played video games. Games were expensive, and consoles were even more expensive, so we played the free stuff like browser strategy games and Korean MMORPGs.
Those online games have built communities around them. We talked about them at school. But there’s a community-building stronger feature than being online, that I encountered a few years after, probably around 2008.
The games that still sell copies after more than a decade, the games that people really fell in love with, those games have mod support.
Nowadays, many triple-A PC games are designed with modding support from the get-go. It’s no surprise because the mods extend the shelf life of the game drastically.
We can find an example in the world of developer tools. The main disadvantage of Zed in its competition with VSCode is VSCode’s rich extension ecosystem and low entry barrier to publishing extensions. Even when your new software reaches feature parity with the incumbent, your extension ecosystem will need to be competitive. It would be ideal, if it was compatible with the extensions of the competition, or provided a compat layer. I probably wouldn’t start using Arc if it wasn’t based on Chromium, and it didn’t support all extensions I was already using.
Video games, browsers, IDEs and “workspaces” like Slack and Notion are built for audiences with a large share of nerds and power users. Among those nerds, some are willing to go the extra mile to customize the software they’re using and share their work with others.
Until this moment, social media apps, music players and direct messenger apps were not extensible. People who needed, or wanted to customize them had to use browser extensions for that (e.g. dark mode for Facebook, YouTube downloaders).
With more people empowered to write code through LLMs, I expect a surge in the need to customize apps. In each of us, there’s a need for expression and personalization.
I expect that even if end users will be able to edit the apps they’re using in real time, the most popular modifications will be created by power users. It requires time and dedication to build something polished, regardless of the tools and the medium.
Apart from the joy of building and making something truly yours, would the extension creators of the future seek some other gratification?
Let’s consider the three levels of video game mod success. Successful mods have historically:
Gained popularity, acclaim, and sponsorship on Patreon.
Got merged into mainline, like DrZhark’s Mo’Creatures which helped introduce horses to Minecraft.
If we add the Freemium business model popular in browser extensions to the equation, I think we can expect a new generation of indie hackers and a new wave of personalized niche software.
I’m keeping tabs on this space, and working on some toy projects. Thanks for your attention. Cheers.