Handheld OS Redux.
There's been an amazing amount of news in the past month or so about the handheld device market so I finally sat down to try to organize all these news-bits to figure out what's going on. Mobile phones are getting Smarter, PDAs are going wireless and hybrid "communicators" are just starting to hit the marketplace: With at least four different OS's vying for these devices, it looks like there will be a shake out soon. PalmOS, Microsoft Windows CE, SymbianOS and Linux all have a stake in the handheld OS future and even Sun's Java looks like it could be a player too. Anyone looking at this market could be reminded of the early days of the PC before MS-DOS, especially since it seems that everyone seems to have "standardized" on the ARM processor and the wireless standards Bluetooth, IEEE 802.11 as well as GSM/CDMA/GPRS/etc. Now it's up to the OS to make these things useful. But which is going to survive?
Just recently, we've seen that Nokia has picked off the PDA top spot in Europe in Q3/2001 with it's Symbian OS based 9210 PDA/mobile phone and is set to launch the "the brick" in the U.S. by summer. Symbian seems to have a lock on the "smartphone" market since Nokia, SonyEricsson, Motorola, Panasonic, and soon maybe DoCoMo all own a bit of Symbian and it's EPOC-derived OS - a strong 32-bit OS that can run on everything from the original Psion PDAs to the new Nokia 7650 Smartphone (with camera). However, the OS doesn't have a standard user interface, so it will remain to be seen if Nokia can gather the other manufacturers around it's Series 60 UI concept, or whether the Symbian smartphone UI will end up being fragmented. Maybe things will clearer in February when Symbian releases details about "Hurricane" the next version of their OS.
In the Palm world, it seems there's nothing but chaos. Palm, Inc. seems to be on shaky financial ground and Handspring seems to be worse off (though Qualcomm still believes) despite the fact that Palm is still the leading PDA platform. But for how long? A major question is can Palm develop PalmOS 5.0, which will be a 32 bit multitasking OS that can run on the more advanced ARM processors, and make devices in time to catch up with the other more advanced OSes already heading to market? Palm will be launching 5.0 in the first week in February at the PalmSource developer's conference, but early word is that despite the addition of the BeOS and TI's OMAP technology, the new OS will not have many built-in multimedia functionality (it won't play MP3s or Video for example) and is more focused on wireless needs instead. That's good because Handspring seems to be betting the farm on it's Treo PDA/mobile phone, which looks like a good move. But when will Handspring be able to switch to the new PalmOS and the ARM platform? They could be relegated to a 16 bit OS for a long time. (Which then again, may not be bad since OS 5 will be running these apps using an emulator anyways - and who knows how fast this will be). Also, though Palm seems to be serious about its wireless initiative by recently producing another Bluetooth Toolkit for developers and buying ThinAirApps in December, they have yet to produce the i705, the wireless successor to the Palm VIIx and Palm also didn't bother to license TI's 3G technology with OMAP, so any solution Palm comes up with for OS 5.0 looks short term at best for Smartphones. Finally, Sony seems to be content making higher-end Palm devices for now, but with it's deal with Ericsson (and thus Symbian) it's anyone's guess which OS it will use if and when it ever decides to make a hybrid "communicator".
Wireless has become a top priority for Microsoft, and its efforts are now being led directly by Steve Balmer himself. Thus Microsoft is coming on hard from both directions developing both a PDA with phone capabilities and a phone with PDA features - And even though it looks like only the former is ready to go right now, Microsoft has announced that Sendo will be the first to make it's "Stinger" phones - now renamed the "Windows Powered Smartphone 2002" - and is making deals to promote the phones and co-branded PDAs called the XDA in England with mmO2 (BT's wireless spinoff). With Windows CE.NET - the borg's latest plan to dominate PDAs - Microsoft is trying to get the idea out that you can develop a mobile application for a variety of handheld devices. Everyone knows that it takes Microsoft several iterations to get it right, and it seems that the latest version of CE might be there. Also, CE looks prepared to take advantage of the power of Intel's ARM based XScale processors which will be shipping in the first quarter, so Bill's boys might actually be ahead of the pack already.
There are a a ton of different Linux PDAs being launched or at least promoted. The Sharp Zarus, Royal lin@x, Agenda VR3, G.Mate Yopy, Vtech Helio and others, not to mention the PocketLinux distribution which will run on iPaqs. But according to a recent CNet commentary, Linux is going to suffer from a dearth of applications, even with Java integration. There doesn't seem to be many phones based on Linux just yet (even though the OS can run on a wristwatch) except for a weird Korean CDMA device called the PalmPalm and the GitWit for for teens.
Java, however, is popping up everywhere. Java 2 Micro Edition (J2ME) can run on low-powered mobile phones that don't even have a traditional OS - though the Java apps for these phones normally run quite slow and are actually a form of applet called "midlets" which have the same sandbox limitations as their desktop cousins making their use somewhat limited. J2ME can also run on Palms and RIM's Blackberry and Motorola's Accompli 008 GPRS phone/PDA is uses J2ME almost exclusively. Java's integration with the Symbian OS and Sharp's Linux/Java PDA is much better having better access to the core OS and allowing more advanced applications.
The dark horse in the handheld world is the cheapest ARM device you can get - a Game Boy Advance. Running on an ARM7TDMI Processor, it's only running at 16Mhz but it won't surprise me if and when someone comes out with a version of ARM Linux for the GBA or add-ons for wireless communications, PDA like functionality even a telephone to attach on to it.
So, in conclusion, as a developer, I'm looking at a variety of options based on the above news. I can continue to develop for the 16-bit Palm 4.0 OS and wait to see what happens with the new 5.0 APIs and hope the emulation isn't horrible. I can develop for the Symbian OS in hopes that the mobile phone makers take over the world, but be prepared to change my UI for each device. I can develop for Microsoft hoping they get battery life to a reasonable level and not to be sucked in by the BORG's .NET scheme. I can develop for Linux in hopes that somehow one of the contenders actually makes a dent in the handheld market. Or I can develop with Java and hope that the devices aren't too slow or restricted for a bulky JVM. To me at this point, there's major flux and no clear direction, but I think that's why it's interesting.