Adomo uses a client-server approach.
by Rick Lehrbaum
Adomo (http://www.adomo.com) wants to fill your home with a network of low-cost, easy-to-use information appliances. Best of all, they'll each have Linux inside.
Adomo's plans are to transcend the boundaries of the PC revolution, making home information appliances as easy to use--and ubiquitous--as microwave ovens. To accomplish this, they chose to redefine the very nature of home information systems. They started out by asking, ``What do family members really want?''
A ``Back to the Future'' architecture.
That quest led to a product architecture that runs counter, in many ways, to the current PC paradigm. Contrary to the popular notion of intelligent interconnected appliances as the wave of the future, Adomo's architecture is a lot like the ``pre-PC'' multi-user computers and dumb terminals of 25 years ago--but with some important differences.
Adomo's solution creates a home network that consists of two types of devices: a highly intelligent central device (the ``server'') which provides computing, information storage and Internet access resources; and multiple wirelessly linked user-interface devices (``clients'') distributed throughout the home.
But there's an important twist: although the user-interface devices function like intelligent information appliances, they don't actually run any application software internally. They just pass data back and forth to the central server.
This approach can work--since today's high speed networks can provide near-instantaneous access to massive amounts of computing power and vast quantities of data. In other words, as Sun puts it, ``the computer is the network''. That being the case, the distinction between server and client becomes moot!
This way, the CPU within the appliance needn't be capable of running sophisticated programs. Its main purpose is managing input/output functions, which are mostly user-interface-related. Each appliance runs just one program: a reduced-footprint version of the X Window System. All the application programs run on the central server. Only display output (graphics, sound) and user input (keyboard, mouse, sound) travel back and forth between the server and the appliances.
By restricting their function to input/output only, Adomo's extremely ``thin'' information appliances become simplified to the point where they are mere interface terminals rather than computers (even though they do contain microprocessors). This has some interesting consequences.
One is that changes in context--between family members, or between OFF and ON--are nearly instantaneous. Since the appliance is just an interface to software running on the server, all appliances can be used interchangeably. Just sign on, and pick up where you left off. No need to wait around while the OS inside the user interface of a refrigerator or microwave logs out one user, and prepares itself for access by another.
Another big advantage of extremely thin appliances is that they're smaller and cost less. Also, they generate less heat, and run longer on a battery charge.
An interesting side effect is that because the appliances don't contain their own application software, there is hardly anything to go wrong from a software perspective. All they need to do is be able to load their operating software from the server, across the wireless LAN. That, plus their accompanying electronic simplicity, means the appliances are likely to be completely free from the headaches of maintenance and administration--or at least that's the plan.
Even system administration is simplified, since all software for operating the entire home system is concentrated on the server, a Linux system. That should make remote maintenance and support a snap.
Of course, for the Adomo client/server scheme to work, the server had better be powerful enough to handle the activities of all the client devices located throughout the home. Also, the wireless LAN needs to have sufficient bandwidth to carry all the associated data transfers. Adomo claims the performance of their server will support the simultaneous activities of up to eight ``typical'' family members.
Does that include teenagers playing the latest video games? Probably not. For that reason, Adomo also lets you use one or more normal PCs on the network. In that case, the Adomo server provides connectivity, application sharing, file storage and backup for all devices--both PC or non-PC.
The Adomo server is functionally similar to a high-end PC running Linux. But, as you can see from the photo (see Figure 1), it looks more like an appliance (possibly an air conditioner) than a PC.
Inside, there's a custom motherboard based on an AMD mobile K6 processor. Adomo's engineers took advantage of laptop-like components in designing the server, to reduce power consumption and heat dissipation. This lessens the need for noisy fans, and should boost system reliability.
The server is a multi-tasking, multi-user computer system that provides a variety of shared resources and managerial functions, including those of Internet gateway, firewall, e-mail, file storage and system backup. And don't forget: all application programs for all client devices run on the server, not on the devices.
Although the server isn't promoted as such, you can add a monitor and keyboard and use it as an additional desktop system. In that case, it will run all the same application programs available to the client devices.
The first information appliance Adomo will deliver is a sleek unit called the ``Wing'' (see Figure 2).
The Wing is a multi-function user-interface appliance that contains a 90MHz Motorola Coldfire system-on-chip processor and a VGA display controller, along with interfaces for infrared keyboard/mouse, PS/2 mouse, microphone and speakers. An internal PCMCIA socket provides the wireless LAN connection. The Wing has a small built-in speaker and microphone, and provides jacks for optional connection of external high-quality stereo speakers and microphone.
Since the Wing is simply a nice-looking but ``dumb'' terminal, it can be used for a variety of purposes. Hook it up to a monitor, keyboard and mouse, and it acts like a PC. Leave those off and connect it to high-quality stereo speakers, and it becomes a wireless music system that plays Internet radio, CDs and MP3s.
One of Adomo's strategies to make their products ``family-friendly'' is extensive use of voice for both commands and data. What could be more natural for family-oriented systems? Accordingly, family members will be able to leave each other voice messages as easily as e-mail messages, and in much the same way.
Despite recent progress, however, decent-quality voice recognition still requires desktop-level computing power. This limits the voice-recognition capabilities of low-cost information appliances. But in the Adomo client/server architecture, the devices need only send 10KBps voice data to the server. There, high-end CPU resources are available to process it. The result: low-power, inexpensive appliances benefit from high-end speech recognition technology.
Why did Adomo choose to use Linux? ``On the client side, scalability, modularity and availability of source, which allowed us to customize the OS to meet our exact requirements, were key reasons for using Linux,'' says Adomo CEO Samir Lehaff. ``On the server side, Linux offered us a highly stable multi-user OS, without the usual licensing and serialization headaches associated with trying to use Windows NT in an embedded product.''
The Adomo application required customizing a Linux server OS to make it suitable for the home environment and developing a set of hosted applications for home users. The server is based on a Red Hat Linux distribution, along with the Netscape Mozilla open-source browser. The applications are aimed at communications, web browsing, data manipulation and organization, backup and household task management. One such application is an MP3 music jukebox. The client devices run a diskless X-terminal version of uCLinux ported to a Motorola Coldfire microprocessor. This provides an economical and versatile platform for a wide range of future devices.
Adomo's embedded Linux-based development project benefited greatly from collaboration with the Open Source community. For example, Adomo had to grow uCLinux from its normal headless ``network box'' configuration into a full-fledged X-terminal implementation, while still maintaining a small memory footprint. For assistance with that challenge, Adomo turned to embedded Linux specialists at Moreton Bay (now a Lineo company).
Similarly, SuSE provided some important help in implementing a truly embeddable X server for the client devices. This took the form of Tiny-X, a reduced-footprint implementation of the X Window System that requires less than 800KB of memory.
Another challenge was running Linux on client devices that don't contain application program-load memory, beyond a small ROM used for system bootstrap. Instead, the client devices boot Linux remotely via wireless LAN. Help in overcoming this problem came from the Linux Terminal Server Project (LTSP) team.
Will Adomo allow third-party developers or even users to modify how the system operates? ``Absolutely!'' says Adomo CEO Lehaff. He says the company will post its embedded Linux technology, as GPL, on its web site. The company will also encourage third-party developers to create both software applications and additional client devices.
Adomo plans to launch its products in October 2000, with production ramp-up in time for the 2000 holiday season. Lehaff describes the target market as ``technology-friendly families who are faced with organizing and networking a growing number of Internet-connected devices in the home.'' In addition to the server and the Wing, Adomo plans to introduce two additional products early next year: AdomoPad, a battery-operated wireless touch-screen pad that integrates web browsing and telephone functions, will be used like a jumbo PDA; and AdomoTune, a device that will allow digital music received from the server or the Internet to be played over high-quality audio equipment.
Rick Lehrbaum (rick@linuxdevices.com) created the http://www.LinuxDevices.com/ ``embedded Linux portal'', which recently became part of the ZDNet Linux Resource Center. Rick has worked in the field of embedded systems since 1979. He co-founded Ampro Computers, founded the PC/104 Consortium, and was instrumental in launching the Embedded Linux Consortium.