The Swarm CLI interface, the configuration, the options, and the error messages have grown organically over time. As the project matures and gets more users, it is important that we dedicate time to clean it up and keep it organised.
This issue lists some points that could be addressed
In the long term we should have a more dedicated process for evaluating and improving UX.
Some points that could be fixed (in no particular order).
[ ] 1. A configuration file should be created in the swarm directory with all defaults included and #commented out (as is standard practice) making it easy to understand and edit.
[ ] 2. The --bzzaccount option should not be mandatory, especially if there is a single bzz data directory. (i.e. the default option should be bzzaccount=auto)
[ ] 3. order of CLI flags should not matter whenever possible (eg swarm up --recursive vs swarm --recursive up)
[ ] 4. Cleanly separate the swarm subcommands up, db, version etc. (You should never see an error from swarm startup like Fatal: bzzaccount option is required but not set when you are actually just trying to upload content to swarm but just got some cli flag wrong.)
[ ] 5. Have a separate swarm start type command to launch a swarm node (see previous point)
[ ] 6. The error no peers found should make clear if it is a swam error or a geth/ENS error (applies to HTTP error page as well)
[ ] 7. Have a status page showing storage usage, connectivity, error log, mainnet/ropsten ENS status, ... anything that makes this info more accessible and clear to users.
These issues are summarised in the following EPIC: https://github.com/ethersphere/user-stories/issues/13
What this is about
The Swarm CLI interface, the configuration, the options, and the error messages have grown organically over time. As the project matures and gets more users, it is important that we dedicate time to clean it up and keep it organised.
This issue lists some points that could be addressed
In the long term we should have a more dedicated process for evaluating and improving UX.
Some points that could be fixed (in no particular order).
--bzzaccount
option should not be mandatory, especially if there is a single bzz data directory. (i.e. the default option should bebzzaccount=auto
)swarm up --recursive
vsswarm --recursive up
)up
,db
,version
etc. (You should never see an error from swarm startup likeFatal: bzzaccount option is required but not set
when you are actually just trying to upload content to swarm but just got some cli flag wrong.)swarm start
type command to launch a swarm node (see previous point)no peers found
should make clear if it is a swam error or a geth/ENS error (applies to HTTP error page as well)[ ] 7. Have a status page showing storage usage, connectivity, error log, mainnet/ropsten ENS status, ... anything that makes this info more accessible and clear to users.