See why this aging platform manages to stay successful in the business world and how Windows Mobile 6.5 stacks up against it's competitors.
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.
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.
[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.
This article was originally published on Friday Jul 23rd 2010
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.
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.
||Win32 and .NET Compact Framework
||Native C++ or .NET WinForms
||C++, C# and Visual Basic .NET
||Visual Studio 2008 Professional Edition or any of the Team Editions
||Commercially available since 2008
||Most only Microsoft Developer Network (MSDN)
||Broad, for instance HTC, Samsung and LG
Table 1. Windows Mobile 6.5 in a nutshell
Field Guide to the Mobile Development Platform Landscape