Click to Rate and Give Feedback
TechNet
TechNet Library
Developing Line of Business Applications on Windows Mobile 5.0

Technical Case Study

Published: March 13, 2006

By using existing skills for developing Microsoft Windows®-based desktop applications, a Microsoft Information Technology (Microsoft IT) employee created a Windows Mobile®-based device application that decreases response times to customers' critical situations (CritSits) and makes these CritSits easier to manage at all levels of the Microsoft organization.

Download

Download Technical Case Study, 666 KB, Microsoft Word file

Download PowerPoint Presentation, 1.16 MB, Microsoft PowerPoint file

Download Content Summary, 232 KB, Microsoft Word file

PowerPoint Video, 2:14

Situation

Solution

Benefits

Products & Technologies

Microsoft technical account managers (TAMs) must respond very quickly when customers report critical situations (CritSits). The first step in responding is for a TAM to take ownership of a CritSit by logging on to the CritSit Web portal and accepting the CritSit. When the TAM is not near a computer connected to the internet, response time is delayed.

A single developer created a Windows Mobile-based application that makes an SSL-encrypted connection to the existing CritSit portal and calls existing high-security Web services to bring all the relevant data from the portal to the Windows Mobile-based device. The application enables all personnel who are responsible for managing CritSits, from TAMs to executives, to access this very important and real-time data on their Windows Mobile-based devices. The application thereby provides an efficient and consistent customer support experience.

  • Critical business information and applications are now available on the same devices that employees use to make phone calls and receive e-mail.
  • Existing code is easily used for the Windows Mobile platform, making development faster and less costly.
  • Windows Mobile 5.0 and Visual Studio 2005 make building, testing, and deploying applications easy through the use of emulators, .NET Compact Framework enhancements, and new features within the Visual Studio 2005 IDE.
  • Developers can easily translate their desktop talents into application development for mobile devices.
  • Microsoft Windows Mobile 5.0
  • Microsoft Visual Studio 2003
  • Microsoft Visual Studio 2005
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Compact Framework 2.0

The use of mobile devices that can access the Internet has grown exponentially in the last three years. Access to enterprise business data and e-mail is now provided on a variety of platforms and through countless devices. Developers have an excellent opportunity to create applications that can run on devices like a Pocket PC or a Smartphone as the demand for wireless data connectivity for mobile professionals continues to grow.

However, some developers may be daunted by the prospect of having to adapt to a new programming environment and new libraries, in addition to mastering a new set of skills and tools to create applications for wireless handheld devices. In their minds, the new form factor requires a significant change in development competencies. Microsoft IT has demonstrated that the threshold between the development of desktop applications and the development of applications for mobile devices is not the obstacle that many imagine it to be.

By using the same development tools and using existing Windows development skills, Microsoft IT created a mobile version of its Web-based CritSit application, which is used to manage critical customer situations that involve Microsoft products and technologies.

Situation

Microsoft IT created the CritSit portal so that Microsoft can provide consistent, predictable handling of emergency and catastrophic customer support issues where Microsoft products and technologies are involved and help resolve the critical issues as quickly as possible. Microsoft defined a process for handling CritSits and escalating cases in a structured, timely manner. Microsoft IT developed a Web-based tool to drive the CritSit process and coordinate escalation and communication of critical issues for several Microsoft departments, such as technical support, sales, services, and the product groups.

CritSit Process

When a customer encounters a problem related to a Microsoft product or technology, he or she opens an incident with the Microsoft Global Technical Support Center (GTSC). In a scenario where the impact is severe, Microsoft considers the issue a CritSit, and the CritSit process starts. The support center immediately starts troubleshooting the technical issue in efforts to resolve the issue as quickly as possible. At the same time, the technical account manager (TAM) receives a page or an e-mail message that informs him or her that a customer has opened a CritSit. The TAM takes ownership of the CritSit process, making sure that the right resources are engaged, dispatching resources when necessary, updating management within Microsoft, and updating the customer's management on progress, next steps, and other items of importance. Figure 1 illustrates this process and the time-critical alerts that it involves.

Bb735284.image001(en-us,TechNet.10).gif

Figure 1. Overview of CritSit process

Critical Response Time

The CritSit owner, which is usually the TAM that is appointed, tries to accept the CritSit within 60 minutes of initiation. He or she must determine the nature of the issue and document the impact that the issue has on the customer. The TAM must quickly collaborate with Microsoft Product Support Services and the customer to determine the plan to implement relief. The TAM must also update the CritSit portal, which is a Microsoft ASP.NET application, to provide consistent communication within Microsoft. If a CritSit is not accepted as time passes, automated alerts go higher up the management chain to ensure that someone takes ownership of this CritSit from an account management perspective.

The customer must also hear from the TAM about what actions are being taken on the customer's behalf. The documentation in the CritSit portal provides for earlier notification of Microsoft executives and their involvement in situations that are critical for their customers. Without this documentation, the executives have no way to track the progress of any call or to know that a customer's difficulty has been addressed.

However, CritSits can occur at any time of the day or night, and TAMs may not reside in the same time zone as the customers that they serve. When a TAM is out of the office and away from a workstation, he or she may receive notification by pager or telephone of a new CritSit. The TAM can use this notification to access the CritSit portal. During business hours, the TAM may be serving another customer at a location where he or she does not have convenient Internet access. The TAM may also be off duty but on call, and the notification may happen at a time when he or she is away from a computer. In such cases, the TAM must either return to the office, to home, or to some public facility where he or she can access the Internet and log on to the CritSit portal to take ownership of the situation.

Solution

The Mobile and Embedded Devices group at Microsoft, in conjunction with Microsoft IT, developed an initiative to create line-of-business applications for Windows Mobile-based devices to help showcase the power of Windows Mobile to partners and customers.

The goal of the initiative was to create awareness of Windows Mobile software, resulting in the development of new Windows Mobile-based line-of-business and productivity applications, along with a broad internal awareness of the fact that Windows developers can build applications for Windows Mobile-based devices by using their existing skills. A secondary focus of the initiative was to increase awareness among Business Unit IT (BUIT) groups of how employees in the field can become more productive by using mobile devices. The resulting applications all demonstrated the power of the Windows Mobile software to solve business, communication, and productivity problems. 

One of the new applications was created by an application development consultant for the Financial Services Group within the Microsoft U.S. Services organization. He reasoned that if TAMs can access the CritSit portal from a mobile device, they can more easily accept CritSits and respond more quickly to customers who have urgent problems. He undertook the development of an application for the Pocket PC, and the result was CritSit 'ToGo'.

Development Process

The application's developer discovered security-enhanced Web services, available through the extranet, that gave him encrypted access to the CritSit data. He could query these services by using Secure Sockets Layer (SSL) encryption, just as if he were programming for a Windows-based desktop application. With this discovery, he began to develop a mobile application that enables not only TAMs but other Microsoft managers and executives to access important business information regarding the management of customers' CritSits.

The developer was familiar with the Microsoft Visual Studio® development system, but he had never built an application for a mobile device. The initial development of CritSit 'ToGo' used Microsoft Visual Studio 2003. The developer found that the differences between developing an application for Windows-based desktop computers and Windows Mobile-based devices were minimal. In less than 40 hours, he had the first version of CritSit 'ToGo' running on a Pocket PC. After a short period of field testing, he received requests for a Smartphone version as well.

Managed Code Support

In this initial version of the application, the Windows Mobile-based devices used the Microsoft .NET Compact Framework version 1.0, which did not support NTLM authentication. The developer therefore created an unmanaged dynamic-link library (DLL) that was called from the managed code. After this first version was successfully tested and deployed, the demand for CritSit 'ToGo' to be available on devices other than Pocket PCs prompted the developer to create other versions. In these later iterations of the development, the mobile devices used the Microsoft .NET Compact Framework version 2.0, which does support NTLM authentication. In Windows Mobile 5.0, the whole application was created through managed code.

Within a few months, four versions were available: two for Smartphones (Windows Mobile 2003 and Windows Mobile 5.0) and two for Pocket PCs (Windows Mobile 2003 and Windows Mobile 5.0).

Emulators

The developer found that the greatest challenge in designing an application for mobile devices was accommodating the smaller user interface. But using device emulators made changing from one device form factor to another in Visual Studio 2005 much easier. Device emulators enable developers to build, debug, and test applications without requiring access to a real device.

Visual Studio 2005 uses a true Advanced RISC Machines (ARM) emulator. The true ARM emulator provided accurate and complete application testing capabilities and a high level of device-to-emulator consistency. The ARM emulator runs the same computer instructions, has the same memory layout, and even uses the same drivers as an ARM device. It even uses the same binaries as the device. The developer did not have to compile one set of binaries for the emulator and a different set for the device. This helped him to reduce development time and provided him with a more accurate testing environment.

The developer found that Visual Studio 2005 enabled him to use the same code for CritSit 'ToGo' for both the Pocket PC and the Smartphone while maintaining separate user interfaces.

Visual Studio 2005 and the Windows Mobile 5.0 software development kit (SDK) provide 15 different device emulators. The new Device Emulator Manager, shown in Figure 2, provided the CritSit 'ToGo' developer with a central tool for managing these emulators. The Device Emulator Manager saved him time as he selected different emulators, helping him to quickly locate, connect to, or shut down any of the installed emulators. The Device Emulator Manager also provided Microsoft ActiveSync® support because it was used to cradle and uncradle the device emulators, thereby connecting the emulators to and disconnecting them from ActiveSync.

Bb735284.image002(en-us,TechNet.10).gif

Figure 2. The Device Emulator Manager

Security Considerations

Part of the development process for CritSit 'ToGo' involved an audit to ensure that this new application complied with Microsoft security guidelines. In the design for CritSit 'ToGo', the mobile device does not store user credentials. Also, no personally identifiable information (PII) is cached on the device. The security audit found few issues in checking the application for compliance. These issues were limited to digital signing of the code and adding trusted certificates.

Deployment and Packaging

The developer found that Visual Studio 2005 made it very easy to package and deploy CritSit 'ToGo'. He was able to reduce the time and effort that is typically required to create device cabinet installation files by using CAB Designer Project. CAB Designer Project enabled him to design cabinet files graphically. By using this graphic model, he associated deployment files with specific folders and made any required registry modifications. Visual Studio 2005 did the work of actually constructing the cabinet file. Figure 3 shows the interface for the CAB Designer Project.

Bb735284.image003(en-us,TechNet.10).gif

Figure 3. CAB Designer Project in Visual Studio 2005

Benefits

Microsoft IT and Microsoft employees have acknowledged that CritSit 'ToGo' has met a critical need for a variety of users. The following groups have all found this mobile version of the Web-based CritSit portal to be invaluable:

  • TAMs
  • Crisis managers
  • CritSit managers
  • Development consultants
  • Support engagement managers
  • Team managers
  • Sustained engineering managers

In short, anyone who is involved in a CritSit can benefit from using CritSit 'ToGo'. It enables users to manage their CritSits anywhere and at anytime. TAMs can accept a CritSit at the touch of a button on their Windows Mobile-based devices. Figure 4 illustrates the CritSit 'ToGo' interface.

Bb735284.image004(en-us,TechNet.10).gif

Figure 4. CritSit 'ToGo' interface

Personnel at all levels of the Microsoft organization use CritSit 'ToGo'. They can access their line-of-business applications on the same devices that they have been using for telephone and e-mail.

Improved Developer Productivity

The explosive growth of mobile devices has given developers an excellent opportunity to meet the demand for greater access to information and business processes through Windows Mobile-based applications. By using the combined features of Windows Mobile 5.0, the .NET Compact Framework, and Visual Studio 2005, developers can reduce the time that is required for development, in addition to reducing the cost. They can develop and test applications efficiently, often by using existing code from desktop versions of an application. They can also use their existing Microsoft .NET programming skills and produce results without having to learn a completely new development tool or set of libraries.

Because CritSit 'ToGo' was created through the .NET Compact Framework on top of Windows Mobile 5.0 software, the developer does not have to recompile the application for a new Windows Mobile-based device. The power of the software helps to ensure that the application will be compatible with other Windows Mobile 5.0-based devices.

Because of the greater continuity between Windows Mobile software for Pocket PC and Windows Mobile software for Smartphones, the code for the Pocket PC version of CritSit 'ToGo' was easily adapted and reused for other devices, saving the developer from writing new code. Visual Studio 2005 simplified device development through several productivity tools such as data designers, an efficient debugger, and improved user interface designers. These tools included support for developers to view application presentations across different screen orientations, resolutions, and devices. Improved device emulators, including a new ARM emulator, simplified application testing by more accurately representing the device environment, thereby reducing the number and level of tests that were required to run directly on a physical device.

.NET Compact Framework 2.0

Widespread improvements over the earlier version of the .NET Compact Framework focus on the common goals of improving developer productivity, providing greater compatibility with the full .NET Framework, and increasing support for device features.

User Interface

The relatively small size of mobile device displays requires that applications use the available space efficiently, which historically has required that developers spend a great deal of time designing and implementing an application's user interface. Smart display capabilities, such as high-resolution and multiple orientation support, have made the job of user interface development even more challenging. The .NET Compact Framework 2.0 provides a number of new controls that it has in common with the full .NET Framework in addition to controls that are specific to devices. These new controls include the following:

  • MonthCalendar control
  • DateTimePicker control
  • WebBrowser control
  • Notification control
  • DocumentList control
  • DataGrid control
  • LinkLabel control
  • Splitter control
  • ToolBar control

The .NET Compact Framework 2.0 also supports user controls. With the addition of user controls, developers for Windows Mobile-based devices can now, within Visual Studio 2005, graphically create controls that automatically appear in the control toolbox. They can drag them from the toolbox to place them on a form that is used in the application for the mobile device.

Display and Layout Management

The wide variety of Windows Mobile-based form factors that are now available requires application user interfaces to be much more dynamic than in the past. To simplify the task of creating dynamic user interfaces, the .NET Compact Framework 2.0 provides many new layout and management features that include control docking and anchoring, and automatic scaling.

Connection to Data

The .NET Compact Framework 2.0 provides a number of new data classes in addition to new features for existing classes. The new SqlCeResultSet class provides scrolling and updatable access directly to the Microsoft SQL Server™ 2005 Mobile Edition database. This access provides a much faster and more efficient solution for accessing SQL Server Mobile data than the DataSet class provides.

The .NET Compact Framework 2.0 also provides a number of enhancements to the XML-related classes. These enhancements both simplify the process of working with XML data and bring the .NET Compact Framework XML-related classes much more in line with those available in the full .NET Framework.

Communications

Several new classes have been added to simplify common communications requirements, and many improvements have been made to existing classes. For example, the new XmlSerializer class substantially improves the performance of Web service calls by providing a much faster XML serialization and deserialization of Web service arguments. The .NET Compact Framework now provides support for IPv6 in addition to IPv4.

Security

The .NET Compact Framework 2.0 adds substantial cryptography support, such as MD5 and SHA1 hashing; RC2, RC4, 3DES, and DES symmetric encryption; and RSA and DSA asymmetric encryption. In addition to the support for Digest authentication provided by the .NET Compact Framework 1.0, the .NET Compact Framework 2.0 provides support for both NTLM and Kerberos authentication.

All of these improvements, together with enhancements in threading controls, performance and resource management, and native interoperation, boost the developer's productivity. At a time when mobile devices are on their way to becoming as common as cellular phones, applications for Windows Mobile-based devices have never been so easy to create.

Conclusion

Microsoft IT helped to deploy the new CritSit 'ToGo' application, ensuring that it complied with company standards for security. Microsoft IT realized that opportunities exist to take advantage of this technology throughout the enterprise, making applications available on mobile devices to employees in the field. In locations where network access is not available, employees can work through mobile devices. Such applications can include standard business practices such as labor tracking, expense tracking, and timely information sharing through documentation. Through Windows Mobile technology, new mobile applications can make information more readily available to the people who require it in their work.

The outstanding observation of the engineers in Microsoft IT was the ease with which the development of this new application occurred and how quickly CritSit 'ToGo' was made available to start solving the problem of responding to critical situations within the CritSit time frame. By using existing development skills and using familiar development tools, a single developer created a highly useful application in just one week.

For More Information

For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada information Centre at (800) 563-9048. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:

http://www.microsoft.com

http://www.microsoft.com/technet/itshowcase

For any questions, comments, or suggestions on this document, or to obtain additional information about Microsoft IT Showcase, please send e-mail to:

showcase@microsoft.com

 

© 2006 Microsoft Corporation. All rights reserved.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, ActiveSync, Visual Studio, Windows, and Windows Mobile are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker