We're Rewriting Kumu
Never rewrite software. That’s good advice. If you want a predictable trajectory as a business, ride the inertia for everything it’s worth. The problem with that advice is that the ride always ends eventually. One day, your market will change, your users will jump ship for a shinier alternative, or you’ll simply run out of track faster than you can lay it down.
If we’d stayed with the first version of Kumu, our ride would have stopped long ago, but because we rethought and rewrote the product at the right moment in time, we’re still here in 2024.
The second version of Kumu has been a wild success. It’s likely the only version of Kumu you’ll have ever known. It’s the version that has helped thousands of people all around the world wrangle complexity and make sense of stuff that matters.
It’s also the version of Kumu that has confused thousands of people around the world as they’ve tried to understand the differences between maps and views and elements and controls, or tried to import unstructured data, or had to learn our homebrew version of CSS to use the advanced editor. If you’ve used Kumu much, you’ll know that it’s an extremely powerful tool, with a steep learning curve and some pretty rough edges.
People arrive at Kumu hoping to make sense of something complicated and we hand them additional complexity. That’s a really difficult experience for a new user, especially if they don’t have a technical background, or the time to immerse themselves in our documentation, in order to map productively.
When people arrive with expectations from simpler tools, we often find ourselves having to say “No, you can’t do X, but if you combine Y and Z with a bit of Q, then you can get the same result with more control”. This is cool, but it isn’t helpful. Making powerful tools user-friendly is really tough.
For a long time, we’ve been chipping away at some of those barriers. We’ve learned a lot about how people expect Kumu to work, and we even built entire products like Sticky Studio to serve as an on-ramp for people who don’t need all of the features of Kumu to start mapping.
And here’s the crux of the problem; those barriers are growing faster than we can chip at them. We’re not trying to a cut out a chess piece, we’re trying to hold a cathedral together. We polish the floor, and an archway collapses. We work on the cloisters and the congregation never sees them. We add a flying buttress and the secret entrance into the crypts vanishes mysteriously, but we only find out three weeks later when the one monk who was using it sends a bug report.
Kumu has become resistant to change. The codebase is ten years old and many of the underlying technologies have not aged well. We spend more time than we’d like working behind the scenes to keep some of these obscure things stable. Technical debt is a very real problem and for every step we take towards modernisation, we watch another part of our product trend towards disrepair.
People often talk about these kinds of technical challenges whilst ignoring the fact that there’s an emotional angle that’s equally important. It’s hard to stay positive and motivated when progress is slow and the future is uncertain. If you hire thoughtful humans, it will be difficult for them show up every day, if they don’t feel like their work will make a meaningful difference.
We lost Ryan, our technical founder, in 2021. With him we lost a lot of the vision, and the energy, and the soul of Kumu. Losing a friend and a mentor is hard, and continuing his work without him is hard, but it’s the right thing for us to do.
We know how to improve Kumu, but we’re struggling to do it. We’ve spent the last few years filling the gaps in our knowledge, slowly modernising the codebase, upgrading the underlying technologies, and fighting the fires that are inevitable as a product grows and ages simultaneously. We live with an uncomfortable reality.
Kumu is aging faster than Kumu is improving.
That’s a difficult thing to write. You’re not supposed to be that honest about your product in public. You’re meant to project success and trap users on a treadmill of tedious tidbits of trivial changes to keep them “engaged”, but that’s not where we are today, and that’s not where we plan to be tomorrow.
We think it’s time to rethink Kumu.
Rewriting software is a dangerous undertaking. Starting over is a huge gamble, but for the sake of a world that seems determined to lose sight of the big picture, Kumu needs to still exist in ten years time. It won’t reverse climate change. It won’t solve world hunger, or end global conflict. It’s just a tool. But it’s a tool that might help in the hands of the people who could.
We’ve learned what works and what doesn’t. We know where people struggle, and we know where the cracks are starting to show behind the scenes. It’s time for us to do something ambitious and bold, something to make Kumu sustainable again. We’re going to rewrite the product from scratch. In fact, we already started, but now we’re confident that it’s the right decision at the right time.
The next version of Kumu is going to look a bit different, it’ll feel different, but Ryan’s ingenuity and ideas will live on as the heart of whatever we build.
This “Making Kumu” series is where we’ll tell the story as the next version of Kumu comes together. We’ll look at how we’re solving UI/UX problems, and the technological decisions we’re making. Most importantly, we want you—the people who use this crazy product—to get involved and ensure that Kumu v3 is the tool you need it to be.
We’ve set up a Discord server, where we’ll post sneak peaks, ask questions, and eventually, invite people to try closed betas of v3 when they’re ready. Here’s the invite link if you want to get involved. See you there! 👋
It's a dangerous business, Frodo, going out your door. You step onto the road, and if you don't keep your feet, there's no knowing where you might be swept off to.