Dan argues that the main problem with current ecosystem is not the amount of new libraries and frameworks that get released constantly, and the new standards that come along with it. The biggest cognitive load on even the most experienced programmers comes due to the sheer amount of configuration that one has to do as part of development.
He proposes the following solutions to at least somewhat alleviate the problem:
- Configuration should not get in the way of getting started. There is almost always a sensible default.
- Resist adding more configuration than absolutely necessary. Christopher Chedeau, the creator of Prettier, argues that the absolutele necessary config option is one where a sizeable chunk of the community wouldn't use the tool at all if such option would not exist.
- Require certain configs only at the point when it becomes necessary i.e. disclose advanced features progressively.
- Mind your output. Be careful not only about your error messages but also about how they are displayed.
- Create reusable toolboxes. This means that instead of forcing the end user to download the boilerplate code, you should encapsulate the internal workings of the system and provide a really simple API. This provides a clean abstraction level to work with.