Hot answers tagged

33

What is the context of the question the user is answering, and what are the implications? This is the important question that helps guide the appropriateness of "Y" vs. "YES" (or "N" vs. "NO"). In this case you are dealing with a RSA certificate, which is a big deal. Accepting a certificate you don't mean to can have serious implications, so it is important ...


8

Yes, "mysqld --help --verbose" already exists to get more details on help. I would use "-- help --verbose" or "-help -verbose", this would at least be familiar to mysqld users


5

This might not be applicable in your case, but I've seen solutions where typing a command line command without parameters will bring up a short help or reference, and typing the command -help brings up the actual help. For example see screenshots below, from the cli for yeoman: Typing without parameters (yo) brings up (an interactive) help dialogue: And ...


5

I think your idea won't work well. Primarily because if I first end up in an interface where I expect to fill in forms and see a search bar, my first thought will be that I'm in the wrong place, I expect form fields where I can input my data. Users won't know how to submit their data using your approach. They will need to be instructed or guided, which is a ...


4

The pattern I have observed in CLIs that I use on a regular basis (Unix/Cygwin, perforce, ant, etc) is: "sub-commands" go first, required arguments go on the command line as-is; optional args go with option flags. For example: cp file-1 file-2 Both files are required arguments. ls -als There are no required args, but three options that ...


4

I would go with alphabetical ordering, even if I instinctively disliked it. When considering ease of use, think of the experience for a beginning user and an advanced user. A beginning user may not know what the name of a command is that they are looking for, so they'll just scan the list anyway, no matter the order. Alphabetical ordering won't slow down the ...


3

Generally, I've understood this to mean that Y is the default, and if I hit something other than a Y or an N (such as hitting the spacebar, Enter, or even Q), it will use the Y option. You are correct that this implies that Y is the default, on pressing the Enter key. An input other then Y, N or Enter would generally product an error. Is this display &...


3

There are various way to improve the retro CLI feeling of your web app. Here are a few: 1) Block cursor I would add a block cursor that very slowly blinks, like: 2) Scan lines Scan lines are cool, period. 3) Sound Although it should absolutely be optional and be done really well, sound can really enhance the experience. You could go for the ...


3

Part of the commonly held belief by technical people is that not having an echo of * makes the password more secure as anyone watching over your shoulder is not aware of the password length - which they would be if they saw the number of * characters. So whether or not the original reasoning were security, the fact that most users perceive not having an ...


3

It seems to me, most CLI tools will show "use --help" when its --help information contains multiple pages of info. rm might be an anomaly (its man page is small in comparison). I try to use my own "will it scroll" test when deciding whether or not to give usage when a user provides incorrect or no parameters.


2

Your word order is pretty good, it's generally a good idea to keep to a familiar "sentence structure" like format, especially if you want a natural-language like search. Keeping similar to how the familiar CLIs (DOS and Unix) work is important too. Unix Standards are pretty much the standard for CLI applications and I wouldn't stray far from their model. ...


2

I assume that this HAS to be a command line interface? Then first off: Why both "add" and "bookmark"? You should construct the commands with a verb/action as the first part. That is either: >bookmark entityX or >addBookmark entityX Then the trick is to find som memorable identifier. If you've ever tried using the filesystem on unix you will know ...


2

OP: "Can you point me to any literature on designing useful command-line interfaces?" Concept: Command wizard I don't have "literature" per se, but in this post, I'm proposing the concept "command wizard" that presents the CLI as "a friendly search dialog", feeling familiar to Google.com. It relies heavily on regular expressions, dictionaries and synonyms ...


2

Heavy use of CLI applications can improve recall, and can even develop muscle memories so that folks like UNIX operators can execute commands without thinking about the text they are typing. As a programmer, I experience this, and I many others who do also. For example, when naviagting folders on a remote server, I think the words "Go Up", but my fingers ...


2

I would say this post offers a good rational as to why many/most command line programs don't echo. To summarize, it is normally much easier to disable echo, than replace the text, with command line programs.


2

In sense of cognitive processes it is good to use first the objects of manipulation, because they are primary ones, and at the second — the context of activity. It seems, that projects are primary objects in your commands, and hub in some extent is just a property of the project (the hub itself is not the primary artefact of your application's goals). So ...


2

A Common Approach The most common way of drilling-down to see less frequently used options or greater details in --help messages seems to be appending to '--help' as the following sample options illustrate... command [--OPTION...] Does something useful in an intuitive way. Options: --quiet (-q) Execute command with no feedback. ...


2

I would also try to get the feeling of the curved screen, if possible, since that was the way thing looked back in the 1980s' when I learned programming. Also make sure that users can't save their work but must put their programs on paper and when coming back to the site - they need to put everything in the computer again.


2

In my experience -h -v would be a confusing way to spell this. (Or --help --verbose, which is the same thing written in longopts format.) Three other ways: Some commands provide a quick summary of help if run without any options, with -h/--help providing longer help. If your command does something useful even without options, this might not work. Some ...


2

I don't mean to offend, but it sounds to me like you might be going at it the wrong way. You've already done some testing and put your finger on the problem: "it tends to confuse people who are looking for a traditional browsing experience." That you've come that far is great. Now it seems you've decided the design is fine, but the users' expectations aren'...


2

The error message should probably include details of how to fix it too, with examples if possible. XML is not really always a user-friendly medium, especially when a strict XSD schema is involved. Is it possible to rethink this requirement, so that an alternative method is used, or perhaps allow the XML and/or XSD to be created via a nice UI?


2

SourceTree has a great example of the workflow you're mentioning. I'm not sure of the use case for your specific example, but in SourceTree, 95% of the time you're just looking to open the repository. As a result, SourceTree has created a default action of clicking on the item in the list to open the list, and has buried other actions under the right-...


2

Consider yourself lucky to get such a challenge! I had a stint of time when I was designing mainframe applications - it was quite a shock to have to go from graphics to text-based interfaces, but it forces you as a designer to really focus on the core aspects of design. A few things I've found useful in CLIs: Easy way to access help for commands, ...


2

It seems that last parameter determines what the output is generated as, or generated to. "as type" or "to type" sounds right then, depending on what the actual name of application.py is. Now, you have 4 possible (combinations of) outputs, and terminal is always in. Use switches? Output to terminal: python application.py inputfile outputfile Output to ...


2

Maybe "|"? (That's shift-backslash.)


1

The way I think of it is that paper (or a Kindle) reflects ambient light, while a screen is itself a light source. With a surface that reflects light, you want that surface as bright as possible, to give you more contrast. If the printed page were black, with little white lines, the reflected light would be insubstantial and therefore difficult to ...


1

Provide only a single "version" of help. Put a short summary at the begining, and put the full details under it. If the short version is enough, then no scrolling is required. If it is not enough your users don't have to go looking someplace else, they just scrol down to it.


1

What is at issue is the use of the colon. In a text message, it's assumed that the sentence is a real sentence and does not contain jargon (or punctuation which is jargon-like). Colons introduce a result which is described by the introduction at the start of the line (rather like this sentence itself): Trains to Jonesville run at: 1053, 1153 and 1253 ...


1

CLI design tends toward use of flags rather than argument order, for this reason. Extant tools that use ordering tend to confuse users (tar being one example), though if you can only have one 'output' and multiple 'inputs': tar cf output.tar input1 input2 input3 that helps disambiguate a little. The principle I prefer is to identify the 'primary' target ...



Only top voted, non community-wiki answers of a minimum length are eligible