I first started developing an application for Palm in 2000 with the Palm IIIc. I was amazed at how well-thought out the API was. A few things were missing, such as POSIX-compatible routines.1 The API looked a lot like Carbon, which was a perfectly reasonable way to develop applications. CodeWarrior was a decent-enough tool, and growing in capabilities. New hardware, while not announced or even previewed yet, was on the horizon that could take away most of the nastiest problems with Palm OS, which were rooted in the 680×0 architecture.
I estimated at the time they were at least four years ahead of the competition in terms of an operating system.
But since then?
Buying and selling themselves to… themselves.
Absolutely nothing on the OS front.
Since then? Windows CE and successors have caught up in many areas, exceeded Palm in others. Blackberry, and iPhone exist, both of which make Palm look pathetic.
Loss of professional-level development tools.
Hardware quality control problems.
It’s hard to believe that Palm has thrown away this much of a lead. But they have.
- Expecting full POSIX support on a Palm back then was maybe a little unrealistic, but expecting the available routines to match POSIX definitions is quite a bit more reasonable. [↩]
RIM is about to suffer the same fate. They’re still putting out cool hardware, but the creaky OS and horribly broken developer ecosystem is going to sink them. The iPhone and iPhone SDK just ensured it will happen sooner than later.
I think you’re probably right about RIM. To me, though, RIM has always been next to irrelevant. It’s been marketed as a one trick pony, and that one trick it does well enough that it doesn’t need any help. I can’t imagine every developing for Blackberry, because I can’t imagine anyone caring if I did.