Flow Killers
Flow is an optimal experience that is characterized by high levels of engagement & challenge. The writer who sits for hours engaged in the creative process, the jazz musician improvising, the painter immersed in a work, the computer programmer designing & writing code. These experiences have very stringent requirements. Here are some things that can kill flow:
Programming:
- Slow builds
- Ambiguous error messages
- Too much or not enough feedback
- Timeouts set too lax
- The wrong font
- brittle or fragile interfaces with external dependencies
- incorrect color coding
- inconsistent formatting
- excessive typing required to say a simple thing
The real world is very engaging for us because it gives us immediate and clear feedback. Most things in the digital world do not live up to this, and we are left anxiously waiting. Imagine if every time a saxaphone player blew a note, it would arrive at some random time in the future between 1 and 5 seconds. That's the crap that we put up with when trying to build systems. The language that I am excited about that aims to address many of these things is go. The worst example I have recently used of a flow killer is unity.
Programming:
- Slow builds
- Ambiguous error messages
- Too much or not enough feedback
- Timeouts set too lax
- The wrong font
- brittle or fragile interfaces with external dependencies
- incorrect color coding
- inconsistent formatting
- excessive typing required to say a simple thing
The real world is very engaging for us because it gives us immediate and clear feedback. Most things in the digital world do not live up to this, and we are left anxiously waiting. Imagine if every time a saxaphone player blew a note, it would arrive at some random time in the future between 1 and 5 seconds. That's the crap that we put up with when trying to build systems. The language that I am excited about that aims to address many of these things is go. The worst example I have recently used of a flow killer is unity.