Published: June 05, 2022 • 2 min read
Lately I’ve been thinking about desire paths.
We’ve all seen a desire path. They are paths created by erosion from human and animal traffic that telegraph a wish for a path that doesn’t exist. When you walk on a paved path toward a destination and notice a short-cut in the earth, that’s a desire path. It’s the way people go, rather than the way we would wish them to go.
I once read about an architect who omitted footpaths in a college campus design. They built and opened the campus without them. Then, they waited for a year for the desire paths to appear. When they did, the architect paved those paths, reflecting the desires of the campus users.
The software applications I see in this concept can be surfaced via session tracking. Tools like Fullstory reveal how customers use your software. Very often, it will be in unexpected ways.
Power users will carve desire paths through your application. They’ll bypass a screen with poor performance that they’ve learned can be skipped. They’ll patiently click all around an HTML element until happening to click the misplaced button inside it. They’ll visit your site in Safari Reader Mode to avoid your paywall or the unusable barrage of ads and popups you’ve created.
Ignore these signals at your peril. Even when something is broken or wrong, if it’s in production, somebody depends on it in its broken, wrong way.
This is Chesterton’s Fence extended. Not only should we not remove something unless we understand why it exists, but we should also not remove something whose current uses, however unintended, we are ignorant of. You can remove it, and you ought to understand the consequences.
Where are the desire paths in your software?
What are your thoughts on this? Let me know!
Get better at programming by learning with me! Join my 100+ subscribers receiving weekly ideas, creations, and curated resources from across the world of programming.