Donald Norman on user interface design issues with smart houses

Let’s face it: us geeks do have a tendency to accept computer interfaces barely more user-friendly than, say, a shell. And that’s all right for me; it doesn’t really matter to me that Emacs maps C-w, M-w and C-y to cut, copy and paste instead of the more familiar C-x, C-c and C-v. But if we are to make the smart home a reality we’ll have to give its users something else than a screen and keyboard to interface it with.

There’s a great passage in Donald A. Norman’s classic The Design of Everyday Things that addresses just this point. It is so good that I’ll just let it speak for itself:

Even as this book is being completed, new sources of pleasure and frustration are entering our lives. Two developments are worthy of mention, both intended to serve the ever-promised “house of the future.” One most wonderful development is the “smart house,” the place where your every want is taken care of by intelligent, omniscient appliances. The other promised development is the house of knowledge. […] Both developments have great potential to transform lives in just the positive ways promised, but they are also apt to explode every fear and complexity discussed in this book into reality a thousand-times over.

Imagine all our electric appliances connected together via an intelligent “information bus.” This bus (the technical term for a set of wires that act as communication channels among devices) allows home lamps, ovens, and dishwashers to talk to one another. The central home computer senses the car pulling into the driveway, so it signals the front door to unlock, the hall lights to go on, and the oven to start preparing the meal. By the time you arrive in the house, your television set has already turned on to your favorite news station, your favorite appetizer is available in the kitchen, and the cooking of the meal has begun. Some of these systems “speak” to you (with voice-synthesizers inside their computer brains), most have sensors that detect room temperature, the outside weather, and the presence of people. All assume a master controlling device through which all the house occupants inform the system of their every want. Many allow for telephone control. Going to miss your favorite show on television? Call home and instruct your VCR to record it for you. Coming home an hour later than expected? Call your home oven and delay the starting time of the meal.

Can you imagine what it would take to control these devices? How would you tell your oven when to turn on? Would you do this through the buttons available at your friendly pay telephone? Or would you lug around a portable controlling unit? In either case, the complexity boggles the mind. Do the designers of these systems have some secret cure for the problems described in this book or have they perhaps already mastered the lessons within? Hardly. An article entitled “The `smartest house’ in America” in the technical magazine for design engineers, Design News, shows the normal set of of arbitrary control devices, overly complex panels, and conventional computer screens and keyboards. The modern cooktop (accompanied by the caption “for the ultimate chef”) has two gas burners, four electric burners, and a barbecue grill controlled through a row of eight identical-looking, evenly spaced knobs.

It is easy to imagine positive uses for intelligent home appliances. The energy-saving virtues of a home that turns on the heat only for rooms that are occupied, or waters the yard only when the ground is dry and rain does not threaten, seem virtuous indeed. Not the most critical of the problems facing mankind, perhaps, but reassuring nonetheless. But it is difficult to see how the complex instructions required for such a system will be conveyed. I find it difficult to instruct my children how to do these tasks appropriately and I often fail at them myself. Ho will I manage the precise, clear instructions required for my intelligent dishwasher, especially through the very limited control mechanisms I am sure to be provided with? I do not look forward to the day.

Amen to that.

Monitoring a home automation PC

Lesson learned today: always monitor a machine you intend to let run without interruptions for a long time. And that includes home automation hardware.

I have described elsewhere the steps to install Debian on an embedded PC. I’m still working on this project and intend to soon install the open-source Misterhouse software on it. But first I wanted to get a feel for how the machine’s resources (mainly disk and memory) evolve over time.

So I scouted for open-source monitoring software. There’s a great comparison on Wikipedia of different monitoring software (some proprietary), but my feeling was that it essentially boiled down to Cacti and Zabbix, both of which are variations on the PHP+MySQL+Agent theme. I knew Cacti from a previous project so I installed Zabbix on my Soekris box.

Good thing that I did. As you can see on the graph below, over a period of just 10 days the available disk space had shrunk by almost 2 Gb. Now this sort of thing happens almost always somewhere under /var, and indeed, it was caused by MySQL’s habit of logging every single data-altering statement in so-called bin files under /var/log/mysql.

Disk space evolution after two weeks

After commenting out the relevant lines in /etc/mysql/my.cnf the problem went away, but I had to restart the Zabbix server (without loss of data of course). And I’m sure the reader will notice the irony of MySQL being the cause of this decrease of disk space, when MySQL was installed together with Zabbix in order to monitor the system for such problems. Oh well.

ZigBee’s unkept promises

The Guardian carries an interesting story about yet another alternative to ZigBee: Ultra-low Power Bluetooth.

ZigBee has been touted since 2003 as a low-power, low-bandwidth wireless protocol ideally suited to home automation applications. But as the article makes clear, “we aren’t all drawing our curtains and turning on the lights with the touch of a button”. It is not clear why ZigBee hasn’t yet established itself in the market. A high barrier to entry might explain part of it. But according to the article, possibly the biggest obstacle to ZigBee adoption is its mesh topology, requiring all nodes to continuously listen to incoming data to pass on to the other nodes. Bluetooth, on the other hand, has a simpler star-shaped network but much more limited in range and number of devices.

From my earlier life working on a ZigBee-based home automation product I can testify how we often had power problems with our ZigBee devices. The alternative was to have them all dormant, periodically waking up and transmitting their (own) data. But then we are back to a star-shaped network, and we are unable to actively query a node for its current status.

There’s no easy way out of this dilemma. As the article has it, “you can’t do low power and mesh at the same time.”