Why Palm Still Covets Palm OS
munchola wrote in with news that Palm has just announced a one-time payment for perpetual, royalty-free use of Palm OS. In 2005 Palm spun off PalmSource to an outside company, Access Systems Americas, and since that time has been paying out royalties for its use. At the same time Palm announced products based on Windows Mobile. Palm's latest announcement reduces the uncertainty among Palm OS developers. From the article: "In an unsurprising but symbolically important move, handheld and smartphone maker Palm this month signed a perpetual license with Access Systems Americas, which gives Palm the right to use Access' Palm OS operating system in whole or in part in any Palm device forever more. It sounds like a no-brainer, but the context is interesting, in particular what it means for the army of Palm OS developers out there. Believe it or not there are at least 160,000 Palm OS developers — and they're just the ones that Palm knows about."
PalmOS developers tend to be amongst the most loyal out there -- not quite fanatical about the platform, but very pragmatically into it. I guess something has to come out of the fact that applications written for Palm IIIx devices are still running, even on the latest devices, without any rework. Which, come to think of it, is strange -- you have an OS where native applications have to be written in C (with a plathora of inconsistent although good C++ frameworks), with a somewhat quirky event handling model.
I think that Palm's early-days decisions of releasing the source code to all their native apps as examples of well-coded applications, and of having really good testing tools (Gremlins are brilliant! I wish we had them in the Java ME world for non-palm mobile phones) played a huge role in creating folks who, well, still like writing for the PalmOS despite the massive changes everywhere else in the PDA world...
***Foucault is watching you..***
When Access bought PalmOS last year, they announced they were rewriting it into a PalmOS GUI layer for backwards compatibility, and putting that on top of a Linux distro (from the China Mobilesoft company they'd also bought). They said they'd release it by the end of this year, on a new Palm phone. There's a new Treo750 out: does it run Linux? If not, there's a newish Treo700W that runs Windows - can that phone's full functions run some other Linux that runs on "Windows" mobile PCs?
--
make install -not war
The original palm was made possible by the Motorola Dragonball processor which IIRC was a 16mhz 68k variant with and LCD driver and memory controller, it was one of the first SOC's (System on a Chip) that I can recall. Programming these things was hideous. It was all C/C++ and the API sucked hardcore.
Flash forward 10 years, Palms now have 300 - 400 mhz ARM processors, WHICH THEY USE TO EMULATE THAT ORIGINAL DRAGONBALL PROCESSOR! If you want access to the ARM processor you can write an "applet" which runs directly on the real hardware. These are *VERY* difficult to get right and stable. This programming model is simply wrong.
Compare this to WinCE 5 which gives you a stripped down CLR, or CE6 which gives you almost a full CLR. You can write code that works on both a PC and CE with a few #defines here and there. The CE OS is that modern.
Compare that to BlackBerry which has J2ME (Java 2 Micro Edition) which is also a very decent programming model.
So long story short -- Palm sucks because their dev tools suck. They have been talking about this Palm OS 6 for a few years now that is supposed to correct all this stuff, but it never seems to come out, and frankly I don't think Palm has the engineers to pull it off. They've shown only the ability to produce sub-standard buggy software. My Treo is definitely the last palm I care to own.
Religion is a gateway psychosis. -- Dave Foley
I've used multiple Palms, starting with a handmedown USR Pilot. I moved to the PalmIIIx, then to the Handspring Visor for the expansion port (CF & SD card reading goodness). I switched from a pager to a cellphone sometime during the Visor era and when my Visor started dying at the same time ATT fell into the Cingularity I went for the Treo650 and a new phone carrier. My Treo runs virtually all my old apps. I added Grafitti-1 to it and enabled shortcuts. It is, from a UI standpoint, identical to my Pilot.
My Treo650 is pretty stable, with the occassional long pause when I manage to do a major memory swap (close/open an ebook on the SD card) at the same moment the email auto-download occurs. I get a crash or hard freeze maybe once every 2-3 months, usually when I manage to have the above happen when listening to MP3s or when an alarm is set to go off, or when I turn on the internet at the exact moment a call is coming in (CDMA doesn't let you do both).
I don't know anyone with a WinMobile device that has half the stability I do, let alone with the same degree of customization. It works, it's reliable, and it's pretty (PalmOS supports higher res screens than WinMoble).
Palm has 2 hurdles: 1) the carriers have so many special requirements some of them destabilize the Treos (I'm looking at you Cingular!) and 2) they need mindshare. Palm doesn't have any buzz anymore. They need to advertise the Treo. Mine plays MP3s, videos, takes acceptable pictures, reads office docs, etc. They almost need the PC/Mac commercial but with "Mobile Office" on one side of Treo, "Rock'r" on the other.
I've been on slashdot so long I'm starting to get out of touch with the cool stuff if it ain't on slashdot.