Digital microwaves show an example of good UI doing what you wanted

July 28, 2020

Every so often, you encounter a bit of UI that does what you mean to do so transparently that you don't even notice that the UI is breaking its own 'how it works' rules to do so. You could say that this is the complete reverse of robot logic, as seen yesterday in trying to change your password on Linux. Recently I realized that I'd run into such a 'do what I mean even though it doesn't fit' UI in plain ordinary microwaves, of all places.

Your typical microwave has a 0-9 digital pad for entering the cooking time and its cook time is set in MM:SS. If you want one minute and twenty seconds, you punch in '1 2 0' and the microwave displays '1:20' and counts down from there. This is all perfectly logical and sensible, and forms a clear model of how the microwave behaves.

So what happens if you enter '9 0'? The microwave doesn't reject this as an error because you can't have 90 seconds in the seconds portion of a minutes and seconds time (you can have at most 59). Instead it breaks the model and gives you 90 seconds of cook time. This creates some inconsistencies, of course; if you enter '9 9' you get 99 seconds, but if you enter '1 0 0', you get 60 seconds (because now it's 1:00 cook time). On at least some microwaves this still works even if you enter more than two digits; '1 9 9' is 199 seconds, not an error (or one minute plus 99 seconds).

This behavior was so natural and so obviously correct and what I meant that I spent years not realizing there was anything unusual about it. Only one day as I was keying in '9 0' yet again and congratulating myself on pressing one less digit than '1 3 0' did I stop to ask myself why it even worked. And the answer is that the microwave makers went out of their way to figure out what this input should mean so that it should match user expectations, and make it so.

(I suspect or at least hope that there were user studies by some early microwave company on what people expected to happen when they keyed in various number sequences that weren't proper MM:SS setups.)

Written on 28 July 2020.
« Linux PAM leads to terrible error messages from things like passwd
Our ZFS spares handling system for ZFS on Linux »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Jul 28 00:02:02 2020
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.