OK, not really a gigantic deal. More addressable memory was great. But there was a monkey wrench that we didn't catch until the evening we were to ship the new version (as in put it on an installers hard drive for installing on site). The POS software had to run a receipt printer, send text to a tower display, and pop a cash drawer for change. Each of these used to work by sending interrupts directly to the ports.
Interrupt... Ka-ching, cash drawer popped.
Interrupt + ASCII... {flash} and total displayed on LED
Interrupt + ASCII... receipt prints out
I dug through Win32 manuals to figure out the new system-wrapped way to do this. Win32 wrapped the port interrupts in an API, no more direct sends to the ports without a handshake to the OS. But I figured out the drawer and tower... no problems.
But receipt printing!
Interrupt + line of text + line feed... new line, text, new line, new line
What?!? Windows was opening the port, causing a line feed, sending the text with my line feed, then sending another line feed and closing the port. A fifteen item receipt that once took three inches of receipt paper, now took two feet. It was 6pm the night before install...
I wrestled with it into the wee hours, and managed to get Windows to leave the in between alone so that receipts printed properly. Except for the first time. The first time the software printed during an executable session, you got the clown-receipt. It was 2am... I couldn't figure out how to fix this last item.
So I coded in a welcome message. When the user logged in to the POS system for the first time, it would print out "Good morning {user}" or "Good afternoon {user}." This buried the problem of the extra lines, hiding it behind this small bit of odd behavior. All the rest of the receipts for the session would print properly.
It was 3am... I'm shipping it. Sent... Delivered.
Customers remarked "heh... that's new."
A few months went by and I finally got around to fixing that bug. So I removed that little greeting work-around. The complaints were immediate, consistent, and pronounced. "Why doesn't it say 'good morning' to me any more? I liked that! Put that back."
My boss got a good laugh at that. We put the feature back in with a setting, on by default.
Users can be delighted by small touches.