2 ms·
The entire premise of this article is that tools like NVM are "apps", which is interesting for me. I do not think of software like NVM or node as 'apps', as muc
by lelandbatey 11y ago
The entire premise of this article is that tools like NVM are "apps", which is interesting for me. I do not think of software like NVM or node as 'apps', as much as I think of them as 'tools'. 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'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't do.
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.
Now, the question is "why is it the case that tools aren't expected to be as simple to use as apps?" 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's incredibly easy to break things like automation of command line tools in an effort to cleverly anticipate and guide a user.
Most importantly, I'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.
I don't mean to dismiss the author's points: the software mentioned is frequently frustrating to use, and can be extremely unhelpful. I've struggled with nearly all the same ones brought up in this post. However, it'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.
[0] - https://github.com/creationix/nvm https://github.com/creationix/nvm