LinuxMCE provides a whole-house media solution by combining some of the most popular media software on Linux with the user friendly Kubuntu Linux distribution. These programs are networked into a coherent whole using the DCE IPC protocol. This allows for the smarts that dim the lights when you watch a movie and later pause the movie when someone important calls to be scripted by simply listening for, and sending, the appropriate events in an application neutral manner. And the DCE protocol is routed throughout the house, allowing an application to follow you from room to room with minimal modifications to the underlying programs. The 10' (3 meter) User Interface is just another application on the DCE bus which knows what is going on in the system by listening for and sending events. It uses the Xorg Composite extension to render itself on top og the underlying applications. It can, of course, be used with a simple IR remote or keyboard, but really shines when used with a gyroscopic pointing remote. Through this 10' UI you can access the media applications, home automation and security applications, as well as applications that do not have a DCE event translator. Unlike most IPC protocol implementations on Linux, many applications in the stack do not speak the protocol natively. For instance, MythTV uses a DCE event translator which communicates with it using the MythTV Network Control Protocol. The translator listens for DCE events and translates them into MythTV Network Control Protocol commands. Similarly it can sends event on MythTV state transitions to inform other applications listening on the DCE bus what MythTV is currently doing. Applications without any adaptor, such as the Firefox web browser can be used as well, but then the 10' UI can only start and stop the application, it can not change, or know about, the internal state of the application itself. Finally, while a work in progress, we are also trying to make configuring all the programs we employ as simple as possible. This includes auto-detection and configuration of hardware, as well as creating GUI's for configuration steps that are traditionally handled on the command line. For example, defining IR codes or defining simple serial port communications protocols (with TV's, amplifiers, etc.) can be done via a built in web interface; these are saved in your local database and must be committed to a central server in order to share the resulting configuration, but we are working on a better solution for the sharing component. As for hardware detection and configuration, we can detect devices which communicate via PCI, USB, or Ethernet, but at the moment only have configuration scripts for a limited selection of hardware.