Choose the Appropriate Platform
Choosing the appropriate devices for your applications is only the beginning of the challenge. Not only are there several categories of devices, but they also use different, and incompatible platforms. For example, in the SmartPhone arena, Nokia, Symbian, and Microsoft all offer different application platforms. In PDAs, Microsoft CE/PocketPC devices and Palm OS-based devices are the market leaders. Palm was first out of the gate, and still has approximately 50 percent of the total PDA market, according to Gartner, but the number of CE/PocketPC devices is growing rapidly. (See the sidebar "Examining Developers' Artillery.")
Even in their current versions, developers familiar with common languages such as VB and C++ can write for CE/PocketPC devices, and with the advent of the .NET Compact Framework, which will ship on the next generation of PocketPC and CE devices, the difference between targeting a desktop or PocketPC application becomes largely a matter of designing the proper interface.
|As Microsoft's new .NET CE framework becomes standard on PocketPC and CE devices, it will provide a common platform across all these devices, reachable with a growing number of languages—and because it's a subset of the full .NET framework, porting existing Windows applications will be considerably simpler than translating them to other platforms.
The emerging Linux-based PDAs may also become a target for corporate developers (see "Sharpen Your Java Wireless Skills with the Zaurus SL-5500 PDA"). But developers may have problems writing applications that run consistently across Linux-based devices, even when those devices have similar display and interface characteristics. Ken Dulaney, vice president and research area director for Gartner, says: "The problem with Linux is that there are so many of them."
Dulaney lays the land like this: The Pocket PC offers the most platform consistency, which makes it very attractive to many enterprises. Microsoft, he says, "gives you what you want—they give you development tools, they leverage your programmers, they look like a PC."
As Microsoft's new .NET CE framework becomes standard on PocketPC and CE devices, it will provide a common platform across all these devices, reachable with a growing number of languages—and because it's a subset of the full .NET framework, porting existing Windows applications will be considerably simpler than translating them to other platforms.
"[Microsoft isn't] above criticism at all," Dulaney says, pointing out that, for one, the Pocket PC has not delivered the equivalent of RIM's functionality for email. "But it's the only place today where you can go today to find a wide selection of industrial devices and consumer devices of different shapes and that's particularly attractive to the enterprise."
Linux is at the opposite end of the spectrum, with a large number of variants that each require custom development and optimization.
And Palm, he says, "is a mixture. If you go from a Handspring device to a Palm device they're fairly similar, but they've chosen different email systems and different constructs inside to make them a little bit different. They're trying to improve that because they realize enterprise buyers want that [conformity]."
Palm is going through a lot of changes right now that are making some enterprises wary, he said.
Laptops and the Tablet PC both run various flavors of Windows, a platform for which there's alreadyan army of experienced developers available. RIM, which is currently far and away the leader in wide-area email messaging, shows promise, but needs to build its platform, its tools, and its developer base. Dulaney said that what he most often hears from IT professionals is that they want a hybrid Pocket PC/RIM device. And the onus is on RIM to change its business model to open itself up to third-party software.
"The good thing about RIM," says Dulaney, "is that I think they've understood the transition they're going through. And they seem pretty responsive. Definitely I would regard RIM as a promising vendor but they have to reinvent themselves to be a dominant player. That said, they have a strong customer base and a very happy customer base.
Symbian is also a strong but still-evolving platform, which, for now, is targeted primarily at the consumer market. Dulaney, said: "While I think their development tools and framework are particularly good for consumer applications, I don't think they've met the test for enterprise class certification yet. They've got to restructure Symbian and provide more enterprise class certification and rigidity of design in order to move forward."
It seems Symbian, Palm, and RIM are all in the position of needing to evolve rapidly to have a chance at matching the attractions of the PocketPC/CE platform, which is already reasonably mature, quite stable, and available on a wide range of devices, from smart phones to PDAs to ultra-portables. But more important, each is in a good position to deliver on that challenge.
Both Java and .NET developers will have a reasonably familiar platform for which to develop wireless applications, but the many differences among wireless devices ensure that there are plenty of problems beyond choosing a platform. According to Theresa Lanowitz, the problems developers encounter will be similar to those they've encountered while building client-server and Web applications.