Today I waded through a paper outlining the shortcomings of the Nest smart thermostat and its limited success at learning users’ preferences. I also read a long rant from a tech blogger who had tried and failed at basic home automation. The combined (albeit limited) picture I got from the two articles conjured a somewhat bleak status quo for machine learning and user-programming in smart homes. Which of course, is just what an eager young researcher wants to hear (I’ll also try reading some more upbeat literature tomorrow).
The study described in the paper lists a few major hurdles for machine learning. Namely, the lack of context regarding a user’s actions (for instance: you might not have turned on the kitchen light during your midnight snack run, but the next day while cooking you do; the computer has no way of understanding this reasoning) and conversely, the user’s limited access to the device’s decision making logic: you know the device is doing things wrong (because your house is freezing), but you don’t know why it is behaving in this manner (you never expressed a preference for the Arctic).
This leads to the logical (though perhaps obvious) observation that designing intelligent devices and automating homes requires a foray into HCI principles, and good design is essential to allow a dialogue between the user and the machine. Indeed one of the motivations for the summer research is to use end-user programming and machine learning in tandem to create an (almost) seamless user experience.
The paper hinted at some possible directions going forward. I personally liked the idea of exception flagging – some mechanism that allows the user to tell the device that the situation is exceptional and the data recorded should not be counted towards the pattern. Another suggestion made by the authors was for the device to display its decision logic in an intuitive manner so that the user can understand and correct misapprehensions –
Purportedly Smart Thermometer: ” The house is freezing because last Saturday you had it at this temperature.”
Irate and frigid owner: ” But that’s because we had gone to a friend’s house for the weekend.”
Purportedly Smart Thermometer: ” Oh. That was an unfortunate misunderstanding, I’ll flag last Saturday as an exception.”
While the ‘dialogue’ between the device and the user might never be as simple as the above conversation, providing even basic reasoning will demystify things for users but possibly even lead them to change some of their habits to suit the device (which is not exactly optimal, but in some cases small changes can be worth the convenience).
Aside from the paper we also spent some time with HomeOS and pairing a multisensor with it (collecting data is the prerequisite for any sort of machine learning). Tomorrow we’ll try getting the door sensor talking with HomeOS!