The entire premise of this article is that tools like NVM are &quot;apps&quot;, which is interesting for me. I do not think of software like NVM or node as &#x27;apps&#x27;, as much as I think of them as &#x27;tools&#x27;. And for me, the entire point of a tool is that contrary to point 4, you are expected to read the manual before using them. A tool has little in the way of safeguards, and it doesn&#x27;t presume to know what you want. It does what it was designed to do, and you are expected to understand what it does and doesn&#x27;t do.<p>For example, the problems had with NVM are nearly all explained by reading the README[0] which on my laptop is ~6 screens of medium size text. If perused, it would explain how to install versions of node, how to enable different version, and how to set default global versions.<p>Now, the question is &quot;why is it the case that tools aren&#x27;t expected to be as simple to use as apps?&quot; I believe the answer is because anticipating and guiding a user through learning that tool takes a ton of time and energy, much more time and energy than your average open source developer has. Additionally, it&#x27;s incredibly easy to break things like automation of command line tools in an effort to cleverly anticipate and guide a user.<p>Most importantly, I&#x27;d like to remind everyone that this is open source software and you are more than welcome to attempt to change it. For example, NVM is a ~2000 line bash script; making some of the simpler changes you bring up (such as improved help messages and suggestions) is well within the grasp of a single person with an afternoon.<p>I don&#x27;t mean to dismiss the author&#x27;s points: the software mentioned is frequently frustrating to use, and can be extremely unhelpful. I&#x27;ve struggled with nearly all the same ones brought up in this post. However, it&#x27;s not as though these where tools designed by Apple for the everyman; they where built by engineers under time pressures with an intended audience of other engineers, and if you think they should be different you are welcome to bring that change.<p>[0] - <a href="https:&#x2F;&#x2F;github.com&#x2F;creationix&#x2F;nvm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;creationix&#x2F;nvm</a>