How Windows Mobile 6.5 Stacks Up to the Competition: A Comprehensive Guide

Introduction

When the first Windows Mobile versions hit the market ten years ago, Microsoft had a clear direction: bring a familiar Windows environment to people on the go. For many years, Windows Mobile phones looked much like a miniature version of Windows. However, especially in the latest two versions, the look started to gradually shift towards a more modern phone look.

Currently, Windows Mobile is in version 6.5.3. This version will probably become one of last ones of its kind, as in the near future, Windows Mobile will be replaced by a new brand: the Windows Phone 7. Windows Phone 7 will have a new set of hardware features, new programming technologies, and above all, new looks.

This special report will focus on Windows Mobile 6.5, the business-oriented platform that looks and feels like its desktop counterpart. Furthermore, this report will focus on the high-end Windows Mobile Professional edition, but changes related to other editions are also discussed. If you are interested instead in the future of the mobile Windows platform, take a look at another special report from Internet.com on, Windows Phone 7 available here.

Editor's Note: For complete reviews of all the leading mobile development platforms, see the Internet.com Special Report "Field Guide to the Mobile Development Platform Landscape".

Understanding Windows Mobile 6.5

Windows Mobile is a platform that has wide appeal especially in the corporate world. The devices that run on Windows Mobile usually have lots of connectivity options from cellular to Bluetooth to Wireless LAN, and host a familiar Windows interface with applications such as Mobile Outlook and Office. The devices can be used with a built-in keyboard or with a touch screen, often requiring a stylus (Figure 1).


Figure 1 - Windows Mobile 6.5 contains improved screens that are more finger-friendly than previously.

Windows Mobile devices are based on the Windows CE operating system. Windows CE is a flexible system suitable for many different kinds of devices, from automobile navigation to embedded industrial solutions. Windows Mobile devices are also easily programmable using either native code or .NET framework technologies, and contain many operating system features usually seen only on PCs.

Windows Mobile phones are available from many different carriers and manufacturers. In the U.S., all major carriers like AT&T, Sprint and Verizon Wireless provide phones based on Windows Mobile, and the same repeats with larger carriers worldwide. Manufacturers like Acer, HTC, LG, Samsung and Sony-Ericsson all provide devices, which usually sell in the range of USD $50 to $250 with monthly plans.

Although Windows Mobile contains all basic functionality, many device manufacturers want to customize their phones with their own extensions. For instance, HTC Imagio has adjusted the default screens to differentiate it from the rest (Figure 2). Although these extended screens often provide a slick interface, the base functionality elsewhere still stays the same. This can distract the user.


Figure 2. HTC Imagio is an example of a phone that customizes Windows Mobile's look and feel.

Windows Mobile 6 became available in 2007, and back then, the user interface was designed to be used with a stylus. Meantime, Apple's iPhone changed the way phones could be used, and Microsoft had to react. Microsoft responded by improving Windows Mobile to better support touching with fingers instead of the more precise stylus.

This finger-friendliness was one of the biggest improvements in versions 6.5 and 6.5.x. Technically this meant redesigning certain user interface parts with larger icons. However, several reviews of the latest phone versions have criticized the fact that these changes are only skin deep. When navigating further into the user interface, a stylus again becomes a necessary accessory.

Touch support is relative to the Windows Mobile edition in use. With Windows Mobile 6, Microsoft changed the naming conventions used to differentiate between Windows Mobile editions. The three existing editions were kept, but they were renamed. Now the available options are Windows Mobile Classic, Standard and Professional. These correspond to the older Pocket PC, Smartphone and Pocket PC Phone Editions, respectively. The Windows Mobile Standard edition does not support touch screens, and the Windows Mobile Classic does not have phone functionality.



How Windows Mobile 6.5 Stacks Up to the Competition: A Comprehensive Guide

A Rich Development Platform

As a platform, Windows Mobile 6.5 supports well-known tools and technologies to allow developers build even complex applications with precision. Developers can choose to use both native and managed code to develop their applications (Figure 3).

[Figure 3 - Visual Studio 2008.png]
Figure 3. Visual Studio 2008 Professional is the main tool in developing applications for Windows Mobile 6.5.

The main development environment is Microsoft Visual Studio 2008, but there are also some third-party alternatives. Microsoft documentation for mobile developers is good and broad, and example code is easy to find. Professional support is also available, but most developers will find the numerous community resources, forums and blogs enough for casual support needs.

Although Microsoft Visual Studio 2008 enjoys developer success as an IDE, it is not the latest version from Microsoft. Instead, the latest version is Microsoft Visual Studio 2010, released in April of the same year. But the latest version cannot be used for Windows Mobile 6.5 development; instead developers will have to use the older 2008 version. Microsoft Visual Studio 2010 is reserved for newer Windows Phone 7 development only.

Programming-language wise, native code applications are written with C++ programming inside Visual Studio 2008. Managed .NET developers have more choice: both C# and Visual Basic are supported. .NET development is based on the Compact Framework (.NET CF), which is a subset of the full version of desktop .NET framework. Still, it is sufficient for most business needs. When using .NET, interactive applications will use the Windows Forms (WinForms) framework, providing an easy path for application developers already using WinForms for desktop applications.

Since Windows Mobile devices also have Internet connectivity and contain a web browser, developers can also write traditional web applications with HTML user interfaces to provide functionality for the users (Figure 4). Technically, there's no limit to what web technologies can be used, but when speaking of Microsoft technologies, this would without a doubt be ASP.NET for new applications. The embedded Internet Explorer Mobile web browser supports running JavaScript code to allow richer interactivity.

[Figure 4 - Mobile Internet Explorer.jpg]
Figure 4. The built-in web browser allows accessing the both the Internet and web-based applications.

Microsoft Visual Studio 2008 provides a good feature set for developers. Projects can first be tested using an emulator, and afterwards moved to a real physical phone for more detailed testing (Figure 5). Using Microsoft's ActiveSync technology, the file system of the phone can be directly seen on the PC. This way, deploying applications is straightforward and doesn't require using a web interface to deploy and test applications.

Mobile development support is available in Microsoft Visual Studio 2008 Professional and more advanced Team Editions. Visual Studio 2008 cannot be purchased anymore directly, but developers can buy Visual Studio 2010 Professional with an MSDN subscription to get downgrade rights to the 2008 version. The MSRP for Visual Studio 2010 Professional with MSDN is USD $1,199. Additional costs cumulate from development machines, Windows licenses, test devices and network connectivity. As is common on Microsoft platforms however, there are no runtime royalty fees when deploying applications, except when using Microsoft's own web marketplace. SDK kits are free of charge.

[Figure 5 - New Smart Device Project.png]
Figure 5. By default, Microsoft Visual Studio 2008 only supports Windows Mobile 5.0 development, but by installing the latest SDKs, developers can get support for Windows Mobile 6.5 as well.



How Windows Mobile 6.5 Stacks Up to the Competition: A Comprehensive Guide

A Distribution Lifecycle

Developing applications for Windows Mobile follows a predictable process. Although applications can be delivered to phones using multiple methods especially in a corporate setting, more consumer oriented applications are probably best distributed and sold through either developer's own web pages or through Microsoft's Windows Marketplace for Mobile. This marketplace is available through the web, and also directly from compatible Windows Mobile devices.

Developers wishing to benefit from the Windows Marketplace will need to register and pay a yearly subscription fee. Currently, the fee is $99 (USD). Developers are free to select a price for their applications, but Microsoft takes a 30% share of the sales revenue to keep the applications available on the marketplace. To keep up good quality, Microsoft also requires applications to conform to submission guidelines. Only applications that pass the requirements can be distributed through the marketplace.

In addition to written guidelines, Microsoft has developed a set of testing tools to verify technical quality. The most well-known of these tools are AppVerifier and Hopper, and the latter's sister-tool xHopper. All these are stress-testing tools that simulate for instance key presses, memory allocations, and incoming phone calls or SMS messages. Once all tests have passed and requirements have been met, the applications are digitally signed as a proof of their origin.

When the developer wishes to publish a new version or his or her application, the same process repeats. Customers can provide feedback to the developers through the marketplace, and also rate applications they use.

Planning for the Future

Developers writing applications for current Windows Mobile platforms like 5.0, 6.0 and 6.5 can continue writing their applications at least for several years, Microsoft has indicated. However, changes loom at the horizon: Windows Phone 7 is to become available in Q4 of 2010. This new platform is not compatible with the old technologies such as native C++ programming or Windows Forms in .NET. Instead, applications running on the phone will need to be written with C# programming and use either Silverlight or XNA technologies.

With these large changes in sight, the wise developer starts to prepare for the future. Native application developers will need to migrate to .NET and the C# programming language, and developers already using .NET Compact Framework will need to migrate their user interfaces into Silverlight (and possibly the C# programming language). Application logic, if already .NET based, could work in the new Windows Phone 7 environments with small modifications.

Database access is another area where major changes are needed. Future Windows Phone 7 environments do not currently support local databases, and file access only in a limited fashion. Similarly, there is no direct socket programming support, so one cannot access for example, databases through a direct TCP/IP connection. Instead, developers could either create an HTML web interface for the database, or implement a middleware application that handles data access and publishes the data through HTTP(S). Microsoft's WCF Data Services and the OData file format look promising in this respect.

Conclusion

Windows Mobile 6.5 is a platform that supports many different types of devices and many different types of applications. From the developer standpoint, Windows Mobile can be seen as a light version of a desktop Windows PC. This means that many features in desktop Windows are directly supported in the devices, giving in turn numerous development possibilities. In a similar fashion, migrating desktop applications to Windows Mobile is easy, as you can use either the native code Win32 API or .NET and the WinForms technology. Windows Phone 7 will change all this, however.

From the user perspective, the Windows Mobile 6.5 interface can feel outdated. The ability to control devices by touching with fingers instead of the stylus has only been available for a short time, but still a stylus or a keyboard is necessary to control all applications available on the phone. Visual look is not up to the latest consumer standards, but business users will get the functionality they need from Windows Mobile 6.5.

Jani Jarvinen

Feature Status
Programming APIs Win32 and .NET Compact Framework
CPU architecture ARM
Development Technologies Native C++ or .NET WinForms
Languages Supported C++, C# and Visual Basic .NET
Development Tools Visual Studio 2008 Professional Edition or any of the Team Editions
Tool Status Commercially available since 2008
Documentation Most only Microsoft Developer Network (MSDN)
Device Availability Broad, for instance HTC, Samsung and LG


Table 1. Windows Mobile 6.5 in a nutshell



Field Guide to the Mobile Development Platform Landscape





About the Author

Jani Jarvinen

Jani Jarvinen is a software development trainer and consultant in Finland. He is a Microsoft C# MVP, a frequent author and has published three books about software development. He is the group leader of a Finnish software development expert group at ITpro.fi and a board member of the Finnish Visual Studio Team System User Group. His blog can be found at http://www.saunalahti.fi/janij/. You can send him mail by clicking on his name at the top of the article.

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • IBM Worklight is a mobile application development platform that lets you extend your business to mobile devices. It is designed to provide an open, comprehensive platform to build, run and manage HTML5, hybrid and native mobile apps.

  • Businesses are moving more and more of their customer transactions to the web. Security is understandably a top concern as online transactions increase, so it is important to make sure your electronic signature provider meets the highest security standards. That means more than simply passing a security audit or obtaining a certification. This white paper provides recommendations for taking a broader view of e-signature security, and answers key questions that help identify the security requirements against …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds