Every device in my home with a user interface has a, well..., different user interface. Some are better than others. I can easily program my TiVo DVR, but programming my VCR is still highly unreliable. Why? Well TiVo is better integrated into the published listings and it just has a better and simple interface. Why can't my TiVo pick recordings for my VCR? Heck, why can't my TiVo set my sprinklers for me?
A couple of years ago I purchased an X-10 based home control bundle. X-10 modules are simple devices that allow control over lights and other electric items in the home. I purchased a bundle that came with computer software for scheduling control. Initially I wanted to control my Christmas lights. I thought it would be nice to have the lights scheduled to come on at dusk and go off at midnight. Well... Three years later, I have six accent lamps in my home on two different zones plus the outdoor Christmas light circuit all on X-10. But I can't even tell you where I put the computer software. That interface was well, just too inconvenient. I use a tiny wireless remote with two buttons; two zones, on-off; that's it. No timers, nothing fancy; it's just easier that way.
A well written research thesis from the University of Maryland, Protocol and Interface for Device Control in the Home Environment
, points out that our inability to learn each device and more recently our inability to coordinate multiple devices is a direct consequence of device centric user interface design where every device has a unique interface. These interfaces tend to be excellent when they get it right (e.g. TiVo) and horrible when they do not (e.g. my sprinkler timer). There is very little in between.
This quote from the paper illustrates the point.
devices feature their own unique interface that forces users to relearn the same tasks anew for every device. Devices also lack the ability to be coordinated; the only interface most devices offer is a set of buttons and a remote control. This egocentricity inherently limits a userâ€™s ability to orchestrate and manipulate their devices; the device presumes it knows every way it would want to be used.
Ok, so I need to schedule my X-10 lights, DVR, VCR, sprinklers, and while we are at it my HVAC. Scheduling is somewhat the same, pick a time to start, pick a time to stop... Ok, recording live broadcasts requires access to schedule information, but a device that gets that right (i.e. TiVo) could surely get the others right. Right? Well, no; as it turns out none of those devices are capable of talking to each other. Why? Because each manufacturer is only interested in their own user interface.
Let me stop for a second and dispel what I believe is a myth. Some might say the reason all of these devices can not talk to each other is cost. After all it is more expensive to imbed radio links or install wired interfaces. Well, when I see people shelling out $1500+ for a TV, yes a flat panel, I can't help but think that there are plenty of folks out there that have the cash. They just don't want home automation; at least not the kind that we've all been building for them.
Separate the device interface from the device and use common interfaces for all similar items in the home.
If TiVo is great at building user interfaces then they could become THE user interface for the home. But clearly TiVo can not build all devices for the home so they need some way to communicate with all the devices in the home. This requires an open communication bus that is independent of the physical layer it runs on (e.g. Ethernet, wireless, power line carrier, etc.) but that supports auto detection and auto configuration.
In this model, I envision two industries; those that compete for the user interface and those that compete for the devices.
What protocol you ask? I believe something simpler than UPnP
maybe like xPL