Implicit step zero

Implicit step zero is the step that natives of a particular ecosystem always leave out. This "step" is in fact usually multiple steps, which are themselves some combination of tedious, painful, and deflating from the perspective of the uninitiated.

In 2020, jekylrb.com ( jekyllrb.com archived ), the homepage of the Jekyll static site generator is an especially good example. Jekyll is implemented in Ruby, and the Jekyll developers feel at home in the Ruby ecosystem. The Jekyll developers, therefore, are operating from a foregone conclusion that Ruby is available and that it will be an easy task for its audience to run Jekyll. There's an implicit assumption that a user's computer will have a system configuration that is close to the Jekyll developers' own machines. It is very likely the case, however, that a given user's machine does not have the necessary software to run Jekyll, since the audience is simply the set of people that would find a static site generator to be useful. It is this assumption that is responsible for the fact that the Jekyll homepage touts that one is able to "get up and running in seconds " (emphasized in the original) and presents a facsimile of a terminal emulator showing the three commands that comprise the "Quick-start Instructions".

The Jekyll folks—including its developers and its users —are experiencing a sort of "tunnel vision" that makes them blind to the the potential pitfalls that the uninitiated are likely encounter. On the Light Table blog, the Light Table team documents a generalization of this phenomenon under a post titled "Pain We Forgot".

Triple scripts were invented to tackle the problems associated with implicit step zero in traditional software development. The triplescripts.org group urges project creators and maintainers follow the ABCs of triple scripts to eradicate implicit step zero.