The research and advisory firm Gartner has said that 25% of enterprises have developed a cohesive strategy for extending their applications to mobile workers. As these businesses (and hopefully yours) move to incorporate mobility, they often do so in the context of a few well-defined scenarios using a set of mobile devices with particular characteristics. In this section we'll briefly explore these scenarios and devices by unpacking the concept of accessing information anywhere, anytime, and on any device.
When you think of providing access to information anywhere, anytime, and on any device in the business world, you can divide that information into three primary categories: corporate computing infrastructure, line-of-business applications, and horizontal application areas. These areas cut across all the primary verticals, including financial services, retail, government, health care, and manufacturing.
For businesses that have embraced mobility, one of the crucial components is extending the corporate computing infrastructure to mobile devices. This is accomplished by giving access to corporate resources such as e-mail and scheduling, file servers for documents, and Intranets to mobile workers through the use of WAP-enabled phones and VPNs on laptops and PDAs. Various IT vendors have helped to support this extension by providing server products such as Microsoft's Mobile Information Server (MIS) in 2001 and enabling synchronization of Microsoft Outlook data to PDAs. As creating the infrastructure becomes more mainstream, these vendors will roll mobility services right into core products, as Microsoft is doing by rolling the functionality of MIS into a future release of Exchange Server, their core messaging product.
Every medium- to large-sized business has developed some custom line-of-business applications that support their core activities. These can include everything from on-site inspections to order entry to shop floor scheduling to a variety of data-entry systems. By extending these applications to mobile devices, businesses can benefit from more timely access to information, more accurate data, and streamlined processes.
There are also several horizontal application areas that businesses gravitate toward because they naturally have a large impact on customer interaction and revenue. These include the following:
Customer relationship management (CRM): Sales representatives, account executives, field service technicians, and customer support users all require timely and accurate access to customer information. A CRM system that is available via a mobile device can assist these users by providing customer contact information, history, buying trends, and product information that lead to increased revenue. Vendors such as Siebel Systems and Clarify provide packaged CRM systems.
Enterprise resource planning (ERP): Businesses that have implemented ERP packages from vendors such as SAP AG and J. D. Edwards and Company will often look to provide this information to mobile users. Having access to this information when away from the office can improve productivity and enable quicker responses.
As you look at the types of information that businesses aim to provide, the sweet spot for the Compact Framework, and therefore for this book, is line-of-business applications.
In many instances the corporate computing infrastructure will be serviced through IT vendors' server-based products, such as Microsoft MIS and Web-based solutions, while commercial CRM and ERP packages may include a wireless component. However, the custom business processes, data, and logic underlying most line-of-business applications are incorporated in software that must be adapted or rewritten to accommodate mobile devices. The Compact Framework is ideally suited to this job, as we'll discuss in Chapter 2.
The second component of mobility involves accessing information anywhere and anytime. Essentially, this formulation addresses the issue of connectivity with a network and if data is persisted on the device.
At the most basic level, a mobile device can be used in one of three modes: disconnected, connected, and occasionally connected, all of which are addressed by the Compact Framework and associated tools.
Disconnected: In this mode the device is not connected to a network, and applications must therefore rely on the resources and data already on the device. Examples of disconnected applications might include utilities and games, a note-taking application, and an application to keep score at a baseball game. Of course, the capabilities of the device govern whether applications can be run successfully in disconnected mode. For example, a PDA has local storage and an operating system that supports executing custom code, whereas wireless Web phones typically do not have that capacity. In Chapters 3 and 5 we'll discuss the options for working with locally persisted data.
Connected: In this mode the device is connected to a network, and the application requires the connection in order to function. In the case of a PDA, this can be accomplished in a variety of ways, for example, through a universal serial bus (USB) cable attached to a PC, a WLAN card using an 802.11 protocol, a General Packet Radio Service (GPRS) card, or even through integration with a phone, as we'll discuss shortly. For wireless Web phones, this means using WAP through a WAP gateway to access Web content in the form of Wireless Markup Language (WML). In either case, in this mode, applications, such as instant messaging, conferencing, real-time inventory, or stock trading, running on the device can retrieve and update information in real time using either proprietary protocols or industry standards, such as XML Web Services. The accelerating adoption of high-speed wireless technologies coupled with XML Web Services makes this mode the fastest growing of the three; Chapter 4 will explore the topic in greater detail.
Occasionally connected: This mode probably includes the majority of mobile applications being developed by businesses today. In this mode, the device is sometimes connected to the network but must work whether connected or not. The typical scenario is a home health care application where, before leaving the office, the user synchronizes a PDA with data, including the visit schedule and patient information for that day. While at the patient location, no reliable network connection exists, and so the application must store data locally until it can be uploaded to a central repository later in the day. These scenarios are often more complicated and will be discussed in Chapters 6 and 7.
The final aspect of mobility is accessing information on any device. Although there have been a wide range of mobile devices developed over the past few years, they generally fall into the categories shown in Figure 1-1.
Laptops and notebook computers were the original mobile devices, running Intel processors and running Windows software. These devices can access wireless networks, for example, by using 802.11 networking and wireless PC cards, and can access Global System for Mobile Communication (GSM) and GPRS networks using wireless modems. While these can be thought of as the original mobile devices, the enterprise purchases of notebook computers is projected to increase by 40% in North America, 100% in Europe, and 200% in Asia over the next three years.
 Meta Group, August 2002.
The latest twist is the Tablet PC, introduced in late 2002, a thin, keyboardless device that runs a superset of the Microsoft Windows XP operating system and includes voice and handwriting recognition, in addition to being 802.11 ready, making this device ideal for roaming business users in a campus setting.
With the explosion of the Internet in the mid-1990s, cellular phone manufacturers and service providers such as Sprint PCS, AT&T, Nextel, and Verizon began to look for ways to incorporate Web technologies into their products. Some of the protocols that were developed included Handheld Device Markup Language (HDML) from Unwired Planet, Tagged Text Markup Language (TTML) from Nokia, and Intelligent Terminal Transfer Protocol (ITTP) from Ericsson. However, the market began to coalesce around the WAP protocol with its WML standard, developed in mid-1997.
Although WAP and WML are more popular in the United States, protocols and standards other than WAP persist and enjoy wide support, including I-mode (popular in Japan), HDML, compact HTML (cHTML), and its superset Mobile Markup Language (MML).
So-called wireless Web phones are now available from all the major manufacturers and use wireless Web Services through the service providers mentioned previously. These devices have helped to fuel the rapid increase in the use of mobile data services, expected to grow by 50% per year through 2005.
 Giga Information Group, June 2002.
Wireless Web phones are typically used for accessing corporate infrastructure, such as e-mail, calendaring, expense reporting, and other Intranet functionalities. Their lack of local storage means they are used in a connected mode.
Personal Digital Assistants is a general term used for mobile devices that typically have some local storage capabilities and include calendaring, contacts, and task management. These devices differ from PCs because they typically use lower-power central processing unit (CPU) architectures (such as ARM, SH, XScale, and MIPS) and operating systems specially designed for mobile devices. Customized applications can be written for these devices and downloaded and executed. In addition, they ship with the capability to synchronize data with a PC and can typically be extended for wireless access through expansion cards. As a result, they can be used in connected, disconnected, or occasionally connected modes.
Although different people use different terminology, PDAs generally fall into two distinct types:
Palm: These devices are small in size (roughly 3" x 5" in portrait mode) and receive their input via a touch screen and stylus, using either handwriting recognition or specific strokes with the stylus. Examples include the 3COM's PalmPilot and the Pocket PC 2000 and 2002 devices, such as Compaq's iPAQ, and Casio's E-200. Palm devices typically have longer battery life than handheld devices.
Handheld: These devices are differentiated by a clamshell design (many approximately 3.5" x 7" in landscape mode) that includes a keyboard, in addition to a touch screen and larger displays, which make the largest of them only slightly smaller than a traditional notebook or laptop PC. Some of these devices include the NEC MobilePro 880 and Hewlett-Packard (HP) Jornada 820.
These devices have obviously been critical to the adoption of mobility, and their usage will continue to grow. Forrester Research estimated in 2001, for example, that PDA usage would increase by 267% in Global 3500 companies from mid-2001 to mid-2003.
More recently, the concepts of the PDA and mobile phones have converged in so-called smartphones, and PDA phones. Basically, these two types of devices incorporate the functions of both a PDA and a mobile phone, although the emphasis of each differs. In the case of the smartphone, the form factor of the device is essentially a wireless Web phone with a slightly larger display and the possible inclusion of a stylus. On a PDA phone, the form factor is that of a PDA with the inclusion of an antenna and the ability to make calls by tapping contacts or phone dialer software on the device.
In late 2002, Microsoft released its SmartPhone 2002 software development kit (SDK) with plans for OEMs to release first-generation smartphone devices by the end of 2002. The first device announced to support the platform was the Orange Sounds Pictures Video (SPV) from London-based Orange SA, providing service in the United Kingdom and Europe beginning in November 2002. AT&T Wireless also announced plans to release smartphone-based devices for use in the United States.
A recent example of the latter is the T-Mobile Pocket PC Phone Edition offered by T-Mobile and VoiceStream Wireless, which uses the T-Mobile GSM/GPRS high-speed wireless voice and data network. These Pocket PC Phone Edition devices ship in two configurations, using different frequencies for Europe and the United States.
Because they offer a network connection and local storage, both smartphones and PDA phones can be used in connected, disconnected, or occasionally connected modes.
Finally, there are also mobile devices that are manufactured for more specialized purposes. These devices can adopt either the standard Palm or handheld form factor and simply add features, such as a "ruggedized" case for surviving dropping and outdoor usage (e.g., the UltraPad 2700 from Ameranth), or depart from these for specialized purposes such as data collection and bar code scanning in devices like the Intermec 5020 Handheld.
In fact, these special-purpose devices can also be embedded within a larger device, an early example includes the Clarion AutoPC, which fits into the dashboard of a car and is controlled through voice recognition. In addition, many car companies are currently developing specialized embedded systems for their vehicles that are collectively referred to as telematics. For example, in March of 2002 it was announced that BMW used embedded Microsoft Windows CE technology in its BMW Series 7 line of cars in the Control Display component of what BMW calls iDrive.
There are also devices that may be embedded into, and are used to, control a variety of other mechanical devices and appliances from vending machines to toasters and that are generally referred to simply as embedded devices.
 Additional categories of devices that have not gained wide acceptance include Web companions, which are essentially Internet appliances for home use, and Web-enabled phones, which are wired phones with an attached Internet terminal.
At this time there is no single development platform or environment that targets this large range of devices. Fortunately, the Compact Framework allows you to write software for a fairly large and growing segment of these devices, including Palm devices like the Pocket PC 2000 and 2002 and PDA phones like the Pocket PC Phone Edition (with some caveats) and some embedded devices that run the new Windows CE .NET 4.1 operating system. It does not, however, support any of the handheld or smartphone devices, although look for support for smartphone devices in a future release.
In the following section we'll outline Microsoft's involvement in mobility and see how it ties into the Compact Framework.