Practical State Models for a Tranquil Domestic Life

When I take a look around the house, I am amazed by all of the things we have designed to make our lives easier:

  • Remote controls to turn on the television.
  • Machines to wash and dry our clothes.
  • Voice-activated bots that will play music or adjust the room temperature.
  • Good plumbing.
  • Machines to wash the dishes.

The ambiguous state model of some of these devices, however, leave something to be desired, and introduce a ripple into the otherwise tranquil domestic life these wonders of technology have helped create. I’m thinking of dishwashers, of course.

It seems to me that I can never go to my parent’s house, or my in-law’s house, without hearing The Question asked almost daily:

“Is the dishwasher clean or dirty?”

We hear it at our house, too, when parents and in-laws visit. I don’t think this problem is unique to our family, either. I suspect it is a question that reverberates throughout many households ever single day.

The application developer in me sees this as a state model problem. A dishwasher can generally be in one of three states:

  1. Dirty: the dishes within have not yet been cleaned.
  2. Running: a kind of Schroedinger state that is both clean and dirty.
  3. Clean: the dishes within have been cleaned.

There are two problems we run into with this model.

First, there is no clear indication of the current state of the dishwasher. Ideally the entire front panel of the dishwasher would have a visual cue. I often image something like a big red “DIRTY” when the dishes within are dirty;an orange “RUNNING” when the dishwasher is scrubbing away at the dishes; and a green “CLEAN” when the dishes within are clean. It should be that simple.

It isn’t that simple because the state model depends entirely on the state of the machine and not the state of the dishes within. In reality, the state model for a dishwasher looks more like this:

  1. Not running: the dishwasher is not presently running.
  2. Running: the dishwasher is currently running.

Those two states tell you nothing about the state of the dishes within the dishwasher. So, for, instance, our dishwasher has a green light displayed when it has finished running. We take this to mean the dishes are clean. But what if I have not paid attention to it and accidentally loaded the dishwasher with dirty dishes. It now has a mixture of clean and dirty dishes, and is indicating that it has just run. That is not helpful.

With all of the smart technology we’ve seen come along in the last decade, I’d love to see some technology built into dishwashers that can detect whether the dishes within are actually clean. That would allow for a more useful state model. If such a dishwasher were also a “smart” dishwasher, it might also allow me to query it through Alexa. Instead of turning to Kelly and saying, “Is the dishwasher clean?” I could simply say, “Alexa, is the dishwasher clean?” and get an accurate answer.

There is a fourth state that I have not yet mentioned. After dirty, running, and cleaned, there is, of course, “emptied.” After asking Alexa if the dishwasher is clean and hearing its response, “Yes, the dishes were cleaned at 9:42 am,” I could reply with, “Alexa, please empty the dishwasher.”

Will Amazon and G.E. please get on that?