Annals of algorithmic communication

« previous post | next post »

Yesterday afternoon, I got this interesting email message:

The departure time for US Airways flight # 3314, from Detroit to Philadelphia on May 11 at 6:05 PM has changed. The flight is delayed due to air traffic at the destination airport. Your estimated time of Departure is 6:05 PM.

6:05 PM was the originally scheduled departure time, so this communication puzzled me. Then I read an earlier email, which by the last-in-first-out logic of email queues came later in my list of pending messages:

The departure time for US Airways flight # 3314, from Detroit to Philadelphia on May 11 at 6:05 PM has changed. The flight is delayed due to air traffic at the destination airport. Your estimated time of Departure is 6:40 PM.

It's easy to guess the algorithm that led to this sequence. But I'm at a loss for terminology. Is there a word for a silly or meaningless communication, generated in a specific class of circumstances by an algorithm that normally generates sensible messages?

Update — I should add the the flight did leave on time, and that I was happy to have been told that there would be a delay, and then that there wouldn't be a delay. But it's interesting that there's no "never mind" message template.


  1. Anthony said,

    May 12, 2013 @ 6:40 am

    Yep, spam…

    [(myl) No, because spam algorithms don't generate sensible and useful messages most of the time, only failing in specific circumstances that the algorithm's authors failed to plan for.

    Program bugs in general often involve failure to anticipate some particular combination of circumstances, but I still don't know a commonly-used word or phrase for this state of affairs, either in general or in the case of programs that generate human-readable messages.]

  2. azog said,

    May 12, 2013 @ 7:24 am

    I probably would call that a "state failure". The system does not maintain any kind of state, not knowing whether or not it has sent you previous messages.

    Or you could call it "lag" or "latency", since you're receiving the messages out of sequence. I get this kind of stuff from ebay sometimes; after winning an auction and paying for an item, I will receive my "payment received" first, and then later I will receive a "congrats, you've won an auction!" message.

  3. The Ridger said,

    May 12, 2013 @ 8:01 am

    It's probably much simpler not to try and keep track of who's already received a message, and just send out new ones every time the situation changes. After all, if your email had delivered the messages in order, they wouldn't have been senseless.

  4. Clarence Rubin said,

    May 12, 2013 @ 8:01 am

    I believe the technical term is "bug". It's an edge case that the programmers didn't account for (a formerly delayed flight getting back on schedule), which results in an incorrect output (using the word "delayed" to describe a flight leaving on time).

  5. Ellen K. said,

    May 12, 2013 @ 8:03 am

    If I understand right, he received the email messages in correct order, but read them out of order, because most of us (largely do to the way email software is designed) read our new email messages newest first. Newest first being the simplest way to read them, and not an issue when they are from different people, as they usually are.

  6. Faldone said,

    May 12, 2013 @ 8:56 am

    … he received the email messages in correct order, but read them out of order …

    That would be fine except the later message, according to the way I read Prof. Liberman's description, is identical to the earlier message except for the departure time. The earlier message makes sense; the delayed departure time is indeed later than the originally scheduled time. The later message does not lead me to believe they changed the departure time from the delayed time back to the original time.

  7. Jeroen Mostert said,

    May 12, 2013 @ 9:03 am

    My favorite one remains "Error: The operation completed successfully." on Windows machines. This is the result of a double failure: the first one that triggered the error, the second one in the error handling code itself that performs some action that clears the last error, so that, by the time the error message is displayed, we happily inform the user that no error occurred.

    The industry-specific term for it would be "business as usual", or, per Clarence "a bug". Contextually sensible communication is hard; spitting out canned messages with templated holes filled in is easy. Smart programmers try to design the templates such that cases like these end up more amusing than confusing, but making sure the software never puts its foot in its mouth requires considerable investment.

  8. Gene Callahan said,

    May 12, 2013 @ 9:26 am

    "Or you could call it "lag" or "latency", since you're receiving the messages out of sequence. "

    No, he just read them out of sequence.

  9. Gene Callahan said,

    May 12, 2013 @ 9:28 am

    My iPhone occasionally tells me "Nothing to cancel" and asks me to click "OK" to proceed, after which I guess it will be canceling nothing.

  10. MattF said,

    May 12, 2013 @ 9:30 am

    The specific error is 'undernegation'. The message should read "The departure time… has not changed. The flight is not delayed…" This a non-trivial message, answering the pertinant question "Is my flight delayed?"

  11. Rod Johnson said,

    May 12, 2013 @ 10:13 am

    A simpler kind of infelicity, but one that I've seen seriously boggle users, is on the "electronic parking meters" we have been getting (which are already pretty messed up, UI-wise): "Press ENTER to EXIT."

  12. GeorgeW said,

    May 12, 2013 @ 11:11 am

    I would guess this would be related in some way to all changes (at least initially) being delays – airlines don't reschedule earlier departure times. So, rather than have multiple messages, any change is assumed to be, and explained as, a delay.

  13. Rubrick said,

    May 12, 2013 @ 12:16 pm

    I'm surprised and impressed that they actually included a reason for the delay. The airline standard seems to be that all delays are "due to reasons".

  14. uebergeek said,

    May 12, 2013 @ 2:01 pm

    I don't know of an existing term for it, but I'd call it algospeak.

  15. mollymooly said,

    May 12, 2013 @ 2:18 pm

    I think "glitch" is more accurate than "bug", though still not nearly specific enough to answer the OP question.

  16. maidhc said,

    May 12, 2013 @ 4:52 pm

    It's relatively simple to design a fill-in-the-template system that sends out a message whenever the departure time changes. As mentioned already, there is no memory of the previous state of the system. It would be much more complicated to retain a log of all previous changes and send out special messages whenever the current status is the same as one encountered previously. Furthermore I think it falls in the category of things that are more trouble to do than is worthwhile, given the minute amount of additional convenience it would provide.

    "Glitch" is a precise technical term meaning a very short voltage spike, usually caused by a race condition, that alters the state of a logic circuit.

  17. dainichi said,

    May 13, 2013 @ 1:02 am

    @azog: "state failure"

    You don't need to maintain state to know that a flight that is scheduled to departure at 6:05PM and estimated to departure at 6:05PM is not (expected to be) delayed.

    I think you could call these kinds of errors "special case errors" or "edge case errors" in programming. Kind of similar to "division by 0", although this is more like "delay by 0".

  18. John Ohno said,

    May 13, 2013 @ 8:29 am

    This isn't a bug; it's a feature.

    Had you gotten the previous message first, you would be under the impression that the flight was at 6:40. The correction that the flight is at 6:05 would be necessary.

    Since you read them out of order, the function of the second mail was to remind you of the time (and it makes no difference what the originally scheduled time was, after all… if you're getting on the plane at a different time, either you can make it or you can't). Even if you had not received the earlier message at all, the new message indicates the current correct time *and* the previous correct time.

    The bug is that you aren't as forgetful as the automated mailing system fears you are, and you therefore confuse yourself with irrelevant information ;-)

    [(myl) No, you've completely missed the point, which is that the second message is semantically incoherent, whatever order it's read in. It falsely asserts that "The flight is delayed due to air traffic at the destination airport", when the true situation is that a previously expected delay due to air traffic was no longer expected, so that the flight would NOT be delayed, and would leave at the originally scheduled time.]

  19. KevinM said,

    May 13, 2013 @ 9:11 am

    Terminology: Could we call it a "Kaufman"?
    There was a novel in '60s called Up the Down Staircase, by Bel Kaufman. The subject was a young teacher's frustration with the idiocy of the educational bureaucracy (the title refers to a disciplinary infraction committed by one of her students). It's told in the form of a narrative, but with a lot of exhibits, such as memos from the principal. One of these, I recall, began "Disregard the following: …"

    (I imagine that the human writer, like the airline computer, had set out to write a memo, the rationale for which became obsolete.)

  20. Pete said,

    May 13, 2013 @ 9:25 am

    What usually happens is that the developers – the guys writing the code that generates the emails – do actually think of the scenario and one of them asks "What happens if the departure time change is cancelled after the emails have gone out?" But another usually says "In that case you can just issue another departure time change, changing it back to the original time. If we get time later we'll add another option to send out a more sophisticated email," which of course never happens.

    Sometimes in a later version of the software they do add the feature to send a "Disregard the previous email" email, but it happens so rarely that the operators don't remember to use it; they just stick to what they were originally trained to do.

  21. KevinM said,

    May 13, 2013 @ 9:41 am

    Don't know a lot about computer programming, but I did a little BASIC. When you get one of these seemingly nonsensical or superfluous results, isn't it often a result of the programmer's not-very-elegant avoidance of a crash or an endless loop?

  22. Boris said,

    May 13, 2013 @ 9:57 am

    Unless the requirements specify "this would never happen", it is definitely a bug. I also assume that the reason for the delay is a dropdown in which "traffic at the destination airport" is just one of a few options. What needs to be done in such cases is to include "other" along with a free-form text field. Then, the lack of template can be mitigated by giving a reason such as "now on time" or something like that.

  23. Joe said,

    May 13, 2013 @ 12:12 pm

    @myl: Is there a word for a silly or meaningless communication, generated in a specific class of circumstances by an algorithm that normally generates sensible messages?


    Just kidding. I'd say that the communication wasn't silly or meaningless (without it it, you'd've thought it was still delayed) it just didn't communicate the intended sense correctly. I think that this might fall under GKP's "nerdview" class of statements, though it might be a bit more specialized as it involves a nerd and some automation (eg, completion successful).

  24. Viseguy said,

    May 14, 2013 @ 8:17 pm

    [i]Skeuogram[/i]? By analogy to [i]skeuomorph[/i], a design feature that's retained for the sake of familiarity even though it's no longer needed (like an audible shutter click on a digital camera). Though, hmm, skeuomorphs are usually intentional, whereas this was a boo-boo, so the analogy isn't perfect.

  25. Viseguy said,

    May 14, 2013 @ 8:19 pm

    Meant skeuogram. Wrong tagging system, sorry.

  26. Jacques said,

    May 15, 2013 @ 3:52 am

    The two occurences of "6.05" in the message are of a different type:
    The last one is really a time (at which the plane will or will not fly); but the first is more of a part of the identification of the flight,
    The message that flight XXXX of 6.05 will depart on 6.05 may look silly or redundant, but it does contain real information!

RSS feed for comments on this post