The pervasive computing research community needs to manage complex interactions among numerous inter-connected computers and devices. The interface must support and be able to adapt to various interaction modalities, device capabilities, and local computing resources. The UI-remoting approach uses a remote user interface protocol that lets an application interact with its user interface proxy exported to a remote device. The protocol relays I/O events between an application and its user interface, which resides on a remote machine.