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. ((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.)) 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.