Why are gasoline pump electronic displays so slow?

Gas pumps that have a multi-line LCD or LED text display seem to be very slow at cycling between pages displayed. Why?

Example: I insert a credit card into the reader on the pump, then question 1 appears:

DO YOU WANT A RECEIPT (YES/NO)

After hitting the “No” button, the question disappears, but the next doesn’t appear for another second. (I haven’t timed it. But it feels close to a second, but I am impatient. I’ve just piqued my own curiosity. I’m going to use a stopwatch next time I’m buying gas.)

WOULD YOU LIKE A CAR WASH (YES/NO)

Yes. Question gone. Another 1 second pause.

WOULD YOU LIKE THE DELUXE SUPER SPECIAL WASH (YES/NO)

No. Another 1 second pause.

WOULD YOU LIKE THE DELUXE SUPER WASH (YES/NO)

No. 1 s.

WOULD YOU LIKE THE DELUXE WASH (YES/NO)

No. 1 s.

WOULD YOU LIKE THE STANDARD WASH (YES/NO)

Yes. 1 s.

PLEASE SELECT GRADE OF GASOLINE

There are limited choice paths, so it isn’t like the pump has to query a database across the internet to get the next question. The next question has to be stored in the electronics of the pump. Why does it take 100x longer to get to the next question than it would be if being asked by a Commodore 64?

Also, why do gasoline retailers put up with it? A transaction like the one above has measurable time added to the transaction, time that doesn’t seem to benefit the gas station or supplying oil company (especially where the pump isn’t selling anything other than gasoline).

Often the delay is put in there so that you don’t accidentally answer the next question. There is a bit of a delay between when the data is sent to the display and when it actually appears where your eyes can see it.

If there was no delay:

Microcontroller sends DO YOU WANT A RECEIPT (YES/NO) to the display.
After a few moments, the text displays on the display.
Customer presses no.
Microcontroller sends WOULD YOU LIKE A CAR WASH (YES/NO) to the display.
Customer still sees DO YOU WANT A RECEIPT (YES/NO) on the screen.
Customer changes his mind and presses YES thinking he has given a new answer to the first question.
Microcontroller now believes that customer wants a car wash and charges him for it.
WOULD YOU LIKE A CAR WASH (YES/NO) now shows up where the customer can see it. Customer does not realize that he has just told the pump he wants a car wash.

Often during the design phase of this sort of thing, the software is being written before the hardware even exists. The software guy can’t determine the delays for hardware that doesn’t exist yet, so he thinks “hmm, can’t be more than 1 second so I’ll put in a delay that long”. Once the hardware is put together, no one bothers to take the time to go back and adjust all of the delays, since everything works well enough.

The extra time the customer spends is almost meaningless to the station owner. If a customer takes longer at the pump, the next customer isn’t delayed. They just move on to the next pump. Only when all of the pumps are busy is the next customer delayed, and even then the customer just ends up queued in the line. It’s only when the line gets so big that the next customer decides not to enter the station that the owner loses money.

I have observed something similar on self-checkouts at the grocery store I use. This should be a system that they want to be as quick as possible so the lines remain short.

I ring up my groceries and I select that I want to pay now.

“Processing…” (2-3 seconds)

It gives me options of how I would like to pay (credit, debt, cash, etc). I select credit.

“Processing…” (2-3 seconds)

Now I have to move to the actual credit card swipe machine. I swipe my card and then I have to select the payment type AGAIN. I select credit.

“Processing…” (1-2 seconds)

On the card reader:“Is $xx.yy the correct amount?” I select yes.

“Processing…” (2-3 seconds)

It tells me to use the pen to sign a SEPERATE screen from the other two screens. But I have to wait another 3 seconds before it will take the input from the special pen. I click done.

“Processing…” (2-3 seconds)

Prints receipt.

I mean, this entire system of self-checkout screens were put in as a unit about one year ago. A year ago, computers were able to process BILLIONS of operations per second for about $300 a piece. How on Earth does it take this long to check out?

It is my perception that those displays get even colder when it is minus twenty out.

Er… slower when its colder out.

If I recall correctly, I once took classes at a school that had a telephone registration system. There were worksheets you could get to determine the proper button presses in advance, but the system didn’t like it if you just entered numbers at your own pace - it would sternly tell you “Information must be entered during the time allowed” (or something similar), and repeat the last question. In addition, after class registration, it would give you a lecture to the effect that “It is very important for us to have your current home telephone number. Please enter your current home telephone number, followed by the pound sign.” After you did this, it would read back the number and ask for confirmation. “You entered TWO TWO TWO FIVE FIVE FIVE ONE TWO THREE FOUR”. Is this correct? Press one for yes, two for no." I got put through this repeatedly even when there was no evidence that I had changed my number, and I didn’t know of a way to tell the computer to shut up and that my ph# hadn’t changed.

Don’t get me started on the class registration system “important announcements” that I would have to listen to in their entirety before every session. So, if I registered at 8 am, and decided at noontime to switch one class to a different section, I would have to listen to the whole spiel about registration and tuition deadlines again before the system would let me make a change.

This reminds me of the problems surrounding the Therac-25 machine. If ever there was a case of bad design and poor user interface, that was it.

I don’t mind the slow displays much, even if they are slightly annoying. At least they provide a reduced chance of a screwup involving your credit card.

Why do some machines ask me if my danged credit card is credit or debit? The machine knows damned well that it’s a credit card based on the BIN code. I know that retailers like to try to persuade people who have debit cards to perform debit transactions, but debit cards have different BIN codes. Just an extra step on a slow machine.

I suspect at least some of the delay comes from the pump communicating with the computer in the office, which probably does most of the work. I seldom buy gas at the place I get a carwash, but when I did there was a display with multiple buttons so you could choose the one you wanted in one screen. However your choice has to go to the central computer to be communicated to the carwash terminal, and the central computer generates the carwash code. It is probably busy sending credit card information for the other pumps at the same time, and is no doubt a bit old.

Actually at my gas station things move pretty rapidly, except between selecting your grade and having the pump ready. But there are only 4 pumps.

I’ll actually avoid stations that annoy me by playing 20 questions at the pump.

Did I pull up to the the carwash? No. I pulled up to the gas pump. I want some fucking gas. Now start pumping it you POS pump.

Actually, I guess it’s a POS POS pump.

The thing I don’t understand is why they can’t give you all the car wash options on one screen. It’s a multi-line display, but instead of

1 SUPREME WASH
2 PREMIUM WASH
3 CLASSIC WASH
4 BASIC WASH

they display them one at a time:

1 SUPREME WASH
5 MORE

Press 5

2 PREMIUM WASH
5 MORE

Press 5, etc.

However, I have learned that on the first screen, if I press 3 (even though it is not displayed as an option) I will get the Classic Wash. It’s kind of like the gas pump version of pressing 0 to go directly to a live agent in an IVR menu. Still, it bugs the crap out of me that they program the display this way.

I’d guess that the program is the same for all screens, no matter how large. I’ve seen screens that only have two lines that can display text, and the rest can only display numbers.

I think the reason so many human/computer interfaces are frustrating is that the developers do not actually use the products they make. If they did, they would see how badly they work, and fix it. But the programmer for the gas pump display is long gone, and probably not in the country where it is used, so he never sees how it works in practice.

This theory explains many things.

Reminds me of lag in consumer electronics, which seems to be getting especially bad lately. Example: the PLL-controlled audio receivers of the 1980s seemed actually faster than analog stereo tuners of today. Back the, turn a knob or press a button, and the station changed instantly. Today, there’s a one- to two-second lag.

Dunno about that particular device, but a common method of handling multi-functions with the fewest controls is to allow for a quick, double-press of the same button to mean something else, or a button held down for longer than a second to indicate something different than a quick press & release. So that 1-second delay might have been built in to provide those options.

Example: in my car stereo, if I press the forward button and release it immediately, it will jump to the next track, but if I hold the same button down for more than a second, it fast-forwards thru the same track while playing. I discovered this by accident, but it seems to be a common way of doing it.

I curse the designers who thought this was a good idea which saved a penny on the manufacturing cost per unit, but that’s what drives many of these interface designs.

Or, in PCs, if you single-click on a file name, it highlights the name. Double-click fast, and it executes the file. Double-click slow, the mode changes, and the file name can be edited to change the spelling. Maddening when you want to execute something but didn’t get the clicks in fast enough (yes, I know there is a setting for that, but there is no setting that knows what I intended, just what I did. Sometimes my finger gets stuck.).

I think it’s down to a really simple economic motive- having better displays doesn’t help the gas station sell more gas or more snacks, so they don’t care if the displays are kind of a pain in the ass or slow.

It might be a legal thing. Lawyers?

The machine almost certainly is not in a position to know this. It is possible to design the system such that it does, but it isn’t as easy as you make it out to be and I can see why gas stations typically don’t bother. In addition Visa / Mastercard branded debit cards will typically allow you to choose signature based or PIN based processing based on whether you select “Credit” or “Debit”, so there are more options than “Credit card only” and “Debit card only” cards out there.

A retailer that I know of that is very sensitive to how long it takes for a customer to perform a transaction does do this. However, it involves loading over 50,000 BINs to their store servers that need to be periodically updated. This information is used to determine if “Credit” or “Debit” processing should be automatically chosen. A gas station can do this too, but it isn’t free: they need it coded, they need devices that will support this and they need a process to keep these BIN lists up to date and distributed to where the pumps can access them. Some retailers will want to do this since their volumes and purchase types actually mean faster transaction times mean more customers. A gas station stop has so much other customer slowness built into it that it isn’t obvious to me that it would be worthwhile for them to implement this.

This would all be a lot easier if there were adhered to standards (for example cards beginning 50 through 53 are Debit only, 54 through 57 are Credit only, 58 through 59 are both, etc) but there aren’t. These BIN lists consist of many, many entries, most of which are the six or more digit BINs associated with a specific issuer.