Technical Comparison Of Windows CE vs. PalmOS?
caprio asks: "I work for a software company in Illinois. We want to port our current application, which is a EMS Data Collection tool, to the PDA scene. It is a Visual Basic program (COM, ADO, the works..) It would involve collecting data at the scene of the accident, then uploading it to the server back at the station. A complete re-write is not out of the question. So my question is this, can anyone give me a good, technical comparison between Windows CE and the PalmOS? We are leaning towards Windows CE becasue the machines are beefer. But I also hear that cable connection is better on the Palm. Anyone with some tips or suggestions?"
I know this is a dirty word to half the programmers here. Well, okay, it's other parts of the design also.
But some of us do know a little about user interface. If you want a desktop user interface (nevermind what you think of the interface quality itself) then use a desktop computer.
A desktop interface is just wrong for a handheld. Even with added on retrofitted goup to try to adapt it for that purpose.
Many handheld applications, including the one this article is about, need to be used in the field. Not sitting in front of a laptop. (Even if it is a handheld laptop.)
You want instant access to applications. Quick responsiveness. You can't say to customers, cab-drivers, people in elevators, the waiter at the resturant, "oh, just wait a minute while my application starts up, or my system boots up."
Palm OS was designed to be used on the go. The way applications switch under the OS is designed to be instant -- no lengthy initialization. Sort of like how you use a digital watch, or other common technology items.
Pocket PC's may seem more sexy when you look at their specs, but the Palm was designed by considering how and where it would be used. Not just a me-too adaptation of a desktop OS.
I'll see your senator, and I'll raise you two judges.
I'd agree that both Visual C++ and Visual Basic somewhat sucks - but so far the only powerfull PDAs on the market (iPaq, E125, etc...) all run Windows CE. Palm still use the same low-res tiny screen they used on the original Palm Pilot, years ago.
> Same here. My facility at work is having 802.11 wireless installed
Ahhh, I'm trying to subtly plant the seed for such a need in the mind of managers here. My project manager brings in her laptop and plugs it in every morning, so I'm trying to convince her how much more convenient it would be to have a wireless NIC, allowing her to roam through the building. Besides, it would allow ME to roam through the building.
> I still like the Palm line for some things, but the color attempt needs to be redone. I wasn't impressed with the IIIc at all.
The IIIc is useless as far as I'm concerned. The pixels are too big and give the display a grainy appearance. I wish they would concentrate on getting beyond 160x160 and square aspect ratio instead, and getting rid of the dedicated Graffiti input area. All of the display opening in the front face should be display, and they should push the display more out towards the edges of the device. In other words, give me a bigger screen with more resolution!
One other thing I would LOVE in the Palm is a BACK button, that lets you switch to the last used app. Too often I need to pop up an app while in another one to look up something, and then I have to go to the App screen again, scroll around to find the previous app, and switch to it. With the BACK button I could simply switch to another app, do the lookup, then hit the BACK button and be back where I was. Oh, and please convert the calculator into a popup dialog, like the Find dialog, so it doesn't move away from the currently used app.
Maybe its just me but why not port it to both, with Satellite Forms for the Palm and eMbeddded Visual Tools for the PocketPC porting data collection applications is very easy and fast on both platforms.
> Which begs the question: why are you targeting
> a handheld device if what you really want is
> a desktop?
>Portability. Remember what they're trying to do
>here -- gather information at the scene of an >accident.
>Laptops might be a workable option, but an >embedded system would be preferable (no disk >access time). When you work for EMS, seconds >count.
Yes, Portability is the main reason for the handheld discussion. Also, many hospitals are asking for a handheld version before they commit to purchase.
There are versions of VB, COM and ADO for Windows CE. I guess it will be much easier to port to Windows CE rathar than PalmOS.
Take a look at the PocketPC developer page
Then you don't want a CE device. It's no good if the EMS needs to pop the CE device in a cradle to charge it every day. What if they forget one day? At least on the Palm solution (the IIIs and 7s anyway), you can have a bunch of triple A batteries laying around, and swap them out in the matter of seconds. And if you're willing to pay the expense, you can even use wireless Palm 7s to transmit data from the scene back to your hospital, etc.
no..as a developer i have to say it is VERY robust. the OS is a piece of shit and crashes every 10 seconds but the database is rock solid. its also a binary database with 4K fixed length records which are binaries..not a flat file. the database will NOT allow you to corrupt it even if you try VERY hard. the palm memory is built the same way ... unfortunately threading is non existant. its a weird platform but damn good for what it does. could do with thread protection tho.
Well, Windows CE is more like a full OS, complete with almost everything you can find in the deskstop Windows : installer/desintaller, TCP-IP networking with dial-up wizard, bunch of dll's, desktop wallpaper or a lightweight DirectX. PalmOS is a pure handheld OS made for handhelds and handhelds only : there's the bare minimum of services and code.
Both OS have merits, but for a developper Windows CE is clearly better, because it uses a subset of the Win32 API and have most services you expect to find in an regular OS. Also, Pocket PC PDAs have larger screens (240x320 pixels and 12 or 16 bits per pixel) while Palm devices have a tiny one (160x160 in gray scale or 256 color). PocketPC have MUCH beefier CPUs, sound, easy connectivity through Ethernet or Modem cards, mass-storage availability (Flash cards or Microdrive, etc...).
Another BIG advantage of Windows CE : Microsoft is giving away the full SDK AND Visual C++ AND Visual Basic for Windows CE (not just the add-on, the full complete apps with cross-compiler and all !). If your app already exists as a Visual Basic program, then it will mike porting easier than rewriting from scratch for PalmOS, un C and with a totally different API.
Overall Palm devices are nice calender/todo/agenda/etc. but they just don't cut it if you want desktop functionnalities.
WinCE:
:-)
+larger screens, better resolution, more fields per screen
+relative code portability from the desktop
-color screens almost unreadable in daylight, great at night
-code portability might depend on OS features used
-short battery life, which can be a problem depending on usage model
-expensive devices, a factor in a harsh environment
Palm:
+very readable screen in daylight, usable at night
+extremely long battery life, enabling all sorts of usage models
+cheap devices, almost disposable
-OS harder to program and more limitations than WinCE (except if you choose VC++ on WinCE, then it's a bitch regardless
-smaller screen, fewer fields per screen
-Graffiti might make some people balk
All in all, I'm leaning towards Palm, because of the very readable screen, the long battery life, and the cheapness of the devices. However, you should evaluate WinCE and see how much of your legacy code would REALLY be portable; if a substantial amount needs a rewrite (e.g. because of GUI issues), write from scratch and go with Palm. If you can mostly port verbatim, go with WinCE.
On Palm you can use Satellite Forms to create very VB-ish apps, complete with event handler scripts etc. Check it out, for data acqusition it makes app development almost trivial, and all your data automatically ends up in database tables on the desktop. You could also use the Symbol devices with the barcode reader if you have that kind of need.
Where is this free SDK that you refer to? What do you have to do to get it?
--
Peace,
Lord Omlette
ICQ# 77863057
[o]_O
I tend to disagree with your point about the WinCE interface being like Win9x and hence requiring no training. Especially Pocket PC deviates from the desktop interface quite a bit, I found myself hunting for stuff. With good reason, because they're trying to be more like Palm with instant access to certain features.
I think the important GUI paradigm is the WIMP (or WIP I guess), or the familiar window/dialog box, buttons, edit boxes, check boxes, combo boxes, menus. People are used to this paradigm by now, no matter what particular appearance these items might take. I maintain that these GUI widgets look only trivially different on Palm OS than in WinCE or Win9x. By far most people still recognize the (monochrome, with rounded corners) buttons as buttons, the edit boxes as edit boxes, the check boxes as check boxes. One possible exception is the drop down menu, which is not normally visible on Palm OS, so that's a small item to learn. But most people seeing a Palm form with some GUI widgets for the first time will intuitively know how to navigate it.
It does not take a verbatim copy of the Win9x desktop to instill familiarity, because even on WinCE the Start button menu doesn't really contain all the stuff from Win9x, and the differences increase rapidly from there.
My point is that the argument saying that WinCE is much more familiar to users than the Palm OS is only superficially true but really doesn't hold much water. I've seen too many non-Palm users pick up my Visor or Pilot and pretty quickly find their way around it.
That's the rumor, anyway. Instead, MS is working on a stripped-down version of it's Millenium Edition OS, to be called mini-ME.
As for burning the app into the ROM, that isn't feasible becasue the way our program works is that all updates are place on the server and when a client connects, it passes new information upstream, and recieves new updates downstream. PalmOS also uses C to program it, if I am not mistaken (and I might be) So the turn around time for this would be huge.
Assumming you don't have to have an ungodly number of devices, why not buy a cheap laptop? I'm assuming because you're >talking pocket PC you want to spend 3-500$US. Why not pay twice as much for no hassles. No conversion costs, recompiling, >stuff to go wrong. You can spend the time you would have spent screwing around with compilers making the base installation more >stable
Well, basically people are simple. They want a handheld version because it is sleeker and cooler than a laptop. Plus, More things can break on a laptop. then you get people installing MP3 players and new themes for Win9X. that makes the computer unstable and program not very good.
While I *am* a Palm bigot, I make my living on Windows development. I've had a hand in bringing up two Windows CE platforms, so I'm somewhat familiar with them. (although not from the application-software side; in both cases they were being used as embedded OSs and my work was device drivers - but don't get me started on *that*... :)
:)
Being a Palm bigot, of course I'm going to recommend Palm devices...
Despite that, take a look at the Handspring Visor. You could develop your app, burn it into a Springboard and have a dandy way to distribute it. Someone drops the Visor and it breaks? Swing by your local store, pick up another, and swap the Springboard into it.
If you build a Springboard with some extra flash, you can save the field data into flash when it's entered. It'll use up the flash's lifetime faster, but you won't lose data even if the batteries wear out. (of course, Palm devices do have a longer battery life...)
Visors are also dirt cheap (in PDA $ terms...
One other thought I had - and it applies to whatever platform you go with. How do you protect against someone stealing the device for their own use? (no insult to EMTs intended!)
- Al Weiner -
www.ajw.com
- You can make your Palm application quite tamperproof by burning the app into flash ROM and disabling the software installation conduits.
- PalmOS is essentially a clone of MacOS anno 1990. People who programmed the Apple Mac back in the early nineties will understand the PalmOS very quickly.
- Sybase has a product named UltraLite (part of SQL Anywhere Studio), which is a very small embedded SQL server for PDAs. You can replicate to/from any ODBC-compliant master data source over several different protocols. UltraLite also supports WinCE and several other platforms. I've used UL on Palm for some months now and it does have some bugs, but it will probably be sufficiently robust by next summer.
--BudYes I know the Palm storage is baed around a database, but it is only a text, flat file database, which is not very robust.