Touchscreens are a very popular add-on to home automation systems. A lot of people have been tying ELO touchscreens to HP thin clients or other low powered Windows boxes. We haven't deployed any touchscreens other than the few ancient 3Com Audreys we have sprinkled around the house. Personally, I'm holding out for some low priced tablets, and luckily, I'm OS agnostic. I built our automation GUIs using AJAX, so any modern browser can use them. Our screens may not be as fancy as some of the flash or application based screens (although with some graphics help, they could be), but they run great on our Windows machines, Nokia tablets and Linux netbook. I have been eyeing the progress of the Crunchpad, and I'm hoping they can hit their price targets. If they do, I'll be shifting my efforts to building screens.
In the meantime, I continue to plug away on xPL-SageTV integration. I've got one way control going now, sending xPL messages to my plugin. I added a property in sage.properties that maps the SageTV client names (MAC address and SAGETV_PROCESS_LOCAL_UI) to a more friendly name for the xPL messages (FR, LR, MasterBedroom, etc.) For the xPL control, I contemplated using the media.basic schema, but there's some overlapping stuff that I'm too lazy to implement. Also, I can't implement all the SageTV specific functions in the media.basic schema, so I'm opting to use control.basic to control the plugin. I'm using the 'device' and 'current' fields from control.basic, where device will be the friendly SageTV client name and current will be any SageTV command (Home, Play, etc.).
So far, I haven't separated it from the Infopop code as it shares so much overlap setting up the xPL side. Plus, I'm not sure how to build my own independent plugin. I'll figure it out at some point.