Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

But how? Doesn't the ATM eat it up if you don't take it in 30s or so?


Some do (that happened to mine when I forgot it once, bank called me). Others do not. The best ones require that you take your card before they do the thing you wanted it to do (as a measure to ensure you don't forget your card).


This drove me mad when moving to Canada. In Germany all the ATMs require you to take the card to get the cash, in Canada it was the opposite. I lost my card twice that way. Design is so important.


It’s like this in the US as well, and I didn’t know the possible difference in order of operations before you brought it up. I would think stuff like this would be written down in a best practice / licensing document somewhere in order to even sell ATMs.

Edited: Added “up” after “brought it”.


Sadly no, there's very often tricks to correctly designing routine things in life that not everybody responsible has thought about and this can have dire consequences. Every "push" door with prominent "pull" handles is a miniature example.

Modern railway trains use electronically controlled doors. Rather than needing a team of people to run along checking every door on the train is closed and locked, or just hoping nobody falls out of a moving train, the doors are powered and when instructed will close and lock. The doors can't close instantly of course and so the procedure will be that the guard or driver presses a button, there's a brief warning period and then doors try to close and lock, once all doors are successfully closed and locked you're clear to drive the train away.

In the UK it turns out that there were two ways to implement this functionality, some train manufacturers used one, some the other. One way goes like this, when the button is pressed:

1. "Door Open" buttons for passengers are disabled 2. All open doors sound an alarm (typically fast bleeping) 3. Wait a few seconds 4. All doors that are still open try to close

The other way goes like this:

1. All open doors sound an alarm 2. Wait a few seconds 3. "Door Open" disabled 4. Try to close any open doors

This second order feels pretty similar, it's likely only a few geeks even noticed it was different and nobody made a big fuss about it. Until there was an accident and then the accident investigators discovered it.

A passenger realised very late that they were at their destination, unknown to them when they pressed "Door Open" in fact the train's crew had just told the system to close all doors for departure and it was in that waiting period. On their train, the "Open" buttons were not disabled during that period. Now the passenger's door was open, but it had missed that "alarm" phase, so there was no warning anything was amiss. The passenger tried to step through the door, but at that moment the timer expired and the door closed on them, trapping IIRC an article of clothing and resulting in a dragging accident when the train departed.

All affected trains needed revised firmware to enforce the correct order of events now that it was apparent to everybody that there even _was_ a correct order of events.


This is why I recommend all software engineers to read The Design of Everyday things. These basic design principles are helpful in designing UIs, APIs and architecture.


The thing with doors for me is that I feel “trapped” when I have a door with no place for my hands besides a panel that lies flat (does not extend outward) from the door. The first time I saw one I was very confused: it seemed to me that I was against a wall that was painted as a door, but had no handles. It was surprising to me that specific example it was brought up as an example of good user interface design in my university UI class.

Your account of the train incident is heart-breaking, but further solidifies my desire to have mandatory best practices that are evidence-based and have sufficient consensus for user interfaces that have harmful failure modes. On top of these best practices, there also needs to be a ramp plan from the any status quo interface that is nonconformant to the final version through as many intermediate designs as necessary to deal with ingrained user behaviour and ingrained user expectations.


Depends on the company, they're mostly developed independently. I know that RBC ATMs require you to take back your card before dispensing cash.


I can't remember which places do it which way, but I have walked off with my card and without the cash I withdrew when I used an ATM that gave the card back first (I was used to the other way round).


The ATM can (don't all?) take the money back if not picked up in 30s, and cancel the transaction.


I live in Germany, where ATMs always require you to take out the card before giving you money. The reason I've heard for this is to avoid a particular scam that goes like this:

1. Eve spies on Alice as she enters her PIN into the ATM.

2. As Alice takes her money, Eve taps her on the shoulder and gives her a 10$ bill, explaining that it fell down to the floor when Alice didn't notice.

3. Mallory uses the distraction to swipe Alice's card from the ATM without her noticing. Now Mallory and Eve have both the card and the PIN and can empty the account.


The UK does this and I always figured it was to prevent you from forgetting your card and leaving it in the ATM.


Yes, ATMs nowadays wait for you to remove the card (start beeping if you don't) and won't produce the cash unless you've done so. But there could be ATMs on less-prone banks or just by other companies that just "sell cash" (and charge a fee) that are not so caring.


This was a while ago, and Things have changed since I've had my ATM eaten. Now, they do not dispense cash until the card has been removed.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: