I have enjoyed my first month with my Cingular 8125 greatly. Sadly, though, the device, like so much in life, isn't perfect.
Actually, the device per se isn't the problem, though there are some aspects of the hardware that I'm not crazy about. The issue is Windows Mobile 5 (the spawn of Windows "Powered," and even further back, Windows CE).
Windows Mobile 5 (WM5) is actually a surprisingly capable operating system, coming as I do from both the Windows development world in my career and the Palm OS device world in my past PDA preferences. As I've raved before, it does very well as a phone (good call retention in low-signal areas), very well as a PDA (thousands of applications out there, PIM apps are good), very well as a mobile communicator (e-mail, SMS and MMS messaging), and very well as a mobile web-browsing platform.
That said, it's been a real adjustment moving back to a Windows-y PDA. I bought my first PDA, a PalmPilot Professional, back in 1998 (I still have it, and it still runs, given a pair of AAAs), and was hooked. I have an unbroken string of digital breadcrumbs back to data I entered into that first unit. I even bought a RAM upgrade and firmware update kit to keep it moving.
Back in 1999 or so, Microsoft finally entered the PDA game with a special version of Windows CE for the "Palm-sized PC," and I bought a Casio model that was actually a pretty sexy little beast (despite being slow and getting abysmal single-day battery life compared to months on a single pair of AAAs for the PalmPilots of the day). Sadly I cracked the Casio's screen when I leaned on a pool table with the unit in my pocket, and getting the unit fixed would have been as expensive as a new unit, so I dumped its data back into the old PalmPilot and soldiered on.
I've gone through a succession of Palm units since then (from the upgraded PalmPilot to a Palm IIIc, to a Palm m505, to a Tungsten T3, and most recently my Treo 650), primarily because I enjoyed the move back from the more cluttered Windows interface to the Zen of Palm, and no longer feeling like my device was underpowered for what it was being asked to do.
But that was then, and this is now. Palm, either through mismanagement or simply being outspent by competitors like Microsoft and RIM, has dwindled in market share to a shadow of its former self. The last version of the Palm OS was in testing for years, and rather than actually being released in a product, was sold to a Japanese company, and was last seen being broken down for parts for use in a Linux-based PDA OS.
On top of that, the convergence trend, after years of promises, has finally come to fruition, and a device that is only a PDA is no longer sufficient to compete: a device must be a cell phone first and a PDA second, and most likely also a communicator (meaning fluent with e-mail and other messaging) and a camera and multimedia machine.
The Treo 650 was, I predict, the last big Palm OS-based success, though the Treo 700p may well continue the love. The problem with the 700p is that there's also a Treo 700w, which runs (you guessed it) Windows Mobile 5. The use of WM5 in a Palm device, for me, was the deathknell of Palm as I've known it, and at best its capitulation to life as yet another Windows-Mobile-reliant hardware company. Time to switch back!
So Why was the Transition so Tricky?
Palm OS and Windows Mobile reflect radically different approaches to software design.
Palm OS, at its roots, is a single-tasking operating system. That means, absent some hackery, that its programs never have to worry about something running in the background and consuming resources that it might need. It has very little need to worry about programs "stepping on" one another while running, or doing any complex interleaving of execution context between programs doing different things simultaneously. Thus, Palm OS programs tended to be simpler and to store their contexts constantly (little need for the user to click a "Save" button) because they could never know when the user will exit your program to start another. In short, Palm apps tended to operate simply, like web pages. The best of them stored their contexts very completely, so that when you reentered that program, it looked like you never left, and felt like something more sophisticated than single-tasking was taking place.
Palm OS also allowed programs to execute "in place," meaning you didn't have to load programs from storage into RAM to execute them, you just ran them right where they were in the device's memory.
Windows Mobile is a multitasking operating system, and began its life as a cut-down version of the 800-lb. gorilla Microsoft Windows NT. There are many good things about being able to juggle several programs at once, but simplicity isn't among them. Another weakness of the multitasking approach is that having several programs running at once means they must all be consuming resources at the same time, which necessitates more powerful CPUs and more capacious storage. So Windows Mobile apps tend to be more elaborate in their OS demands and needs, and more like desktop applications than the web-page simplicity of Palm OS.
Speaking of storage, one nasty bit of legacy to Windows Mobile's genesis as a desktop OS is that storage is split into "storage memory" and "program memory." Yep, that means the old load-the-program-from-disk, run-it-in-RAM paradigm is alive and well in WM5. More complexity, and less flexibility for how memory is used on the device.
This would all be well and good if RAM and flash were free, and powerful CPUs consumed no battery power and emitted no heat. Sadly, we live in a world of limits, and Windows Mobile devices tend either to be underpowered, affordable and balky; or powerful, expensive and battery-starved.
The Cingular 8125, sad to say, falls into the former category. So why am I so happy with it?
Finding the Sweet Spot; Acceptance of High-Maintenance Tendencies
The good news is that the solution to Windows Mobile's woes on the Cingular 8125 is to flout its multitasking nature as much as possible: being almost powerful enough to multitask means that it's one hell of a single-tasker.
This flouting is tricky, because WM5's default behavior is to "minimize" programs that you choose to close, or render them invisible while keeping them running in the background. Minimizing like this means that the second startup of an application is blindingly fast (because it never left memory), but of course that means that it's very easy to wind up with lots of programs running in the background after a while, chewing resources and making the device sluggish. WM5 tries to handle this by truly terminating programs that haven't been used for a while when RAM gets scarce, but despite this being version 5 of Windows Mobile, it doesn't seem to be very good at keeping resources available. Throwing more CPU power and more memory at the problem can help, but for a guy like me who's always running different programs, it's like digging a hole in water.
Thankfully there are all sorts of third-party hacks out there that change the default behavior to terminating programs rather than minimizing them, and thus keeping as much of your device's mojo available for your use as possible.
There're also the little usage-patterns that you internalize when acclimating yourself to a new OS: the accretion of myriad "if it hurts when you do that, then don't do that" lessons that any software has to teach its users. It might be because I was a Palm user for so long, but Windows Mobile seems to have more bumps, quirks and rough spots than Palm OS does, even in its fifth iteration. Also, some of the programs (like ActiveSync--bad Microsoft!) tend to lock up. I typically have to soft-boot the device every other day or so.
A Man Who Knows Where His Towel Is
So, my Cingular 8125 (dubbed "DontPanicBeep" and given a Hitchhiker's Guide wallpaper because it was the hoopy thing to do) is a high-maintenance, twitchy device that's prone to constipation if I don't use it properly, and occasionally goes foom.
But I don't mind, because for the most part I know where the landmines are, and the ability to do so many things so well with so few compromises in the hardware realm is worth it to me. Also, there's a lot of active development going on in the Windows realm, and it's my belief that a lot of the crashy/locky software issues will be fixed with time.