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.
|
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.
.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.
.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.
.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.
.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.