On Competition

I believe keeping an eye on the competition is a good idea. Keeping track of competition makes you aware of what is the new normal; it helps one to gauge current trends. If your product experience deviates from the prevailing standards, it might be time for a re-think.

When a behemoth does something well regularly, they create an impression that that is the new normal. Customers start expecting the same experience from everyone in the field. For example, Amazon keeps upping the ante in e-commerce. If you are a small boutique e-commerce firm, and if you are not close to the Amazon experience, you might be leaving a lot on the table.


Most of the new age enterprise SAAS tools have user experience on par with consumer applications. Earlier, enterprise tools used to be leaps and bounds behind their consumer counterparts. After using these new-age tools, products from some of the established behemoths look and feel clunky. Using them feels like being teleported to an earlier era. If you are an entrenched behemoth, you can get this wake-up call only if you regularly scan your competition, be it big or small.

Eyeing competition also matters when it comes to feature selection. For example, in Slack, you can edit a message after sending. I have hardly seen anyone modifying messages in Slack post sending. Usually, one sends a new message suffixing an * indicating it is an edit of a previous message. Why? We have been conditioned by popular chat applications not to alter chat messages once we hit the send button. None of the popular consumer chat applications have this feature. If you are bucking the trend – first, you should know of this; second, you should figure out how to educate your users to use the nonintuitive feature.

Incumbents also set standards when it comes to UI patterns. If Facebook shows error messages with a red background, you can be sure that most of the world’s population associates a pop-up with a red background as an error. It makes sense for you too to follow this.

I am not advocating aping the competition blindly.

Keeping track of the competition is essential to:
1. Know what is the new normal.
2. Know what might become the new normal.
3. Gauge how far off you are from the status quo.

Get articles on coding, software and product development, managing software teams, scaling organisations and enhancing productivity by subscribing to my blog

Image by Sasin Tipchai from Pixabay

Thoughts on Product and Feature Development

The post is a listicle on product and feature development in no particular order.

There are three rules for creating a successful product. Unfortunately, no one knows what they are.1

If the success of your product depends on changing a deeply ingrained habit, it is going to be challenging. Your product should be attractive enough for people to overcome the inertia associated with behavior change.

For example, Uber changed a deeply ingrained habit of how one hails a cab. Initially, it was cool; hence, people did it. Now it is convenient. Before launching such a product, list down the motivations for someone to use your product.

Get articles on coding, software and product development, managing software teams, scaling organisations and enhancing productivity by subscribing to my blog

Sometimes, the most crowded markets are ripe for disruption. Example—Dropbox. Dropbox was a late entrant in the file-sharing and storage market, but it worked flawlessly and conquered the market.

Competition may not always be harmful, especially when you are trying to create a new category. Category awareness is crucial, and if a big guy does it for you, you can piggyback on it.

If a startup had launched a smart speaker like Alexa or Google Mini, they would have two challenges. First would be to educate users on what a smart speaker is. The second would be to convince people to buy their product. Competition brings awareness to a category so that you can concentrate on selling the product instead of educating consumers.


Think about product ownership and usage asymmetry. An online payment solution for schools is the perfect example. Parents want this but the want is not strong enough that they use this as criteria for picking schools. Any product that exhibits asymmetry like this needs to have powerful incentives for both sides.

Every time a customer reaches out to you; it is an opportunity for you to make your product better. Product enhancements should stem from customer service requests.

Users will find unique ways to use your product, which you would not have thought. Go with the flow.

More features are not always better. Be ruthless in culling features. New feature addition is a tug of war between simplicity and complexity. Irrespective of how small a feature is, it makes your product more complex and the complexity compounds over the long run. Even though adding a new feature is appealing, think twice before doing this. On the other hand, culling features is counter-intuitive. Be on the lookout for nixing features and simplifying the product.

Do not get attached to a feature based on the amount of effort you put, the technology used, or the uniqueness of the idea. Usage is the only benchmark for a feature’s success.

Customers do not always know what they want. Be careful while actioning on user feedback. Look around your house to see the plethora of unused stuff you brought thinking you need them.

In a consumer study, testers alternatively played French and German music in a supermarket selling French and German wines. Frech music resulted in more French wine sales while German music did the reverse. When quizzed, buyers were clueless about the music influencing their purchase.

Mix your product insight and intuition with customer feedback before acting on them.

You need something, does not mean the entire world is craving for it. There is no sure shot way to assess this but be aware of this.

Another corollary of the above.

You spot a problem does not mean others are looking for a solution to the problem. People are happy to live with minor inconvenience than change their habits.

Do not look at product features from your point of view. You might have a refined sense of UI, but your customers may not. Always assume a customer-centric viewpoint.

Assume no one reads anything. Figure out ways to make instructions implicit in product flows. My car displays a message on the dashboard when the service is due. It does not rely on me keeping a tab on this. If at all, you have to provide instructions, figure out what will make a user read it. The manual that comes with the Dyson vacuum cleaner has infographics familiarising the user with the product.

Treat customers differently based on their lineage. Someone new to the product needs more hand-holding than one who is used to the product.

New features may not pick up on their own. Figure out ways to incentivize a user to try out a new feature.

Do not be drawn to complexity. A simple feature trumps an overly complex one.

Figure out all the metrics to track before launching a feature. If you do this post-launch, it becomes a shifting goalpost where you are trying to prove the success of the feature rather than figure out whether it met the intended goal or not.

1 Quote Source

Photo by Kelly Sikkema on Unsplash

“Intentionally” Leaky Abstractions

Software abstractions that developers create should leak enough to let non-developers design the right product experience.

Eons back in internet history, Joel Spolsky wrote a post on leaky abstractions. The gist of the writing is that even though we create software abstractions to make life easy, they somehow unintentionally leak through.

With technology getting a lot more complicated, I believe that the software abstractions that developers create should intentionally leak to some extent to let non-developers design the right product experience.


Get articles on coding, software and product development, managing software teams, scaling organisations and enhancing productivity by subscribing to my blog

Taking a concrete example, let us say that you are creating a search utility which goes over a lot of data. Your algorithm has two steps, one that works on recent data and the other, older data. Recent search is blazing fast while searching through old data is slow. You do both in parallel, combine the results and display it to the user. You have two options here; you can abstract this two-pronged approach from the product teams and act as if the search is a single step process or you can leak this abstraction so that they can take this into account while designing the product.

What can the product team do with this information?
They have multiple options.

Show the faster results first without waiting for the slower ones. Where the older results are displayed, show a loading placeholder, and then populate the results as and when they become available.

Another option is to make this a two-step process by showing only the recent results and then asking the users explicitly whether they want to search through old data too.

They can do this only if your abstraction leaks through informing them of the internal search nuances.

You need to be judicious with what you expose, and what not, so that the product teams are not burdened with unnecessary details – striking the right balance is essential.

Image by Jesse Bridgewater from Pixabay

New Feature Efficacy

You have an established product, and you introduce a radically new/different feature. You are very enthusiastic, but the metrics show users are hardly using this.

There could be two reasons:
1. Users do not see a value.
2. Could be resistance to newness.



It is essential to zero in on the above to decide whether to put in more effort into the feature. If this is indeed resistance to newness, there might be multiple ways to nudge your users towards the feature gently.

A straightforward way to figure this out is to measure the stickiness of the feature. Of the small percentage of your users who do interact with the features, how many of them come back to it subsequently, i.e. once people are acquainted with the feature, do they come back to it later? If you see stickiness in this cohort, it is a good indicator that the feature is of value, you are doing a lousy job in educating your users and leading them to it. If not, it is time to cull the feature and invest that time and energy in something else.

Consumer tech

I was reading this article about a startup that is launching satellites for imaging the earth. A line from the article stuck with me, the startup is leveraging technology developed for consumer devices like laptops and mobile phones in their satellites. This is a reversal from the olden days where technology that was developed for defense/space would find their way into consumer tech. Now a days, you see technology that was specifically targeted at consumer tech making ways into defense/space. Another specific example that I can think of is Palantir. Ways found out by engineers during their days at Paypal to fight fraud shaped into Palantir which now focuses on hunting down terrorists/hackers based on data like call records, etc.

Another point of note is consumer tech driving futuristic technology. Take google’s driverless cars for example, where is the money coming from? From consumer tech like search. Where did Elon Musk get his money from to bootstrap Tesla motors? Again consumer tech like paypal etc. As of today, I see consumer tech driving research and development more than defense and space which in a way is good for us as consumers because we get a taste of the shiny new thing without having to wait for decades for it to be made mainstream.

Future is in the photos

I was going through the VC interaction posted by Everpix guys. If you go through the letters, you see this repeated a lot, “You guys are in a crowded space which the biggies(Facebook, Dropbox, Google, Apple, etc) are after”. Everpix is/was a service to store and organize photos. Why is this such a hot space?

Take a peek at the acquisitions carried out by Facebook. Can you spot a pattern? A common recurring theme around these companies is photo sharing, image recognition, mobile and analytics. As mobile devices/digital cameras become ubiquitous, internet connectivity becomes omnipresent, people are going to upload snaps/videos in ever increasing numbers. Photos/videos reveal a lot about you without you consciously intending to. A stream of photos that you upload on a regular basis is as good as a life journal that you are not explicitly writing. How about mining this information to show relevant ads?

Your photo reveals that you wear spectacles, show eye wear ads to you. Your photo stream shows that you regularly take overseas vacation, you are a hot target for the travel industry. Your photos suggest that you have an entry level car and you tell Facebook that you got a new job, time to show the next segment car ads in your wall? In most of the photos you wear denim and t-shirt, maybe Levi’s would be very interested in you.

Think about it, the amount of information a stream of photo gives out about you is endless. This is a gold mine for companies that want to tailor ads for you.

Path of least resistance

I fractured my leg and Pavitra wanted to send the x-ray to my brother in law who is a doctor. He insisted on her not e-mailing but sending it through WhatsApp. I do not use WhatsApp because I do not have a smartphone(sic, sic) but almost all of my friends are on WhatsApp these days. What is the differentiator between these new day instant messengers versus the dinosaurs(Google, Yahoo!, MSN, etc)? I would says it is the path of least resistance. On boarding is quick and easy, they do not suffer from feature bloat, using them is a child’s play, you need not be a tech guru to figure out “How do I do this?”.

Path of least resistance is a tenant everyone in a product company should live by. Take for example a signup form. Given a sign up form with two fields versus one that takes gazillion of fields, which do you think will appeal more to your users? Now you may say my product needs a phone number field to send sms. Ask yourself this, do I need to take this field during sign up or can I ask the user to enter their phone number during the course of usage? When you sign up users, do you really need the confirm password field? Or, for that matter, do you really need users to sign up to use the product? A few days back, I was carrying out comparative analysis of a product on a couple of e-com sites. I had different sites open, one of them allowed me to sign up using gmail while the other required a custom sign up. I did not even bother with the one that asked for the custom sign up and went on with the one that allowed me to login through gmail.

Can a product compete in a deeply entrenched market with the only differentiator being it’s simplicity? I would say so. Take a look at the mobile instant messenger market.The new kids on the block have successfully waged a battle against the Goliaths and have emerged on the winning side. They have done this by being laser focused on simplicity.

When we are part of a product, use it day in and day out, we become so entwined with it that we can use it with our eyes closed. But our customers are not on the same boat, some usage patterns which might seem obvious to us might feel like navigating through a maze to our customers. It is extremely important that we keep reminding ourselves of this each and every day.


Whenever I hear about the government upgrading some utility website, I die a bit inside. I am strongly of the opinion that the government has no business to be in the business of building end user utility websites. A government should act as an enabler, not as a provider. How does this apply to utility websites?

Instead of getting it’s feet wet with building UIs, which usually are crappy, government should concentrate on trying to build robust apis/backends and let the citizens exploit it to their hearts content. There is a huge demand for any sort of utility api, I can vouch for this after being in charge of FreeCharge for an year now. We are rummaging for robust apis for utility services, while the whole spectrum is filled with crappy government websites.

Take for example how amazing it would be if IRCTC was an api provider/consumer instead of the website it is today. Think of all the cool apps/websites people would have built around this api. How many travel sites would have mushroomed around this concept? Along with spiking curiosity and entrepreneurship in people, this would also have lead to job creation.

This does not apply only to governments, but in general to anyone. Open up the gates, let people clamor to build UIs over your services. There are two major advantages in doing this, one, you get out of the distribution problem, two, you broaden the reach of your services. A classic case in point, twitter in it’s early days.

Building robust user interfaces may sound an easy job, but being in the consumer web for the better part of my career, I can confidently say that it is not as easy as it sounds. Does the line “If you build it, they will come” ring any bell?

In search of that unique idea?

Why google when there was lycos?
Why myspace when there was friendster?
Why facebook when there was myspace?
Why wordpress when there was blogger?
Why tumblr when there was wordpress?
Why posterous when there was tumblr?
Why instagram when there was facebook?
Why twitter when there was facebook?
Why etsy when there was ebay?
Why pandodaily when there was techcrunch?
Why stripe when there was paypal?