I've heard that the term "abort" could have a negative meaning in some contexts (i.e. due to abortion-related issues), and for that reason it was avoided in some interfaces of the 80's/90's, probably after the popularization of DOS' famous Abort/Retry/Fail.

I do not recall if this issue happened in English-speaking countries, or in other countries where the word "abort" was more strongly associated with abortion than computing (and the software was not translated).

In any case, does it still hold, at least in English-speaking countries? Should I prefer using "cancel", or "terminate", even when the term "abort" seems to better fit the intended operation?

  • 11
    Well, “Abort” is a fancy word for toilet in German, but I do not think that is the reason everyone uses “cancel” nowadays. – Crissov Apr 1 '15 at 11:43
  • 35
    If you really wanted to avoid that connotation, then terminate would hardly be an improvement. – Jon Hanna Apr 1 '15 at 16:37
  • This is likely an English.se question more than a UX question. – DA01 Apr 2 '15 at 17:31
  • 6
    As a Kopimist, I am offended by the word "cancel"; please refrain from using it. – Federico Poloni Apr 2 '15 at 20:49
  • 2
    @JonHanna EXTERMINATE! – nyuszika7h Apr 3 '15 at 22:28

10 Answers 10

up vote 24 down vote accepted

Like everything, this will depend on context. However, "Abort" is one of those 'computer words' that isn't normally used by people in everyday conversation, along with things like "terminate" and "submit". It's one of the reasons that in the past, people had to take computer literacy courses in order to understand technology. Thankfully, User Experience and the user-centered design philosophy means that we now design computers to work for people rather than forcing people to adapt to computers.

I think the most obvious and widely understood alternative to "abort", as noted in the question, is "cancel", but perhaps there is an even more 'human' and descriptive phrase that makes sense in the particular context.

  • 6
    Its also rather a 'dated' word - I'd associate it putting men on the moon and 'aborting the mission'. – PhillipW Apr 1 '15 at 10:34
  • 16
    My intuition (as a programmer anyway) is that "cancel" implies stopping something that the user is doing, whereas "abort" implies stopping something that the computer is doing. Whether or not these words are used, that distinction is somewhat important, one reason being that interrupting what the computer is working on is not always an easy thing to do. (I now see that another answer has mentioned something along these lines.) – Dave Cousineau Apr 1 '15 at 19:42
  • 10
    @PhillipW and there's a great dfference between aborting the mission when the guys are already in space vs. cancelling the mission before lift-off – Hagen von Eitzen Apr 1 '15 at 21:17
  • 5
    "Abort mission" "Abort the landing" "Plans have been aborted", etc. I don't think it's a particular computer-centric word at all. That is may have connotations with abortion is perhaps a concern in certain context, but it's also a fairly widely used and understood word outside of both the abortion and computer contexts. – DA01 Apr 2 '15 at 17:32
  • 4
    "Cancel" can be a problem if the button in question appears in a prompt. The user may click the button without reading, hoping to dismiss the prompt, and inadvertently abort a lengthy process. – acbabis Apr 2 '15 at 21:08

Are the listed words really synonyms? I cannot provide any references now (possibly because many software developers/producers do not consistently follow the distinction, either), but my impression is that at least abort and cancel are slightly different:

  • Cancel sounds pretty much like a routine operation. You can cancel something before it has really started (e.g., saving settings); you cancel a choice of an operation you were about to invoke; and, in particular, you can think about whether or not to cancel for a minute or for an hour, and nothing will change.
  • Abort, on the other hand, sounds somewhat more severe. You abort a running operation, something that is halfway done and will possibly require a rollback. If you face the choice whether or not to abort something, you have to think fast, as the operation might be progressing in the background. Abort carries a connotation of “pulling an emergency brake”.

Therefore, the question is not so much whether or not to use either of the words, but when to use them.

As for alternatives, I am not convinced terminate is a much better alternative to abort. In particular, terminate can have the very same connotation about abortion that you were wary about concerning abort.

  • 3
    Agreed with "Cancel" -- "Cancel" is commonly used to cancel the operation you're being warned about. "Warning, this will cancel the activity. [Cancel] [Continue]" Does clicking Cancel cancel the activity or cancel the cancellation? I've run into this in some applications and it's not clear which one I want to click. – Johnny Apr 1 '15 at 18:08
  • 1
    I agree with this. "Abort" implies stopping doing something that is not so easy to stop doing. ("Pulling an emergency brake" as you say.) "Cancel" is more of an effortless instantaneous thing. – Dave Cousineau Apr 1 '15 at 19:47
  • @Johnny: You don't need the word Cancel for that kind of a confusion: "Closing will discard your changes, unless you save them now. Do you wish to proceed? - [Yes] [No]" – O. R. Mapper Apr 1 '15 at 19:55
  • @O.R.Mapper: Yes/No questions like that are bad, because people don't read the text - especially since with the text you suggest the Yes/No has the opposite sense from the usual "Do you want to save before closing?" question (so, out of habit, people will click "Yes" when they want to "Save"!). Better to label the buttons something like "Save now" and "Discard changes"? – psmears Apr 2 '15 at 9:34
  • 1
    @O.R.Mapper: Ah, I see. I interpreted "for that kind of a confusion" as "in order to solve that kind of a confusion" but clearly you meant "in order to cause that kind of a confusion". Sorry about that :-) – psmears Apr 2 '15 at 9:53

The words have subtly different meanings.

  • Stop means to prevent something from continuing, but not necessarily permanently. E.g. stop video playback.

  • Terminate means to stop permanently. E.g. terminate process.

  • Abort means to terminate before completion. E.g. abort file transfer.

  • Cancel means to make something void. E.g. cancel subscription.

As a former officer in a pro-life political action committee who is also a software developer:

I never found the use of the term "abort" in a software product offensive or disturbing. To "abort" a process is to kill it before it has a chance to complete its intended operation. To "abort" a baby is to kill it before it has a chance to be born.

We regularly talk about "killing" a process, which is pretty much the same idea.

That said, I guess there are people who find it disturbing. It wouldn't hurt to avoid the term and instead use something with no alternative connotations, like "Cancel" or "Stop Run". I probably wouldn't put buttons on the screen labeled "Lynch" or "Rape", no matter how accurate an analogy those might be to whatever the software is doing. I might well use them in comments in the code though ...

  • 1
    If I recall correctly, the commentary about this word was something similar to "its usage might lead a pregnant user to unconsciously refrain from 'aborting' an operation, even if that would be the right choice". It does not necessarily make sense, but being a non-native English speaker, I wondered if that would be related to the fact that this word is found less often in modern user interfaces. – anol Apr 1 '15 at 15:28
  • @anol Ok, I was thinking more in terms of a person being consciously offended or disturbed because they can't help but think of the non-computer definition. Personally I've never had a moments hesitation about clicking a "Kill the Process" button, despite the fact that I am opposed to murder -- certainly not consciously, and I really don't think unconsciously either. Ditto many other such words. But I can comprehend the idea that others may not react the same way. I could argue with them and say they're being silly. But why bother if there's an easy alternative? – Jay Apr 1 '15 at 15:43
  • 3
    In the OS X UI, killing a process is called "Force Quit". Apple obviously went out of their way to avoid using "kill". (The Unix command in Terminal.app is still called kill, for obvious compatibility requirements.) – 200_success Apr 1 '15 at 18:24
  • @200_success: I think "terminate" would be equivalent to "kill -9", but would expect "force quit" to be more like an ordinary "kill". – supercat Apr 2 '15 at 20:43
  • 1
    @anol It takes a rare person to compare "abort" with "abortion", even subconsciously. Those who speak English as their first language hardly ever "abort a baby", but instead "have an abortion" (using the word "baby" implies life, which makes pro-choice advocates uneasy, since this implicates murder). While it's possible that the new generation that has had Windows 7/8 as their only OS would hardly have seen the word abort in usage, Linux users would probably see it more frequently, and consider its usage normal. Abort is the correct term, as long as it means "stop mid-process." – phyrfox Apr 5 '15 at 9:47

Historically, the Abort/Retry/Ignore question in MS-DOS was a result of an I/O subsystem which had no way of reporting problems from the disk sector level through the file-system level to the underlying application. If an application asked to read some data from a file, and block 1571 of the disk was unreadable, there was no defined mechanism by which DOS could tell the application "Sorry--it turns out that part of the file is unreadable". The choices were:

  • Abort -- Kill the application altogether

  • Retry -- Repeat the requested operation and hope it works. If a disk had been removed, reinserting the last disk that had been used might work, but inserting a different disk may be disastrous.

  • Ignore -- Give the application some random data and hope for the best.

Note that Abort did not mean "just cancel the requested operation"--it meant "kill the application". This could sometimes be very unpleasant. For example, if one accidentally tried to save a file to a write-protected disk, removing that disk, removing the write-protect tab, and then reinserting and hitting "retry" might work, or if there wasn't room for the file it the application would be informed of that; that wouldn't be a good option if the disk had been write-protected for a reason, however. Hitting "ignore" enough times would cause the application to think the file had been written to the disk even though it actually hadn't, though I recall one would have to hit the key for every sector the application tried to write. Hitting "abort" would kill the application entirely, which--if the reason one wanted to save is that one had just done a lot of work--might make one want to throw the computer through the window.

Note also that during the early days of DOS, changing disks when presented with an Abort/Retry/Ignore prompt for a write-protected disk was often recipe for data corruption, since the write-protect tab wouldn't be detected until the system had decided which block it was going to write, and the effect of swapping disks would be to cause that block to be blindly written on the new disk.

In more modern contexts, I would suggest that "abort" and "cancel" should not be considered synonymous; the difference in meaning may be illustrated if one imagines three software-update processes:

  1. At any time prior to the completion of the update process, one may interrupt it, and doing so will leave the system in a state similar to that before the process began.

  2. At any time prior to the completion of the update process, one may interrupt it, but doing so will leave the software in a state that will be useless unless or until the upgrade process is restarted from scratch.

  3. At any time prior to the completion of the process, one may interrupt it, leaving the software in a state which will be useless unless or until the upgrade process is completed, but the process may be resumed from the point of interruption.

The first action above I would call "cancel"; the second, "abort". The third scenario I would call "pause" or "suspend" [probably have a button marked "pause", which would then offer descriptions of available actions including "suspend"]. Generally, software should endeavor to avoid the second scenario, since users will typically want the first or third. Since software should avoid forcing users to pick the second scenario, it should thus generally not have an "abort" action. In cases where software cannot gracefully interrupt a process but a user may be willing to accept the consequences of a rude interruption, however, the term "abort" may be appropriate.

Yes, avoid using it. Probably...

Some perspectives:

  • Developer language vs user language. Abort and Cancel may have nuanced differences to a developer but to a user, factors like familiarity and friendliness are a lot more important than accuracy.

    • An extreme example of user-language vs developer-language is placebo buttons which do absolutely nothing for a developer, but provide a more friendly experience for users.
  • The Abort button has been phased out over time. This may have something to do with political connotations, although I would prefer to think it's just the general shift towards better UX and a simplification of interaction language.

    • Example: Microsoft still provides a stock Abort button for backward compatibility, but recommends using Cancel instead in various docs. Here's their guidance on Message Box buttons:

enter image description here

Your specific app may really need the extra nuance of Abort, but maybe these perspectives will help you drive a balanced decision of the benefit vs drawbacks.


Although Google Trends is not a reliable indication of actual usage, it does provide an interesting perspective (click to enlarge):

enter image description here

  • Google Trends just shows that there are a lot more "cancel" buttons in the world than there are "abort" buttons. – Mark Apr 3 '15 at 22:24
  • @Mark that's right...in fact it's even more imprecise than that, hence the caveat. – tohster Apr 3 '15 at 22:27
  • Microsoft has been trying to phase out "abort" because it sounds harsh, and has little to do with politics. It's Microsoft having a blue screen of death that includes ":( Something went wrong" instead of a wall of text that explains what went wrong. That doesn't make it right. Everywhere else, we (computer nerds) use abort when we mean it. Linux, Mac, and salesforce.com all use the term abort when it's warranted. In fact, just today I had to "abort" a batch process in salesforce.com and restart it. – phyrfox Apr 5 '15 at 9:57
  • Also, I would add that both cancel and abort have been historically abused. Microsoft probably wanted to move people away from "abort" because so many developers would use the term "abort" when they meant cancel, and as cancel gained in usage, so did abuse of the word cancel. Perhaps in a few years Microsoft will just dumb it down another notch and suggest the word "stop" as the new UX (stop can mean both cancel and abort, while cancel and abort are generally not correctly interchangeable). – phyrfox Apr 5 '15 at 10:00
  • @phyrfox I didn't say I believe it has anything to do with politics, in fact I noted that I prefer to think it's for UX reasons such as the poor affordance of the word. Perhaps you have some conclusive evidence to show that there is no political factor involved, but if not, I think the phrasing was accurately non-dispositive on the matter. – tohster Apr 5 '15 at 17:34

My instincts tell me that while not a big deal in general, it would be prudent to use an alternative if you can think of one. Words differ not only in the potential severity of an unintended meaning but also in how (un)likely it is that someone would think of these unintended meanings in a computing context.

Examples:

  • kill is problematic because of its severe primary meaning, but language is so full of military and killing metaphors that it should be harmless most of the time. However, the word should probably be avoided in software that targets a demographic with a high percentage of killing-related traumatisations.
  • terminate is not problematic because its kill meaning is not the primary meaning and is not normally used outside some very specific contexts. This doesn't rule out the possibility that someone might have a problem with the word, but this can happen with almost every English word.
  • abort is problematic because its primary meaning nowadays is the termination of a pregnancy. Your users probably include women. The odds that some of them have had a traumatic experience related to abortion (or miscarriage) are probably much higher than the odds that someone has had a traumatic experience related to killing in a straightforward sense.

If you use a 'trigger word' such as kill or abort, I guess there is a risk that a small percentage of your users will switch their brains from cerebrum mode (reasoning) to brain stem mode (pure instinct) for a few minutes. In addition to the generally unpleasant experience for these users this can lead to erratic input.

The risk is reduced substantially in contexts in which we are all used to seeing the word in question. E.g., instructing a Linux user to use "kill -9", or instructing a DOS user to select "(A)bort" is harmless, whereas generalising such a context or transferring a word to a related context (e.g. "kill" or "abort" button in a new kind of interface that is a wrapper around an old one) is not necessarily so.

Abort is a more of a technical term, so whilst we would use it everyday, it's still a technical term and not quite "layman" enough.

Though saying that, it really depends who you are building it for, if it's devs thats fine. If you're making it for a regular person off the street, they would eventually understand "abort" means to stop the process, so why not use the word 'Stop process'.

Describe the action so it's really obvious what happens next.

It is all within context, but I'm not sure 'terminate' is much better.

Apart from sensitivity, "abort" by itself is open to too much interpretation. It is often used in circumstances where the user is able to repeat an action and so it's not as final as discussed in many of these answers. Even a file transfer can often be restarted.

Considering the immediate effect, use Stop, Pause or Interrupt. You may have some context which allows an operation to be immediately resumed (some file downloads) or restarting may imply some work is repeated (downloads initial portion again). I think Pause implies you are able to Resume immediately.

If copying files, they may want to leave files there which were already copied or to have them cleaned up for now, retrying later.

I once called a state of a collection of data (visible in a diagnostic app) "Stillborn". This turned out to be too creative. I'm not a native speaker of English and the intended meaning was "Staging finished, state of data invalid or unknown, further processing not possible." As soon as the app was released I received strong push-back from consultants/users and I had to rename to something more neutral such as "Rejected".

The same diagnostic app also has an "Abort" button and this never raised any comments, let alone complaints. This turned out to be normal.

  • 1
    Excellent metaphor, but in retrospect I am not surprised. About 0.5% of conceptions end in a stillbirth. Even worse, a miscarriage (the equivalent of a stillbirth before the 20 week mark) can also be a traumatic experience, and these are incredibly common: 30%-50% of all conceptions! As a result you can expect to remind a large percentage of your users of a very unpleasant experience if you use this word. The fact that the term isn't normally used in computing makes it even worse. – Hans Adler Apr 2 '15 at 12:11
  • 1
    @HansAdler - In retrospect, I am not surprised either. – Jirka Hanika Apr 2 '15 at 13:25

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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