Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Controls/MCUs

Browsers revamp for embedded apps

Posted: 01 Nov 2000 ?? ?Print Version ?Bookmark and Share

Keywords:pda? html? wap? tcp? web apps?

As the Internet virtual world increasingly becomes a part of everyday life, ubiquitous access to the wonders of the Internet is becoming a necessity. In this vision, one integral piece of the puzzle is a Web browser in your device. The browser is like the window to the Internet world; it is the access point at which the journey begins.

The ability to access Web-based content has become a requirement. Just as we utilize the Web from our desktop computers, we also need to access it from our PDAs, smart phones and pagers, TVs and automobiles.

The changing model of the Web is an even greater driving force to use browsers in embedded devices. Traditional content is evolving into services you can access and can also operate independently on your behalf?say, a travel service that automatically rebooks your itinerary because it knows about an air traffic controllers' strike.

The Internet is also changing the way we think about embedded devices. They, too, are changing to take advantage of service approach, where they can host services that take advantage of what they are. For example, a manufacturer might want to provide a browser on a refrigerator because the refrigerator hosts an inventory service that is tied to food freshness services from WebVan or your local grocery store.

This leads to the third reason for the use of browsers in embedded devices: providing a user interface for the device itself. HTML is a good language for describing a graphical user interface layout and interaction model. Why not contract out your devices' GUI to the multitude of Web-page designers out there rather than having your device engineers "program" a user interface in C, C++ or Java?

Building Web browsers for embedded devices poses a special set of challenges. The basic hardware resources of most embedded devices are limited, so memory and CPU demands often have to be kept to a minimum. In addition, Web browsers operate under real-time constraints, so applications must be configured to maximize the speed at which tasks can be completed.

Other important factors affecting the design of an embedded browser are the types of content and services that the browser will provide. Will the browser be dealing exclusively with text data, or will it also have to handle graphics input? In some cases, such as monitoring or control, a device may retrieve the same type of data from the same sources repeatedly; in other applications, the browser may have to understand multiple data types from different sources.

A final challenge lies in how to ensure that the browser is capable of being updated to take advantage of innovations that are coming out of the Web standards groups.

The core technology of the embedded browser should be adaptable to a wide variety of uses and device types, from limited-performance control systems to high-end Internet appliances. The best approach for achieving portability is by using a modular design. To attain maximum flexibility, the browser internals should be abstracted away from the graphics context, which allows the browser to be easily ported to different types of devices with different display and I/O capabilities.

The memory requirement of the core browser should be as low as possible so that it can function on low-end processors with limited memory resources. Modular components can then be used to add functionality and to customize the device for a particular model or application suite. If you need image decoders (JPEG, GIF, BMP, etc.), then you can add that module. If not, then you can reserve hardware resources by not including that piece of the browser. For example, a low-end device with a simple display may require only minimal elements of the basic browser.

Web browser design

We wrote ChaiFarer in C++ to make it easier to port to a variety of handheld and other embedded devices. In addition to requiring less footprint than a browser written in Java, the use of an object-oriented language such as C++ allowed the browser to be designed much more modularly than traditional ones. This modularity means that it can be implemented as a basic Web interface on a low-end device, such as a smart printer, or it can be scaled up to provide a more fully functional browser for devices such as PDAs, which must be able to download and execute Java applets.

Early applications of the browser include smart printers connected to the Web for maintenance as well as printing, smart phones, PDAs and set-top boxes. It is also being used to develop applications such as voice browsers for mobile devices and Internet appliances that allow students to take notes and keep track of schedules as well as connecting to the Internet.

Web-based access of content by appliances is a highly desired attribute. One inhibitor for devices that use wireless communication protocols is bandwidth for data transmission. Today, smart phones use either HTTP or TCP for communications or WAP. The WAP protocol does not employ HTTP but runs as a separate network layer on top of TCP and was created to cope with the long latencies and limited bandwidth of today's wireless networks. WAP was designed as a way to have browser-based Internet access from smart phones.

Although WAP solves some of the problems currently associated with mobile networks, Web pages accessed by a WAP browser either must be written in WML or converted to WML at the server, which may restrict the way a user can interact with the content.

A new scalable vector graphics (SVG) technique, written in XML, allows a device to decide how to render images in a way best suited to the device. The downside from an appliance perspective is that SVG conversions are CPU-intensive and potentially memory-intensive.

A variation on the adaptive client approach is to build intelligent Web appliances that are both producers and consumers of Web content and services. For example, in our Chai Appliance Platform, we developed ChaiServer, which, operating as a Web server, hosts Web-based services. If such a Web server is embedded in the device, then applets and services tailored for specific sites can be implemented and easily downloaded into the device. For example, a specific service for a stock page, running on such an embedded server, could clip images and tell the browser how to display and interact with the page.

? Chris Schoppa

Director of R&D

Chai Program

Hewlett-Packard Co.

Article Comments - Browsers revamp for embedded apps
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top