Position Paper for the Inter-agency Workshop on Smart Environments. Position: Use Web Appliance Services for Smart Environments. John J. Barton Internet Information Infrastructure Department Hewlett Packard Labs Palo Alto CA Combine the ease of use of portable digital "appliances" with the enormous information content on the Web. Do you have a Smart Environment? No. At best you wait a long while to get some haphazard web pages on a small screen. Will things get better? Yes. If we can create web services that support digital appliances and an infrastructure to connect to them, we can transform the meaning of computing altogether. We believe that, despite a number of significant challenges, a "web-appliance" approach to building smart environments holds the greatest promise as well as being the most practical over next few years. Internet Services for Web Appliances Our work attacks the web-services or network-side challenges of a web-appliance environment. We approach the problem from three different directions: an infrastructure project called ACE, a project on content adaptation for appliances, and a project to support the creation of web content with digital appliances. The Appliance Computing Environment or ACE builds an infrastructure for representing appliances on the web and for supporting their interaction by representing their context. ACE supports nomadic access to context-specific information and services, including support for users without access to personal computers. This project focuses on "spaces", web-based contexts that represent physical spaces. These spaces appear as web-sites to users and they can be manipulated through web browsers, for example. However spaces must represent more than today's workstations and servers. A realistic context for digital appliances requires representing ad-hoc short-range wireless connectivity. For this reason we are building web access points or appliance web "portals", a combination of hardware and software that supports a web-server to hold the context for appliances in range of the wireless link. In addition to representing devices to the virtual world, we also need to represent users in spaces to provide user-specific context. This can be accomplished through a dynamic personal web page that supports digital communications, for example via H.323 standard audio and video conferencing. The ACE builds on the "Chai" (http://www.hp.com/emso) object and event models and we have some initial work in remote access security. The content-adaptation project develops web services for adapting generic web content to the demanding needs of mobile appliances. Part of the challenge is media adaptation. This begins with a means for discovering device capabilities, user preferences, and bandwidth limitations. Based on this context, media adaptation may include modal transformation (video to still image), transcoding (color to gray-scale), information abstraction (selective sampling), and data prioritization (text first). While media adaptation uses the device as context, location awareness adapts for the physical context of the appliance. Location awareness allows for information filtering based on location of the user and for information manipulation based upon the location of an appliance. For example, a location-aware bus can provide users on the bus with dynamic web portals tailored to the bus location. The same location information can be used to produce arrival time information for users waiting for the bus and fleet management services for the bus company. The third project supports data input from appliances. From handheld wireless browsers to proxy caches to high-speed servers and dynamic page-construction software, the output side of the world-wide web enjoys many sophisticated advances. On the input side progress stagnates at WYSIWYG PC editors. However new, powerful, and inexpensive digital cameras, digital phones, bar-code readers, and positioning sensors appear daily. Soon they will sport high-speed wireless networks allowing them to feed directly into the Net. In the network, speech-to-text, text-to-speech, character recognition, image-processing, data-base, and mapping applications await to help convert data into information. Content from multiple input devices will be transformed and combined in the network by multiple, independent applications combined through simple protocols. The underlying model is to "run the web backwards", adapting successful web models to the data input problem. Overall our projects support appliances with web services, starting with an infrastructure that gives services an "environment" or context to work against, adding content adaptation services to fit appliances into web environment, and ending with infrastructure that allows appliances themselves to construct more web context. Challenges of the Web-appliance Approach to Smart Environments Adopting a web-based approach to support appliances creates a long list of significant challenges. The appliances themselves often cannot be full Internet hosts; the support for wireless connectivity is weak and non-standard; once connected the devices have limited computing and display capability; connecting them via Internet protocols raises security and privacy issues as well as requiring sophisticated communications software support. Internet services remains mostly buzz-words with little demonstrated success, even for workstation class machines; there is no standard service location mechanism, no common service protocol, no model for how applications can be constructed in an open system of appliances and services. Finally even with connected, able devices and available, accessible services, we have no model for how users will understand the applications we build from these pieces. With all of the problems facing a web appliance system, should we base a practical smart environment on this model? Are there alternatives superior to the web-appliance model? For example, a custom infrastructure designed for a specific application could avoid many of the problems outlined above. Or a distributed-computing infrastructure would avoid many questions by leveraging our experience in workstation computing. The Advantages of the Web Appliance Model. From a research perspective, we think the web-appliance model has the greatest potential for practical widespread deployment and revolutionary impact on computing. This view comes from the trends in appliances, web services, and from fundamental issues in appliance systems. Economic forces of volume will insure that all the inexpensive devices will adopt some means for Internet attachment. This may not be direct Internet protocol support, but industrial convergence on packet based communications will overwhelm existing communications models, requiring all practical devices to be adaptable to that packet systems. The transport, storage, and analysis capabilities of Internet services already dwarf other network systems even if their reliability and robustness lags. Other services and the meta-services to support them are under rapid development to support Web commerce. This volume effect yields both reuse if the services are adapted for appliances and a huge advantage in development tools and infrastructure. Many of these advantages are specifically available if we adopt web standards (eg HTTP and XML) even if they are not an exact match to appliance computing needs. Both the appliance and services arguments say only that riding the "Web-wave" makes practical sense. But at the heart of our view that the web-appliance model is the best road to smart environments is a belief that data-centric communications is a better starting point for appliance systems than a computing focused model. Ad hoc collections of appliances and services cannot be built around a tightly coupled programming model. Even prescribed appliance/service combinations will require intense development energy if built around a multiple-machine computing model. However, a data-communications model, already so successful on the web, provides loose-coupling of appliances and of services. Passing self-contained data with simple, standardized meaning allow both prescribed and ad-hoc applications to be constructed. End users and programmers can understand data-passing, providing a starting point on the challenging problems of user-interface design. Thus we see an emerging smart environment in which Web people can exchange Web things through Web places. This is the enviroment we are working towards.