Often a developer will be showing you software they’re working on and will fixate on a specific, seemingly meaningless, feature. The reason is because it took a long time to implement. This is implementation blindness.
A memorable instance of this happened at WWDC 2015. Craig Federighi was demoing the new split screen feature of iOS 9 on an iPad. He divides the screen in half, and then does a move with his fingers that I promise you no one has done since (timestamped YouTube link).
The behavior he demonstrates is expected of split screen functionality. People would only be disappointed if it didn’t work as demonstrated. It’s not interesting or exciting to see that split screen behaves likes this. If anything, it’s worrying that Apple took the time to point it out. It’s the software equivalent of a dentist saying “I always pull out the right teeth!”
This is a notable example because it happened to Apple — a company that is fixated on being user-focused and obsessed with the story they tell. Being able to play a one handed game of Twister on your iPad and having multiple windows scroll is not a valuable part of any story.
Once you become aware of implementation blindness, you start noticing it everywhere.
A game developer once showed me a game prototype they were working on. While playing they kept going in and out of a door. They did it so often I thought I might be missing some gameplay element involving the door. As I was about to ask the developer turned to me and said “doors took a really long time.” Implementation blindness.
Implementation blindness has two major pitfalls:
- You spend an inordinate amount of time implementing something you think is a game changer, but is actually table stakes for the product you’re making.
- You communicate what your product does poorly by focusing on features that aren’t actually important.
Implementation is undeniably important, but it can also become a barrier to understanding what you’re building. So when planning or explaining a project, consider asking yourself how its implementation has made you blind.