Page Background

Performance - the one feature that you need to do early.

Unless you can hire an army of highly paid experts to support your trillion dollar business empire (cough Chrome), performance is one feature that cannot built as a feature. Performance is a mindset, a way of living, a choice that needs a decision very early in a product life cycle. Once the foundation is ready, and a palace built on those foundations, you cannot dig them out and live in the palace at the same time.

We see this day in and day out in software. In a zeal to get first to the market, validation of ideas and a product market fit wrong tools get chosen. There is no denying the fact that building the wrong thing will not get any success but a success built with the right tools is fleeting. Better implementation with a same level of everything else can provide the last mover’s advantage in ripping out an incumbent. While we always cite facebook as the insurmountable incumbent built with network effects, most products are easy to switch from and better performance is a can advantage that can live forever. We also forget that facebook has a half a billion dollar business with an army of developers to rewrite the programming language, the rendering engine and even the hardware for their hacked up software to run on.

An interesting study is the success of Hugo over an incumbent like Jekyll in the static site market share. This site migrated to Hugo from Jekyll and I found it so much fun that I decided to write a book about Hugo(which should be out in 2020). Jekyll had everything going right - first to the market by almost half a decade, built by the CEO of Github and exclusively supported by the most popular code hosting repository on the planet. Jekyll had a humongous lead over all the other systems and generators and its plugin ecosystem was strong, the over all market was growing. Hugo did not bring anything new to the table - a similar template system, built with a more arcane language, not supported by anyone natively, no big and proud sponsors when launched and an unpaid team of open source developers. Yet it stood strong and attracted developers from all around, getting a huge chunk of users from the Jekyll ecosystem and has continued to grow. The reason behind this is performance - the constant focus on the performance of Hugo over all the systems that are present. Once you start branding performance as a feature, everything you do, you think performance first and the result is a 50 times difference. Hugo has been low on features from all others as the plugin ecosystem is weak to non-existant and the developers have taken their time to build new features. But the community has waited and built tools around the core that they are willing move off from when the core adds the extended feature set. This is the thing about all software. In the end they mature. The most important use cases are the ones built in the first set and as much as we want to move the users to a new shiny thing, the core product after the churn remains the same.

At some point the new users are not from growth of the ecosystem any more and they are either students maturing or people you pull from the other competing products. At that point, your new features may not be as important as those that are already in the product and polishing them to be perfect makes more sense. Unfortunately that is the hardest thing to do. The organizations award new features, developers don’t like to look at old code and the programming paradigms evolve. And a product with a weak foundation never gets a chance to be fast.

Successful products need a constant focus on performance. The prototype should not go to production. You have to pay for users that do free testing for you by incentives to keep them in the ecosystem as they would love to move out. It is important to have a long term performance plan and to move towards it with every release. It is even better to brand performance like uptime so that we can have incentives for improving it.

Slow performance is the silent killer of products and if you have something that is slow as hell, it is time to build some competition.

You may also enjoy


Post a new comment

We get avatars from Gravatar. You can use emojis as per the Emoji cheat sheet.