Pervasive Computing Era
Dan KaraGet ready to integrate intelligent devices into the enterprise
The long-awaited era of convergence, now called "pervasive computing," is fully upon us. Billboards, as well as print and electronic media, proclaim it so. You can now access and interact with information and services instantly from anywhere in the world. The "office" is as near as your smart phone. Whether this is a good thing for our collective soul, I will leave to the more philosophical among you to debate. But what is not arguable is that for the business community, the ability to access and share any type of information, anytime, anywhere, using intelligent devices such as handheld PCs (HPCs), personal digital assistants (PDAs), and smart phones, is extremely compelling. Think cost-effectiveness, increased productivity, better client service, and the ability to put the touch on perspective customers across geographical boundaries.
To support these devices, thc role of the corporate developer will have to change somewhat. It will become necessary to bridge the widely differing worlds of embedded systems and device development and classic corporate application development. This simply could not be accomplished previously. The two worlds differed radically and required two distinct, mutually exclusive competencies. This is no longer the case. The emergence and employment of certain standard platforms, specifically the Windows CE, Palm, and Symbian EPOC computing platforms, along with the Java 2 Micro Edition (J2ME) specification, now make it possible for some classes of corporate developers to build business applications where the end-user client is some type of handheld, intelligent device.
Standard Platforms
While the Windows CE, Palm, and Java platforms are well known, Symbian is much less so. Symbian is a vendor consortium consisting of communication heavyweights Nokia, Ericsson, Motorola, and Psion, that is working to make the EPOC32 operating system, developed by U.K.-based Psion PLC, the de facto standard for wireless information devices, such as smart phones and communicators. By 2002-2003, the consortium believes it will sell 50 million keyboard and phone products per year.
In the past, the employment of standard platforms was an anathema to the embedded development world, but times have changed and the implications for embedded and corporate developers are profound. For example, the high-volume consumer market is dominated by price, thus memory and CPU resources are minimized to maintain the pricing structure for high-volume markets. This typically meant writing software in assembly language, a practice largely beyond the grasp of corporate developers, to satisfy the tight memory constraints. Today, memory and CPU technologies are just now reaching the point where the minimum-cost hardware design sometimes has more capacity than is strictly required for the application. Thus, for certain classes of applications a CE, Palm, Symbian, or Java platform solution is now practical.
Standard platforms limit the targeted technical domain, but also increase the feasibility of employing platform solutions for building systems fronted by intelligent, handheld devices. For corporate IS, "pervasive computing" basically maps to handheld devices supporting data input, storage, and output, and some type of visual display, along with Internet and e-mail access, with personnel productivity applications (contact management and scheduling at a minimum) thrown in to boot. Thus, at one level a personal information manager is a handheld computer is a smart phone.
This is not to say that platform solutions are limited to devices supporting corporate computing. Windows GE was designed to support computing devices ranging from corporate handheld computers to TV set-top boxes to smart cards. Similarly, while the J2ME framework was specifically designed to meet the needs for corporate small devices with sophisticated displays, the specification contains profiles representing a variety of consumer device types. The profiles map to a set of APIs that support that device type, along with a specification for a Java Virtual Machine (JVM) supporting those APIs. In either case, however, both the CE and J2ME platforms are optimized for a limited number of device types.
Over time, the number of device types supported by CE, J2ME, Symbian, and Palm platforms will be expanded. The implication of this expansion extends beyond the simple number of supported device types. Standard platforms offer a level of abstraction that reduces the amount of low-level coding required to interoperate with hardware, operating systems, databases, middleware, and so on. With each release, the number of platform targets increases, while the difficulty of writing for the supported devices decreases. Also, the abstraction level that standard platforms provide lessens the constraints on software design, which in the embedded development realm was formerly dictated completely by the hardware design. The employment of standard platforms also increases the interoperability between disparate device types that share little in common except the standard software platform upon which they are built.
At this time, the choice of standard platform limits, and often dictates, the choice of device and vice versa. Also, specific standard platforms vary in their support for different classes of converged functionality. As described in the figure (p. 19), there is a computation-communication continuum on which all of the various pervasive computing devices can be placed, with cellular phones and subnotebook computers found at the communication and computation extremes, respectively. (For this exercise, nonportable screen/Web phones, pagers, and traditional laptops have been excluded). If this continuum is plotted against time on the x-axis, it can be seen that there has been, and will continue to be, a convergence in functionality. Currently, however, developers must map development tools to standard platforms, as well as to device types.
* Ultralights and Subnotebooks
Programmatically, this class of device, exemplified by products such as Sharp Actiusa and Sony's VAIO, is virtually equal to Windows desktops and laptops. They are used primarily to run personal productivity, scheduling, and contact management applications (Office), along with e-mail and Internet access. These products run full-blown Windows as the operating system and therefore traditional corporate development tools are perfectly applicable for developing for them. While some products in this class do employ touchscreens, most use a traditional mouse and keyboard approach to user interaction.
* PC Companions
Weighing in at 1 to 3 pounds and ranging in price from $600 to $1,000 (and dropping all the time) are PC companions. These products are typically used as adjuncts to desktop systems and even traditional laptops, and are used for travel and portability only. PC Companions subsume much of the functionality of the first generation of HPCs and in some sense will serve as the ergonomic basis for Internet appliances. The HP Jordana 850 and IBM WorkPad z50 typify products in this category. These products almost exclusively run on Windows CE Professional Edition (supporting the Jupiter form factor), and Pocket Office Professional suite of personal productivity applications. Developers, therefore, are limited to CE development environments.
* Handheld Computers
Moving up the computation/communication continuum is the HPC, exemplified by products such as the HP Jornada 680 and Sharp Mobilon HG4600. HPCs typically cost less than $1,000 and run Windows CE. They are primarily used for scheduling and contact management, as well as e-mail and Internet access, Personal productivity applications are limited to Pocket Office/Outlook or the equivalent. Handheld computers support both pen and keyboard input.
This particular niche has been placed under competitive pressure from both the more functional PC Companions and the more functionally appropriate PDAs (see below). It is easy to see the reason for the flat sales. For a bit more money and a little more weight, you could own a much more functional and usable PC Companion. In fact, HPCs acted as the conceptual/functional basis for PC Companions. Similarly, for those interested only in scheduling and contact management, PDAs provide a more economical solution.
* Personal Digital Assistants (PDAs)
PDAs, represented by products such as Palm Computing's Palm VII, Philips' Nino, and the HP Jornada, are perhaps the most widely employed intelligent devices. Originally these devices were exclusively used for scheduling and contact management, but lately e-mail and Web access functionality have become available via third-party add-ons. These products mostly run under Win CE and Palm OS and employ a pen interface.
* Communication Devices
The first of this class of devices, feature phones (i.e., the Qualcomm pdQ), combine traditional cell phone with contact management functionality. With additional scheduling functionality, feature phones could subsume some of the FDA market. Closely related feature phones are the smart phones such as the Noltia 9000i1 Communicator. In addition to wireless communication, smart phones provide scheduling, contact management, e-mail, and Internet access using pen input, keyboards (sometimes), and microbrowsers. Traditional cell phone and smart phone/feature phone markets are not mutually exclusive. I expect that smart phones/feature phones will begin to outsell traditional cell phones going forward, and that feature phones will vastly outsell smart phones in the near term (24 months). Also, EPOC32 will be the dominant OS in the future for these devices.
* Personal Communication
Family phone is the name applied to consumer devices that provide localized wireless communication (approximately two miles, maximum). Example family phone products include the Motorola TalkAbout Radio 250 and AudioVox Twin Pack, The devices provide the basis for the next generation of Star Trek-like, miniaturized, personal communicators, which will provide a natural language recognition (NRL) interface and local wireless communication, including device-to-device communication. While these devices are an interesting category, they will find little applicability in the corporate arena.
Development Options
Currently, most corporate development targeting intelligent, handheld devices centers on extensions to embedded organizer functionality (calendaring, contact management, etc.). The forms-based toolsets do support a type of generalizcd business application (data in/data out), but applications built with these toolsets rarely support real-time transactions and complex business logic, and have little interaction with middleware services (ORBs, MOM, transaction managers, app servers). More typically, users enter information into forms and this data is stored temporarily (disk or RAM), until it synchronizes and updates (usually a serial connection) the desktop or server that "owns" the data.
Mainstream corporate integrated development environments (IDEs) are rapidly adding functionality to support handhelds, but currently developer options are limited to 3GL IDEs and a handful of simple, forms-based toolsets.
* Palm Development Environments
As you would expect, development support for the Palm platform is strong. Palm itself offers the Palm OS Emulator for the Mac and Windows platforms, as well as the Palm OS SDK, including headers files, documentation, libraries, and samples (a separate build environment is required, however). The leading 3GL developments for Palm are Metrowerks' (Motorola) CodeWarrior and Feras Information Technology's CASL, both project-based IDEs. Rounding out the 3GL tools are Java classes and JYMs (Waba, Waba Software) and RTAccess (Winward Group), which supports the linking and synchronization of Palm apps and databases. Forms-based toolsets, which are perhaps more suitable for general corporate development, are provided by Puma Technologies and Pendragon Software (Satellite Forms and Pendragon Forms, respectively).
* CE Development Environments
CE development tools abound, supporting all types of CE development, including platform development (building customized CE configurations for specific hardware), driver development, and most importantly for corporate sites, application development. The leading IDE for CE is Microsoft's own Visual Basic and Visual C++, although other forms-based tools such as Syware's Visual CE are also available. Microsoft also provides a Windows CE SDK that supports multiple platform types (HPCs, PC Companions, etc.), as well as emulators and libraries.
* EPOC Development Environments
At this time there are no EPOC development tools that work at a high level of abstraction (forms-based). Both C++ and Java SDKs, libraries, and emulators are available, but they require a separate IDE such as Microsoft's Visual C++.
In general, Windows CE is a good generalized platform that supports multiple chip sets. Although it is firmly entrenched in the computational end of the computation-communication continuum, it is positioned for multiple device types (set-top boxes, etc.). Support for CE is strong, but most experts believe that the current version of the OS is too large and slow for communication devices. The Palm OS is the marketshare leader among PDAs and offers solid development tool support. The OS is limited to the Motorola DragonBall processor and will be squeezed by CE and Symbian as Palm expands the OS up and down the communication-computation continuum through OS enhancements and partnering. The Symbian EPOC OS should dominate as an OS for next-generation communication devices such as smart phones and feature phones, and will move down the communication-computation continuum (Psion, Sharp, Phillips). Currently, however, the OS is largely limited to ARM processors, and development tool support is thin.
Get Ready
The next generation of clients will have more in common with Nintendo's Gameboy portable game player than with your standard desktop PC. In time, PDAs, micro-PDAs, HPCs, feature phones, smart phones, PC Companions, to say nothing of the number of proprietary and dedicated vertical market devices, will vastly outnumber classic PC client front ends.
Don't think for an instant that your organization will not be affected by this trend. The market itself is huge and growing rapidly. For example, a recent report by market researcher Dataquest, San Jose, Calif., estimates that approximately six million handheld computers will ship in '99, a 47% increase over 1998. More importantly, the business case for the employment of handheld computers. and other intelligent devices, in terms of increased productivity, extended reach, and better customer service, is extremely compelling. Besides, many of the employees in your respective companies are already using these devices. With end-user expectations raised in lockstep with increased familiarity with these devices, along with increased functionality with each successive generation of products, the call to integrate these devices into the enterprise at large will be deafening.
Dan Kara is the CTO of the Intermedia Group, a research and analyst firm based in Westborough, Mass. He is the coeditor of Kara/Rymer Enterprise Java Perspectives, a newsletter focused on the role of the Java platform within the enterprise. E-mail him at dkara@intmedgrp.com.
COPYRIGHT 2000 King Content Co. / Software Magazine
COPYRIGHT 2008 Gale, Cengage Learning