Software Ecdysis.

Software Ecdysis.

Modern software is designed and delivered in a way that manufactures deficiencies and issues that don’t actually exist. A spell of the marketing wand as it glitters in front of your face and dazzles you with the dream of another world.

Modern software excels at telling a story of a better future. A belief that every investor wants to be sold before they force their money into the coffers of the CEO that pitched them a grand vision they know damn well will never actually surface.

Technology and software has always been this way.

A small step forward for man and a leap for mankind… At least, that is what we tell ourselves.

In modern society though, software companies have become detached and distracted from the leap. Rather than teams of individuals looking to improve the lives of their users they remain in the perpetual rat race to satisfy the demands of achieving venture scale by building things that no one asks for.

Incremental progress is no longer acceptable. Instead, the TAM (Total Addressable Market) must forever be growing as the company works to secure enough users in the hopes that one day they can enable monetization.

Launching into the market as something truly innovative, a group of evangelists form that enable the initial distribution fueling operation with a small marketing budget while brand and product remains low. In the digital world we live in today, when something strikes a spark it spreads like wildfire. When you catch lightning in the bottle, it is not uncommon for that bottle to shatter due to the pressure. Rapid adoption is often more destructive than a constant curve that tells a story of growth and value creation.

Of course, this is what so many companies wants. Almost every. Yet, over the years, I have used a lot of things as an early mover carrying a hint of optimism that someone will finally deliver on the dream they've sold.

In practice, few pieces of software have changed the face of my experience.

  • Notionexternal link: Became incredibly slow and unusable as the frivolous features touched every corner. Tens of seconds to startup is unacceptable. Being unable to search your files when you become a poweruser is antithetical to the original intent of the product.
    • I switched to Obsidian.
  • Spotifyexternal link: Became cluttered and user hostile while pushing songs from ghost writers that don’t even exist. Now, you can't even click a button to add a song to your playlist without jumping through multiple hoops.
    • I switched back to Apple Music.
  • Obsidianexternal link: Became so overburdened with over zealous feature inclusions that users had to find ways to hide them manually. Features used for marketing and user acquisition experience a value dropoff more extreme than anything else I've ever seen.
    • I switched back to Notes.
  • Arc: Became so unstable you’d be lucky to make it a few hours without running into a critically breaking bug. When you got lucky you were faced with the realization that they had stopped building a browser company and became hyper(over)-focused on AI features that no one was asking for. This is the one that is most disappointing.
    • I switched back to Safari.
  • Warp: Delivered a worse experience from the very beginning to now. Marketing took root rather than any real experience improvement while selling a grander future than could ever be delivered.
    • I switched back to iTerm.
  • Cursorexternal link: An alternative and improved version of VSCodeexternal link that decluttered and streamlined the experience of working in a full-suite IDE. Yet, real improvement was merely at the surface level and features were paywalled not relative to value deliverance.
    • I switched back to Neovim.
  • Cron: A turbocharged Calendar app that bundled all the features we love into one to provide the best experience possible. Yet, the more time you spend with it the more you realize it doesn’t provide any noticeable improvement whatsoever.
    • I switched back to Apple Calendar.

This list is just from the last 3-4 years. The further you look back, the more time you spend playing with new software, the more aware you become of the issue, the more you will notice it happening.

No matter how magical a piece of software is. In the end, I almost always revert back to the previous tool I had been using. I’m not an old dog. I use these products for years. I watch them evolve and deal with the bugs. I’m a large supporter of new software deliveries to the point that I’m in the top 1% of Arc bug reporters/feature requesters. Compelling user experiences are a passion of mine; they always have been.

Software isn’t like fashion though. It doesn’t really go out of style. Instead, software falls prey to a much more sophisticated form of death and loss of soul. As time goes on, things change within the team. There are too many trains on the track and suddenly the core experience undergoes ecdysis as it becomes a new version of itself, transforming into something that no longer captures the magic you’ve come to know and love. Its outer skin has aged. It no longer holds the magnificence it did years ago. The skin flakes piece by piece as you watch it age and de-age simultaneously. Sometimes it is over night. Sometimes it is over years. But rarely is it something you notice immediately.

As users, we spend an ever increasing amount of time with the software of our choosing. Zoomers break records compared to the previous generations in terms of digital consumption. From work to pleasure there are few things indoors that are not enabled by some piece of software these days. Everywhere you look you can, do, and will find examples of a product that was built by a dreamer that was then demystified by a maintainer of incompetency that fails to uphold the mission that initially lit the spark.

Yet, hope is not lost in this sea of disillusionment. There are those rare gems where software not only meets but surpasses the expectations set at its inception. These are the platforms that manage to evolve without losing their soul; where the updates and new features enhance rather than clutter, where the essence of what made them great remains untouched by the voracious appetites of expansion and monetization.

In these cases, the software becomes like a well-oiled machine, with every gear turning in perfect harmony to deliver a user experience that feels almost bespoke. This is the pinnacle of software evolution, a state where technology truly serves its users and not the whims of market trends or the insatiable demands of stakeholders.

For those of us who live on the frontier of technology, who adopt early and advocate fiercely, it is these moments that reaffirm our faith in the digital revolution. It is the understanding that amidst a landscape often marred by mediocrity, there exists the potential for brilliance, for software that not only functions but inspires.

This is what drives the true technologist, the perpetual beta tester. We wade through the mediocre to find the extraordinary. We endure the bugs and the breakdowns because we believe in the potential of what comes next. It is a form of digital optimism, rooted in the belief that for every software project that loses its way, there is another that will rise to take its place, perhaps even surpass it.

And so, the cycle continues. As we engage with new software, as we submit bug reports and feature requests, we are not just critics but collaborators in the grand project of technological advancement. We are the unseen workforce behind the screens, pushing for a future where software doesn’t just work, but works wonders.

Ultimately, it is this relentless pursuit of better, this refusal to settle for the adequate, that defines the modern software landscape. In every coder’s line, in every user’s feedback, lies the potential for the next great leap forward. It is a challenging path, fraught with disappointments, but it is also a path lined with the potential for genuine innovation and transformative experiences.

The imperative to not merely create but to resonate deeply with the needs and desires of users is crucial. This requires a blend of empathy, foresight, and continuous engagement. It is not enough to assume understanding of what users want based on surface interactions or fleeting trends. True insight comes from a profound commitment to listening and adapting, a process that must be ingrained in the DNA of every software company.

The ethos of building software must pivot from crafting based on assumptions to a model rooted in responsiveness and iterative learning. One must cultivate an environment where user feedback is not just another metric to be checked off but a pivotal component of product development. This means implementing systems that do more than gather data; they must interpret and act on that data with the user’s voice as the guiding principle.

This means building fewer features but ensuring that each one is meticulously crafted to address real user problems. It’s about resisting the urge to add complexity for the sake of novelty and instead focusing on refining the core functionalities that users truly need. This mindset shift is both a strategic imperative and a moral obligation, ensuring that the technology we create genuinely enhances the lives of those it intends to serve.

It requires an ongoing dialogue between the creators and the consumers of technology. It is not a one-time survey or focus group, but a continuous conversation that evolves with the technology itself. We must be active participants in this dialogue, not distant observers. We need to be in the trenches, experiencing the user's frustrations and delights firsthand.

Agility is key. The ability to pivot, to acknowledge when a feature doesn’t resonate as expected, and to then realign resources swiftly and efficiently, is what separates the enduring successes from fleeting wonders. This agility, paired with a relentless focus on the user’s actual needs, forms the backbone of a sustainable and beloved software product.

This means embracing vulnerability. It requires admitting that we do not have all the answers and that the path to those answers is paved with user insights. It is a journey of constant discovery, where the ultimate success is defined not by market share or revenue alone but by the real value delivered to users’ lives. This is the true measure of software’s worth, and keeping it at the forefront is both the challenge and the reward of building technology that endures.

It's crucial for us to recognize that this user-centric model is not merely a strategy but a philosophy that must permeate every aspect of the organization. It demands a culture that does not just pay lip service to 'user experience' but that lives and breathes it in every decision made. This cultural commitment means that every team member, from developers to marketers, understands their role in the user's journey and is empowered to act on user feedback.

This philosophy extends beyond internal operations to how products are marketed and sold. Transparency becomes a key value, as users are increasingly savvy and can distinguish between genuine commitment and marketing fluff. Users must feel confident that they are not just purchasing a product but becoming part of a community that values their input and evolves based on their feedback. Here, communication is critical; it must be clear, honest, and consistent, forming a trust-based relationship with users.

In the digital age, where user attention is fragmented and loyalty is hard to earn, this trust is a cornerstone of not just survival but prosperity. We must leverage every tool available, from analytics to direct user interactions, to ensure we are building not just what we believe users need, but what users genuinely want. This might mean slowing down the release of new features to ensure they’re truly ready or reallocating resources to bolster where needed.

The necessity of maintaining a user-centric approach becomes even more significant as the product scales. The challenges of scaling are manifold, involving managing a growing user base, entering new markets, and continually innovating while maintaining the core functionality that users love. Each stage of growth presents a new set of user expectations and demands, and responding to these changes thoughtfully is crucial.

It’s about balancing the vision we set out with against the evolving landscape of user needs and market dynamics. It involves constant learning and unlearning, which can be as demanding as it is rewarding. We must be adept at navigating these complexities, always ready to steer the product back to its user-centric course when divergences occur.

Ultimately, the success of software is measured not by its features alone but by how those features improve lives. Those who remember this—who build not for the sake of technology but for the sake of genuinely enhancing user experiences—will see their products endure. We will create not just software, but a legacy of impact that resonates with users for years, continually adapted to meet their changing needs in a thoughtful, impactful way. The next time you go to add a feature or design something novel stop and ask yourself "Does this truly improve the experience and lives of my users?"