Removing stuff is never obvious yet often better
Simplifying products by removing unnecessary features can enhance user engagement. Pinecone's complex pricing calculator deterred customers, but its removal increased sign-ups by 16% and inquiries by 90%.
Read original articleThe article discusses the benefits of simplifying products and processes by removing unnecessary components, using the example of Pinecone's pricing calculator. Initially, the calculator was intended to help users estimate costs based on usage, but it ended up causing confusion and deterring potential customers due to its complexity. Despite efforts to improve the calculator with additional information, it became clear that the tool was more of a hindrance than a help. An A/B test revealed that removing the calculator led to a 16% increase in sign-ups and a 90% increase in user inquiries, with no rise in support tickets related to pricing. This outcome highlighted a common issue in organizations where the instinct is to add features rather than remove them, often leading to unnecessary complexity. The author emphasizes the importance of questioning existing elements and considering whether they truly add value, advocating for a mindset that embraces subtraction as a means to enhance clarity and efficiency.
- Simplifying products by removing unnecessary features can lead to better user engagement and satisfaction.
- Pinecone's experience showed that a complex pricing calculator deterred potential customers rather than helping them.
- An A/B test demonstrated that removing the calculator improved sign-up rates and user inquiries.
- Organizations often default to adding features instead of considering the benefits of subtraction.
- Embracing a mindset of questioning existing components can lead to more effective and streamlined processes.
Related
Why We Build Simple Software
Simplicity in software development, likened to a Toyota Corolla's reliability, is crucial. Emphasizing straightforward tools and reducing complexity enhances reliability. Prioritizing simplicity over unnecessary features offers better value and reliability.
We Build Simple Software
Simplicity in software development, likened to a Toyota Corolla's reliability, is crucial. Emphasizing straightforward tools, Pickcode aims for user-friendly experiences. Beware of complex software's pitfalls; prioritize simplicity for better value and reliability.
Radical Simplicity in Technology
Radical Simplicity in Technology promotes reducing complexity in software development for efficiency and developer satisfaction. It prioritizes deep business logic, streamlining components, and using fewer technologies for multiple purposes. This approach contrasts with overly complex architectures, aiming to enhance productivity and system stability.
Htmx: Simplicity in an Age of Complicated Solutions
Erik Heemskerk discusses the pursuit of a 'silver bullet' technology in software development, emphasizing simplicity over complexity. He critiques over-engineering in front-end development, highlighting trade-offs in code solutions for better user experiences.
Fear of over-engineering has killed engineering altogether
The article critiques the tech industry's focus on speed over engineering rigor, advocating for "Napkin Math" and Fermi problems to improve decision-making and project outcomes through basic calculations.
- Many commenters express skepticism about the effectiveness of simply removing features without addressing underlying issues, such as pricing transparency.
- There is a concern that removing the calculator may lead to confusion and dissatisfaction among users when they encounter unexpected costs later.
- Some highlight the importance of considering the long-term implications of feature removal, suggesting that it may not always lead to better user experiences.
- Several comments emphasize the need for a balance between simplification and maintaining essential information for users.
- There is a recurring theme of corporate politics influencing decision-making, with some suggesting that removing features can be politically risky within organizations.
> Visitors who didn't see the calculator were 16% more likely to sign up and 90% more likely to contact us than those who saw it. There was no increase in support tickets about pricing, which suggests users are overall less confused and happier.
Of course if you hide the fact that your product might cost a lot of money from your users, more of them will sign up. Whether they are better off depends on whether they end up getting a bill they are unhappy with later at some unspecified future date, or not. That's not something you will figure out from a short-term A/B test on the signup page. So this seems like totally useless evidence to me.
I see this dynamic frequently with A/B tests. For example, one of my coworkers implemented a change that removed information from search result snippets. They then ran an A/B test that showed that after removing the information, people clicked through to the search result page more often. Well, obviously, it makes sense that they might click through more often, if information they wanted which was previously in the snippet, now requires them to click through. The question of which is actually better seemed to have been totally forgotten.
> Would anything of value be lost if this or that chunk of it was removed?
In early stage projects I’ve seen this mentality backfire occasionally because it’s tough to estimate future value, especially for code and data.
For example, one time in a greenfield project I created the initial SQL schema which had some extra metadata columns, essentially storing tags for posts. The next week, a more senior engineer removed all those columns and associated code, citing the YAGNI principle (“you aren’t gonna need it”). He was technically correct, there was no requirement for it on our roadmap yet.
But the original work had taken me maybe an hour. And the cost of keeping the data around was approximately zero. It seemed he didn’t consider that.
Guess who needed the columns to build a feature a year later? Yeah me, so I found myself repeating the work, with the additional overhead of prod DB migrations etc now that the product had users.
I guess my point is, sometimes it’s also wise to consider the opposite:
Would anything of value be gained if this or that chunk of it was removed?
In this article the evidence is clearly affirmative, but in my case, well it wasn’t so clear cut.
An interesting and pretty classic dynamic - I liked the article overall but I think this point didn't get the highlighting it deserved. If 30% of the people involved think that the calculator is a bad idea that signals a potentially huge problem even if the majority think it is fine.
Be alert to the politics here. Although it seems otherwise, people generally don't like to criticise other teams in the business unless there is a political gain to be had. By extension, if I polled the company and asked "is this thing my team did a net positive?" I'd expect the default position to be "yes" as people wouldn't want to stir the pot for no reason. 30% of people signalling that it might be value-destructive is much more significant than it seems because of that. It should trigger some fairly thoughtful consideration of why exactly they thought that.
In this case they seem to have indeed been alert to all that and the story has a happy ending, which is nice. But this poll result was always evidence of a serious problem.
This specific bit kinda gives pause though:
> One slight misinterpretation and wrong input and you'd get an estimate that's overstated by as much as 1,000x.
Does it also mean that in real world usage, one slight misinterpretation or misevaluation of your metrics and you're liable to 1000x more than you planned to ?
I totally see this as a reality of online billing systems. I've misconfigured GCP prototypes and ended with 100+ bills where I though it would be 2 or 3 at most and didn't care to watch for a few days.
But I'd understand a client bailing out when they realize slight changes to the sliders result in wild increases in the planned pricing. And removing the tool would sure help for registration, but not help the customer if they hit these kind of issues down the line.
I counted five obvious ways to subscribe on that page alone. Five! Do you really need to shove them in our faces and in the middle of the freaking content? Do you think you get more subscribers by interrupting people and being annoying? Are those the kind of subscribers you want?
Removing stuff is often obvious, you just have to take your mind out of the “more more more, make money, attract customers, more more” gutter mindset and think “what is respectful to users, how can I help them while simultaneously treating them like human beings instead of wallets to be milked”.
This is a symptom of over hiring. Too many people removes agency.
When people lose sight of what's actually important and feel that they must reach consensus by committee then there are too many people.
Dev teams of those five are stretched thin, barely able to keep up with bug fixes, and struggling to add new, important features -- so much so that getting anything on the roadmap is an impossible battle, no matter who is asking.
There are thousands of devs at the company, most of them attached to the products that contribute relatively nothing to the revenue stream.
I don't know if it's not obvious -- it must be obvious -- that to move forward the right thing is to cut most of the products and refactor the teams to drive the remaining money-makers. Yet, this has not happened, and I see no indications, no murmurs of it happening. Corp politics are wild.
So we made a product advisor applet where the user would answer a few questions and it would suggest one or two products that would be best for them. Getting the applet right took a bit of work, but once it was done it worked very well.
We put it live on the site and.... conversions dropped precipitously. We A/B tested it and yep, it definitely hurt conversions. I still don't know why it hurt conversions, but it did. So we moved it from the homepage to a FAQ section of the site, and hardly anyone ever used it at all.
I'm working on a tool that makes running wire inside residential homes easier. It requires carving a channel on the back side of the baseboard.
My original idea required a mechanical tool with a motor [2]. We prototyped a working version of this but always felt that the manufacturing challenge would be large.
We ended up adapting the system to existing routers. That meant our product was just a series of extruded parts with almost no moving parts [1].
Things we like, things we don't like, things that are totally useful, things that are somewhat useful etc.
There comes a point where we need to let go of the thing(s) we like - I called them the precious payload where we are most reluctant - and in this case the 'calculator' was the precious payload so many people in the company were unwilling to remove this feature except for one person.
In business, adding a completely new feature or subtracting an age-old feature is extremely difficult but oftentimes, this is where growth comes from.
I suspect that this often exists because people have tried this, and been summarily burnt by either politics, or some form of Chestertons-Fence.
Which leads to the question of: how and when do we discern the difference? How do we design our teams and engineering to do things like,
- ensuring the psychological or political safety to suggest slimming down systems without having every other team come down on your head.
- incentivise “svelte” systems at a product level, without falling into Google-levels-of-“lmao this is going away now thanks bye”
- engineer for slimmer systems. There’s lots of ink spilled on the topic of making things extensible, or able to have stuff added to it, but seemingly little about the opposite. Is it the same engineering practices, or are there other concerns you’d need to take into account, if so, what are they?
- would you as a customer pay for something that was better at its purpose but didn’t have every single feature under the sun? I sure would, how many other people/orgs would, if given the option? I semi-controversially think that too many tools providing too much flexibility mostly encourages orgs to paint themselves into wacky processes, just because they can. I doubt this entirely goes away, but if given less feature/flexibility bloat, how much “fat” (process/overhead/friction/etc) could be trimmed out?
Pinecone is just generally thought as something extremely overpriced:
https://www.timescale.com/blog/pgvector-vs-pinecone/
Until they can solve the feeling (or cut down on their own overhead), I don't see that great future for the company.
1)Add an adapter that’s customized on both ends, or 2) subtract the differences so they mesh directly.
Always look for opportunities to subtract, rather than add. Your system gets easier to understand over time as it becomes the purest representation of itself, instead of a collection of gap-fillers.
i use this in day to day to life: making plans, buying things, managing others - reducing has led to more accomplished.
Simply removing a feature without addressing the root cause of confusion will lead to other problems down the line, such as increased customer support demands or user dissatisfaction when actual costs differ from expectations.
And, yes, removing things should be rewarded. It's a cognitive bias to reward just for adding things.
I feel like it should have a lower priority on such business decisions. My guess is that calculator removal was approved before A/B testing have started.
I love his “algorithm” for getting shit done. The final step is, “If you don’t put back at least 10% of what you take out, you aren’t removing enough.”
People hate the proposal to remove the microwave ovens and free coffee from the kitchen, so it must be the right idea!
It would seem a common thread is our inclination to embed part of our ego into everything we do.
For anyone who liked the trick in the post consider checking out TRIZ: https://en.m.wikipedia.org/wiki/TRIZ
There are too many interesting ideas in this framework, but one of the first steps in the algorithm of solving a problem is to "Formulate ideal final result", according to TRIZ.
Now the "Ideal final result" has a specific definition: The part of the system doesn't exist but the function is still performed.
I'm having a lot of fun with this and other tools coming from TRIZ when solving problems every day. You might like it as well!
As for A/B testing and getting unexpected results: inside TRIZ there is explanation why it works - it is called "Psychological innertion". i.e. when engineer is getting a problem it is usually already formulated in a certain way and engineer has all kinds of assumptions before he even starts solving a problem. This leads to him thinking along specific "rails" not getting out of box. Once you have algorithm like TRIZ, it allows to break through psychological innertion and look at the problem with clear eyes.
Some other trick one might use to find interesting solutions to the problem from the post: "Make problem more difficult". I.e. instead of how to make calculator simple and unrestandable, formulate it in a different way: "how to make calculator simple and unrestandable, visual, fun to use and interact with, wanting to share with your collegues?"
"Turn harm into benefit". calculator in the post is treated as a necessary evil. Flip it. Now we have a calculator, but we could show some extra info next to prices, which our competitors can't do. We can compare with competitors and show that our prices are better, calculator can serve as a demo of how customer is always in control of their spending as the same interface is available after they become customer to control their spend etc.
Formulating this way already gave me some ideas what could be added to calculator to make it work.
Hope it helps someone.
Reminds me of the quote: "It is difficult to get a man to understand something when his salary depends on his not understanding it."
That applies to us as software engineers too, our salary depends on having projects to write code for so it's not so surprising that a very smart group of people don't often consider that doing nothing or removing something is a valid solution. I like the author's observation on this too: it would be nice if removing things were rewarded. I wonder of the employee who questioned the calculator's necessity got any reward.
“Perfection is achieved not when there is nothing left to add, but when there is nothing left to take away”
“Less is more”
“The value of a creative product doesn’t lie in how much is there, but in how much has been discarded.”
rttm: Reduce to the max
"Kill your darlings"
...
How dare they think that a thing called calculator is accurate and not double check!
Up-front pricing is only good for the buyer and never good for the seller. And while being an advocate for the user is a good thing in general, it's not a good thing if the result is less revenue. And if you want to present a pricing estimate your incentive is always to lowball and underestimate.
Businesses that are successful tend to exploit information asymmetry. This is frustrating as a consumer but if you can guarantee that the user doesn't know their final cost you can always sell them a sweeter picture than reality and play off the cost of switching to a competitor, if one exists.
Total aside but this is why housing prices are insane, at the most micro level no buyer has any idea over the final cost until the last possible moment at which point the cost of undoing the transaction probably outweighs the risk of continuing - psychologically, at least.
(I may or may not have been the victim of this recently and thought about it from the seller's side)
Related
Why We Build Simple Software
Simplicity in software development, likened to a Toyota Corolla's reliability, is crucial. Emphasizing straightforward tools and reducing complexity enhances reliability. Prioritizing simplicity over unnecessary features offers better value and reliability.
We Build Simple Software
Simplicity in software development, likened to a Toyota Corolla's reliability, is crucial. Emphasizing straightforward tools, Pickcode aims for user-friendly experiences. Beware of complex software's pitfalls; prioritize simplicity for better value and reliability.
Radical Simplicity in Technology
Radical Simplicity in Technology promotes reducing complexity in software development for efficiency and developer satisfaction. It prioritizes deep business logic, streamlining components, and using fewer technologies for multiple purposes. This approach contrasts with overly complex architectures, aiming to enhance productivity and system stability.
Htmx: Simplicity in an Age of Complicated Solutions
Erik Heemskerk discusses the pursuit of a 'silver bullet' technology in software development, emphasizing simplicity over complexity. He critiques over-engineering in front-end development, highlighting trade-offs in code solutions for better user experiences.
Fear of over-engineering has killed engineering altogether
The article critiques the tech industry's focus on speed over engineering rigor, advocating for "Napkin Math" and Fermi problems to improve decision-making and project outcomes through basic calculations.