So you've built a mobile application. Well, ask yourself this question. How good is your mobile application? You might think it's pretty good–it satisfies a business need and is pleasant and easy to use. But how good is it when the batteries of the laptop or handheld device go dead? The answer is, it's no good at all. Writing a good application is only one part of the equation–you also need to run it on the right hardware.
Managed execution environments, such as Java* or the Microsoft .NET Framework* and the .NET Compact Framework, enhance code portability. This allows developers to reuse code across server, desktop and mobile applications, and to build compelling rich-client applications running on mobile computers.
Yet, crucial ingredients in the acceptance of a mobile solution by users, and their perception of good usability, are not only how functional the application is, but also the performance and battery life of the device. These conflicting demands–a good, responsive application, and the need to run on battery–make heavy demands on mobile PCs and handheld devices. Fast, power-efficient hardware such as Intel® XScale™ technology and Intel® Centrino® mobile technology are essential in delivering a satisfying, rich user experience to mobile application users.
This paper examines the reasons why mobile computing solutions are becoming more accessible to enterprises and investigates the consequences of this development.
The replacement of desktop computers with mobile PCs and other mobile computing devices is one of the defining trends of enterprise computing today. The benefits include increased productivity and enhanced employee job satisfaction, as employees are equipped with mobile PCs, freeing them from their desks. Many corporations increasingly accept telecommuting, and wireless network connectivity gives mobile professionals the tools to do their job more effectively wherever they are.
In a study at the end of 2000, the research organization Forrester Technographics asked consumers what they perceived as the biggest problems and limitations with the use of portable computers. At the top of the list of complaints was battery life, with dial-up connections and remote access given as the second most common concerns. The vital ingredients for a successful mobile application are not only good application design, but also hardware that allow long battery life and seamless connectivity.
So What's a Developer to Do?Barriers to mobile solution adoption by enterprises have been the high cost of devices (which is now coming down), and the need to train development staff in the unique non-transferable skills used in developing applications for handheld devices. Development of mobile applications still requires some specialist design skills. For example, if your application requires network connectivity to XML Web services or databases on enterprise servers, you have to think how your application can operate if the mobile user experiences a dropped network connection.
The Microsoft .NET Framework and .NET Compact Framework offer major advantages to enterprises that want to use a mix of desktop P Cs, mobile PCs, and handheld devices in their enterprise solutions. Development costs may be lowered substantially since developers trained in the desktop .NET Framework can take those same skills and develop applications for Pocket PC* devices. One significant consequence of this move to mobility is the likely resurgence of thick, rich-client applications on laptops and handheld devices, instead of thin-client, browser-based applications. A browser requires a steady network connection, so rich-client applications have the significant advantage in that they can be designed to operate in a 'mostly disconnected' situation rather than being totally dependent on a network connection. This kind of application can cache data on the device, allowing it to offer some, if not all, of its functionality when a wireless network connection is unavailable. However, rich client applications mean that more processing moves from the server to the client, making increasing demands on the processor power and battery life of the mobile computer.
Microsoft's .NET Framework is a managed execution environment for servers, desktop, laptop and Tablet PCs. Visual Studio .NET* 2003, the new version of Microsoft's premier software development tools, includes a trimmed-down but compatible version of the runtime targeted at Pocket PC devices, called the .NET Compact Framework. The engine that drives the .NET Framework at runtime, the Common Language Runtime (CLR), is a busy thing. Platform portability is achieved because developers compile applications down to an intermediate bytecode (called Microsoft Intermediate Language, or MSIL) rather than to native code. The same compilers are used in Visual Studio .NET to compile MSIL intended for execution on an Intel Pentium® 4 processor-based PC as are used for applications that will run on a Pocket PC with an Intel XScale microarchitecture processor.
The runtime uses a JIT compiler to compile code to native code at execution time, for near-native performance. The CLR provides an abstract layer that hides the messy details of the underlying operating system. .NET developers build applications using the .NET class libraries, rather than working directly with the underlying Win32 APIs. This adds up to a simpler, more productive developer experience, resulting in better, more capable applications, but which also increases demands on the mobile hardware. So alongside these advances in application development techniques, it is essential to make the right choice in hardware on which to run the applications.
The Hardware AngleIntel has been investing heavily in producing new products that address the concerns of portable users on battery life and connectivity. The new Intel Pentium® M processor due for release in the first half of 2003, is Intel's first processor designed specifically for the mobile device market. With 77 million transistors, the Intel Pentium M processor uses 40% more transistors than the Intel Pentium 4 processor, but through Intel SpeedStep technology and mobile optimized power management, it manages to reduce power consumption, extending the battery life by approximately an hour. The redesign of the heat exchanger allows Pentium M processor-based notebooks to be lighter and thinner than Pentium 4 processor-based predecessors. Intel® Centrino® mobile technology will suppor t integrated Wi-Fi wireless communication and Wi-Fi chips, developed by Intel, will also be incorporated into a general wireless modem card for notebooks and PCs.
Similar benefits are brought to handhelds and PDAs by Intel XScale microarchitecture processors. This is designed with Intel's state-of-the-art 0.18-micron production semiconductor process technology. This process technology enables the microprocessor core to operate over a wide range of speed and power, producing industry leading mW/MIPS performance. The Intel XScale processor runs at speeds up to 400MHz, but can adjust to lower clock speeds to conserve power. For example, a network application processing data fetched from an XML Web service might require additional processing power to run well, and the Intel XScale processor would make the necessary adjustments. Reading a text document requires less processing ability, so the Intel XScale processor would fall back to a lower clock speed to save the battery.
ConclusionMicrosoft .NET Framework and .NET Compact Framework make developer skills more widely applicable and enables them to target more platforms. Easier application development will mean an increase in the number of sophisticated rich-client applications ideally suited to operating in a mobile environment. This in turn will increase the demands on mobile hardware, so the choice of the right hardware is essential. Intel has architected for mobility in its Intel® Centrino® mobile technology and Intel XScale microarchitecture, so devices using these technologies are an essential component of any mobile solution.
Microsoft .NET Framework*
Microsoft .NET Compact Framework*