
Yesterday we covered Palm's foray into the mobile computing market. When the company introduced the PalmPilot twelve years ago, with its monochrome display and 128K of memory, other companies weren't too worried. A niche product, and an expensive one at that, didn't compare to the bigger PC and browser wars, both of which Microsoft was winning against Apple and Netscape, respectively. Having won
Part II: Windows Mobile
Though Palm may have helped usher in the "handheld revolution" we have today, Microsoft helped carry the torch after Palm's OS decline. Blackberry in the enterprise realm and Samsung in the consumer world in large part succeeded Palm. What Microsoft did is try to fight a two-front war, introducing different operating systems for both sectors; when you're as large as Microsoft, you can afford to do so, and possibly engage in a land war in Asia simultaneously.
Microsoft's mobile operating system has a long history, growing from the Pocket PC and Windows CE operating systems. Not a fan of "one size fits all" such as Palm, Apple, and Linux, there were different handheld Windows OSes, and even different versions of Windows Mobile, which makes it hard to program for. Also, unlike Palm, Microsoft is not a hardware manufacturer; thus, very different devices can run the operating system.
Although C programming is common on Windows Mobile, .NET languages such as C# and (less impressive) Visual Basic.NET rule the day, and for good reason. Being high-level languages that users are familiar with (if they come from a Microsoft shop) with truly world-class development tools in Visual Studio truly sets Microsoft apart in this arena.
The .NET compact framework has a rich subset of the original .NET framework, including GUI, cryptographic, socket, and utility libraries, and Windows Mobile applications (compiled into .cab files) are easy to download or deploy by USB tether. The framework also allows for common high-level functionality, such as GPS and camera data. From a security perspective, more advanced libraries than exist in the C world are available to mitigate against common attacks, though as usual, the burden lies on the developer to take advantage of them.
The downside is that, like most things Microsoft offers, these tools are not free, open source, or guaranteed to work on all devices. Educational versions of Visual Studio exist which helps with the first, and limiting the scope of the application or hardware (say, only running on a Treo 700w) can mitigate the third; nothing will ever help with the second. Unlike Palm, Microsoft continues to support and enhance these tools, which makes developing for Windows Mobile a delightful experience, if you can afford it.
If Palm is a name in hardware, and Microsoft in software, tune in tomorrow when we discuss the largest name in the Enterprise handheld devices that became so prevalent, it spawned addictions to their devices!
Erhan J. Kartaltepe,
erhan.kartaltepe-at-utsa.edu

