Most software assumes someone is nearby.
If something goes wrong, the page can be refreshed. A support technician can step in. The user can simply try again.
Public-facing systems don't have that luxury.
The best unattended systems aren't the ones that never fail. They're the ones designed to recover when they do.
Public Software Plays By Different Rules
A retail kiosk, self-checkout, ticketing terminal, or airport display may serve thousands of people before anyone from the business interacts with it.
Every visitor expects the same thing:
- Walk up
- Use it
- Walk away
The software has to deliver that experience continuously, every time, often without anyone noticing whether it's still running.
Recovery Is Part Of The Product
Every unattended system eventually encounters something unexpected.
A payment terminal loses its connection. A barcode scanner stops responding. Someone abandons a transaction halfway through checkout. A display wakes up to an application that crashed overnight.
These aren't edge cases. They're part of normal operation.
The engineering challenge isn't eliminating every failure. It's building software that can recognize a problem, recover safely, and be ready for the next visitor without requiring someone to intervene.
Shared Devices Need Short Memories
Unlike a phone or laptop, an unattended device is shared.
Every interaction should begin with a clean state.
Incomplete sessions need to expire. Personal information should disappear. The next visitor should never inherit the previous visitor's experience.
Good unattended software constantly resets itself without drawing attention to the fact that it has.
Reliability Is The Feature
Most users never notice resilient software.
They notice frozen screens.
Out-of-order terminals.
Error dialogs.
When an unattended system is engineered well, none of those become part of the experience. Visitors simply accomplish what they came to do and move on.
Software That Has To Survive Alone
Unattended software isn't defined by its interface.
It's defined by how well it handles everything users never see.
Recovery.
Resilience.
Consistency.
Because when nobody is standing beside the system, the software has to be ready for whatever happens next.
