Information appliances are still predominantly software-based products whose primary purpose remains the capturing, manipulating, and accessing information. Another trend is embedding software-mediated capabilities within a variety of existing material products, products whose primary purpose may not be information-related but that benefit from enhanced information processing and control.
Example An increasing number of products include significant embedded software content, including audio or video equipment, kitchen appliances, home security systems, and automobiles. Software has become a standard means of controlling many mechanical devices. Increasingly these products are networked, allowing them to interoperate for common purposes, allowing remote access, and enabling downloadable software upgrades.
The logical extension of this is the embedding of information technology (IT) (including networked connectivity, processing, and storage) in many everyday objects, which is called pervasive computing (Ciarletta and Dima 2000; IBM Systems Journal 1999; Makulowich 1999; Weiser 1991). Pervasive computing includes information appliances but also an added capability and functionality in the material objects around us, including many opportunities that arise when these objects can communicate and coordinate. Our everyday environment becomes a configurable and flexible mesh of communicating and computing nodes (largely hidden from view) that take care of information-processing needs in the control and coordination of the material world.
In pervasive computing, much more so than in information appliances, composability that is flexible, opportunistic, and almost universal is an important goal because one of the major added values of software content is new ways of communicating among and controlling devices in the material world.
Example The ideal home security system should automatically close the drapes and turn out the lights when you watch a movie on your home theater, and the toaster should disable the smoke alarm while it is operating. The microwave oven should shut down while the cordless phone is in use to avoid interference. The stop sign and traffic lights at intersections should be eliminated, replaced by signals or automatic braking mechanisms within each automobile so that actions can be based entirely on the presence of conflicting traffic. The automobile horn (another car's initiating an alert) should be replaced by a signal in the car being alerted. (Of course, these ideas ignore the reality of pedestrians, bicycles, and so on.)
Further, taking advantage of IT to increase the complementarity of many products in the material world becomes a new and challenging goal for product marketing and design. This is also a severe technical challenge because of the diversity of products and vendors potentially affected, and because composability is carried to a larger dimensions than just the IT (see section 4.3.6).
Example Jini, which is based on Java (Sun Microsystems 1999b), and Universal Plug-and-Play (Microsoft 2000), are examples of technical approaches to interoperability in pervasive computing based on internet protocols. These protocols focus on achieving interoperability among information appliances and pervasive computers using similar technology to Web services (see section 7.3.7), offering discovery services for devices to opportunistically find one another, and interoperability standards based on dynamically loading device drivers (see figure 7.8) using mobile code (see section 4.5.5). They do not address specifically the challenges of complementarity, which must be addressed by context-dependent and industry-specific standardization efforts.
Many challenges of embedded software in pervasive computing are similar to IT equipment, the other major environment for embedded software. The primary differences are the much greater emphasis on composability and a less sophisticated operator and user (the general consumer), implying that all maintenance and upgrade processes must be automated and foolproof. Pervasive computing also presents interesting challenges to firms who find it difficult to develop a sophisticated software development capability because their primary expertise is elsewhere, and who may therefore be more disposed to outsourcing. On the other hand, as software functionality and content grows, these suppliers face the challenge of transitioning into software suppliers, with the distinctive business models this implies.
Example Bernina, a maker of high-featured sewing machines, now derives significant revenue from selling unbundled embroidery software for its machines, and offers a computer interface and various patches and maintenance releases of its software.