I couple years ago I had lunch with a successful serial entrepreneur in San Francisco. Mid way into the conversation we talked about which ideas get funded on Sand Hill Road and which do not. One thing we both agreed on is that no VC will fund projects without product-market fit. Fascinatingly, the lack of product-market fit does not necessarily mean that the core idea of the startup isn’t a good one:. Much more often, the idea is great but requires a shift in user behavior.
Shifting user behavior means that the users of your product need to unlearn what they’ve done before, often for long periods of time. Unfortunately, unlearning something is much harder than learning it in the first place, because the things you learn become part of your mental model, like a house you’ve built in your head, to explain and reason about the world. Replacing a pillar of the house, once constructed, is incredibly tough.
So, why should you care? Well, this problem does not just manifest with entrepreneurs. As web developer, here are two examples that I’ve been dealing with that require unlearning: Bringing offline to the web, and replacing JS with HTML for dynamic scripting on web pages.
The offline web
The idea of the offline web isn’t new, but only now do we have a quality API, called Service Worker, to implement it. There’s been a considerable amount of excitement from the web dev community, as Service Workers can be finally scripted in ways that allows complex two-way syncing, fine grained caching and updating and more.
But here’s the thing: For 30 years, we taught billions of humans that you need to be connected to the internet to consume the web via a browser! This means web users need to unlearn that web sites can’t be used offline. Making it work on a technical level therefore isn’t cutting it: The browser, as well as the sites who support going offline, have a responsibility to help their users rethink what the web means, how it behaves, what assumptions are now untrue that were true before.
HTML scripting: 🤯
I work on AMP, an HTML library/framework to build user-first websites. AMP is part of a new breed of frameworks that allow you to build fairly dynamic pages without a single line of JS, and it does so by providing alternatives whenever necessary. For things like controlling state and events for instance, we have a component called amp-bind that uses a combination of JSON and fancy HTML attributes to manipulate state.
In countless interactions with both students, junior and senior devs, one common pattern emerged: Developers who never learned how to deal with state in JS found it much easier to learn the AMP way than developers who already used JS before.
So what’s the take-away?
I’m glad your asking! Two things:
- When something that seems like a great idea isn’t adopted, consider whether previously learned behavior is part of the story.
- Explore whether you can achieve your goals without requiring a behavior shift, and if yes, take that route instead.
- When you identified something your users need to unlearn, help them do it. Nudge and remind them, invent new UX, whatever it takes.
Have any examples in your life that jump to mind? Something you learned when dealing with unlearning? Let me know!