|
||||||||||||||||||||||
|
||||||||||||||||||||||
softwaremag.commentary By Dan Kara Pervasive Computing Era Get 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, the 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 CE 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. 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. 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 (below), 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 PC Companions Handheld Computers 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) Communication Devices Personal Communication 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 generalized 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 CE Development Environments EPOC Development Environments 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. |
||||||||||||||||||||||