This paper reports our ongoing project to build system softwarefor audio and visual networked home appliances. In our system, we have implemented two middleware components for making it easy to build future networked home appliances. The first component is distributed home computing middleware that provides high level abstraction to control respective home appliances. The second component is a user interface middleware that enables us to control home appliances from a variety of interaction devices. Most of our system have been implemented in Java, but several timing critical programs have been implemented in the C language, which runs on Linux. The combination of Linux and Java will be ubiquitous in future embedded systems. They enable us to port home computing programs developed on PC to target systems without modifying them, and Java’s language supports enable us to build complex middleware very easily. Also, our user interface middleware enables us to adopt traditional user interface toolkits to develop home computing applications, but it allows us to use a variety of interaction devices to navigate graphical user interface provided by the applications.