My first question here and I feel like it's rather opinion based, but this SE site still confuses me. Anyway, I looked for ellipsis in the q&a here and found nothing related to my problem, nor a tag related to such design snowflakes.

So my environment is this:

  • standard Windows cmd.exe environment i.e. 80*25 characters
  • script installs some application for ~5minutes with pauses to notify the user about what's going on (edit)

and I echo statements to the console in a shape like this:

Some string <= 80 characters...

Notice the ellipsis at the end. The whole echoed string remains in a single line i.e. it doesn't exceed the 80 character width.

My question is, should I remove the ... i.e. is it a distraction, or is it an OK thing to do? The ellipsis in such an echo was intended as a mark of progress such as:

  • Installing...
  • Loading...
  • Looking for...
  • Downloading...
  • Running...
  • Launching...
  • XYZing...

On the other hand, sometimes there's more than a single echo in such a shape e.g.:

Looking for...
Installed correctly! <----- some kind of end for the echos

or in this shape:

<long log from installing>
  • I'm not sure it matters but I like the Initializing... - followed by whatever - followed by Initializing Done.. This let's me know if any errors happened before, during or after a certain step
    – DaveAlger
    Mar 24 '17 at 17:04
  • Did you consider to use an animation like | / - \ | to indicate a running process? (As you didn't say whether its a batch, PoSh or console app, im not sure it technically fits your needs)
    – Clijsters
    Mar 24 '17 at 17:36

Here is my take, based on my experience from numerous iterations on our own CLI tools.

First and foremost, there is a dedicated ellipsis Unicode character , looking different than three ASCI periods .... If you feel you have to use an ellipsis, please use the former, as the latter just looks horrible.

Second: If you think the ellipsis is required to indicate an ongoing activity, something else is probably not right. In the example you give, I think the too brief language is a bit of a problem. If you used more complete phrases instead, it would be easy to understand (a) what is happening and (b) that it isn't finished a the time that specific line appears.

Another easy yet effective enhancement is to print your status message without a trailing newline, and then, when finished, add something like Done. This has the side effect of leaving the cursor at the end of the current activity.

In addition, I suggest to be a bit more verbose.

First state:

Downloading ~250 MB of software packages to be installed: |


Downloading ~250 MB of software packages to be installed: Done.
Installing My Super Product: |


Downloading ~250 MB of software packages to be installed: Done.
Installing My Super Product: Done.
Searching for files to index: |

And so on. | indicates the cursor.

  • Sadly, batch supports ASCII only in the easy approach to the console, though there are additional files for something more robust. Anyway, have an upvote as this would be my choice too if it was so easy in batch alone. For Python or other langs this is the optimal way for not hurting the user's eyes.
    – KeyWeeUsr
    Mar 25 '17 at 17:52

I'm not sure I completely understand your question, but my interpretation is that you are wondering if it makes sense to include ellipsis in each of your echo's as the application progresses.

If that is your question, I believe that is pretty standard for the cmd.exe line interface. The ellipsescommunicates that a job has more work to do/is still running, and an exclamation point is a good indication that the job has finished. Users can quickly glance and spot the ... and know that the application is still running.

I think your design is sufficient here. I have worked in the cmd.exe interface numerous times in my previous job and throughout my schooling and have found the ellipses useful.

Do you have any other options you are looking at?

  • Yeah, you've understood the question correctly, but I'm not sure what other options should I have. Do you mean something like a progress "circle"(\|/-)? In that case, no, it'd just complicate things.
    – KeyWeeUsr
    Mar 24 '17 at 14:56
  • I'm not sure what you mean by (\|/-), but another option could just be a percentage that increases as the job progresses until it is complete and which point the percentage changes to %100 and moves to the next line.
    – Levi J
    Mar 24 '17 at 14:59
  • Well, the characters are replaced in-place i.e. Progress \ Progress |Progress /Progress -. Anyway, no, I don't want to go that way :/
    – KeyWeeUsr
    Mar 24 '17 at 15:00

I think ellipsis should appear in textual interfaces in two situations:

  • when a text is truncated, so it cannot be displayed within the given constraints,
  • when a process is running in the background (like in the example you have given: Downloading... Installing... etc.)

As far as I understand what you are trying to achieve, Users enter some strings that are measured on the fly. As checking the length of them is easy, and the process ends within nanoseconds probably, there is no situation when some process runs in the background analysing it.

Therefore, ellipsis should not be shown in this case and may build up Users' confusion.

  • So, similar to @LeviJ 's answer, for a situation when it takes longer than a blink of an eye the ellipsis is useful to indicate that something is actually hapenning. If the background task is too short, it's a distraction. What about a situation when I echo Installing... and after that there's a log shown in the console right after that (no waiting before the echo, might be a small pause after echo until the installer initializes)?
    – KeyWeeUsr
    Mar 24 '17 at 14:58
  • 1
    Then I think the log is something that is anyhow logically encapsulated by the install process indicated by "Installing...". So I think there should be an elypsis. Mar 24 '17 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.