Giving the iPad a full-time job
[A translation of this post is available in Chinese and in Spanish ]
Programmers often describe their ideal tools with adjectives like "powerful", "feature-rich", and "highly-configurable". Few users are seen as wanting more from their computers than programmers.
This popular notion agrees with our general intuition that more capability intrinsically yields greater productivity. My lived experience suggests, however, that while capability is a prerequisite for productivity, the two hardly share a linear correlation. A dozen ways to do the same thing just results in time-wasting analysis paralysis. Apps packed with features to cover every conceivable need will slowly crowd out the tool's primary use. Every extra configuration option that I delight in tweaking is another if-else branch in the system, requiring its developers to test more and change less, slowing the pace of innovation.