Skip to content
This repository was archived by the owner on Oct 30, 2018. It is now read-only.

Comments regarding the cli command structure #110

Closed
ordtrogen opened this issue Apr 14, 2017 · 3 comments
Closed

Comments regarding the cli command structure #110

ordtrogen opened this issue Apr 14, 2017 · 3 comments
Labels

Comments

@ordtrogen
Copy link

Package Versions

Replace the values below using the output from storjshare --version.

2.5.1

Replace the values below using the output from node --version.

v7.7.3

Expected Behavior

Using the attached screen dump as reference.

I have a bunch of comments regarding the cli of the daemon. I guess it could be argued that Storj is out of beta and too late to make changes, b/c people use the current cli in scripts or whatever. Then I would say we're realistically quite a ways away from mass adoption. And I believe that ui consistency is an important step in that direction.

In no particular order

  • 'daemon' et al. as commands?

Most other storjshare commands are verbs in imperative form, like 'start', 'stop', 'create' etc. That's good as a real life command is a verb that instructs someone to do something. 'daemon', 'status' and 'logs' however are nouns and not verbs. Try to find verbs as commands for the same operations. (such as 'start-daemon', 'show-status' etc.)

  • Inconsistent use of 'node' and 'share'

The 'save', 'load' and 'killall' commands all mention 'shares' whereas 'start', 'stop', 'restart', 'status', 'logs' and 'destroy' mention 'node(s)'. Is there a difference between node and share or are they really the same in this context? It should be clearer.

I have the feeling that starting the daemon is what starts a "Storj node", i.e a single instance of a daemon (server) like process that participates in the Storj network. This one node exposes one or more shares which make disk space available.

The 'status' command is described "check status of node(s)" but when you run it, its output table's first column has the header "Share".

The configuration file (in a comment) refers to 'nodeid'. Should that be 'shareid'?

The 'start' command is described "start a farming node", but if you do "%storjshare help start", the output mentions "starts a new network share".

(I could go on but this should be enough to show there is inconsistency)

  • The 'restart' command.

How is it different from the 'start' command? The help text could specify "restart an already running share" (now it refers to "farming node". Is "farming" necessary?)

  • 'create' vs. 'destroy'

These two words seem complementary to me, like doing and undoing, creating and destroying. But in the realm of the storjshare daemon, they don't seem to work like this. One creates a configuration and the other destroys a node. Unless 'destroy' undoes what 'create' did, please rename.

  • 'stop' vs. 'destroy'

One is said to "stop a farming node" and the other to "kill the farming node". What's the difference? The outputs of "storjshare help stop" and "storjshare help destroy" don't really help.

  • the 'killall' command

Is said to kill shares. What's the difference between killing and stopping something here?

Why not a 'kill' and a 'killall' command? Or a 'destroy' and 'destroyall' command.

I don't know what documents you have internally, but I think you should write up a clear specification of what nodes and shares are, what it means to start, restart, kill and stop things, use that as a basis for the CLI specification and then implementation of same. And put it up on the help pages.

Keep up the good work!
cli

@161chihuahuas
Copy link
Contributor

Thanks for this great feedback. Give me some time to consider it carefully and we can work together on this.

Also, since it's a simple answer, the terms node and share are synonymous in the context of the CLI.

@phutchins
Copy link

Definitely good feedback! @bookchin, ping me when you're ready to work on this and I'd love to share thoughts.

tempestb pushed a commit to tempestb/storjshare-daemon that referenced this issue Oct 27, 2017
 Changes to be committed:
	modified:   bin/storjshare-create.js
	modified:   bin/storjshare-destroy.js
	modified:   bin/storjshare-killall.js
	modified:   bin/storjshare-load.js
	modified:   bin/storjshare-logs.js
	modified:   bin/storjshare-restart.js
	modified:   bin/storjshare-save.js
	modified:   bin/storjshare-start.js
	modified:   bin/storjshare-status.js
	modified:   bin/storjshare-stop.js
	modified:   bin/storjshare.js
	modified:   lib/api.js

Changes wording from "shares" & "share" to "nodes" & "node" to make it more uniform.

  As requested in issue storj-archived#110 it can be confusing for new users to distinguish the meaning between node and share.  As they are one in the same, I leaned towards node and replaced the
word share where it is output.  (I only replaced human readables, no variables, parameters, or fields were touched.)
@braydonf braydonf added the ux label Nov 9, 2017
@RichardLitt
Copy link

👋 Hey! Thanks for this contribution. Apologies for the delay in responding!

We've decided to rearchitect Storj, so that we can scale better. You can read more about this decision here. This means that we are entirely focused on v3 at the moment, in the storj/storj repository. Our white paper for v3 is coming very, very soon - follow along on the blog and in our Rocketchat.

As this repository is part of the v2 network, we're no longer maintaining this repository. I am going to close this for now. If you have any questions, I encourage you to jump on Rocketchat and ask them there. Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants