Slashdot Mirror


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?"

5 of 35 comments (clear)

  1. WinCE vs PalmOS by Betcour · · Score: 4

    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.

    1. Re:WinCE vs PalmOS by dutky · · Score: 5
      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.

      Which is wonderfull if you want a comfortable desktop/development platform, but next to useless in a handheld/embedded setting.

      PalmOS is a pure handheld OS made for handhelds and handhelds only : there's the bare minimum of services and code.

      Which is really nice if you want to deploy it on a slimmed down compuuting platform designed to fit in someones shirt pocket and run for weeks on a couple of AA batteries, but sucks some (but not nearly all or even most) other computing tasks.

      for a developper Windows CE is clearly better, because it uses a subset of the Win32 API

      Ah, this must be some new usage of the word better to which I have been hitherto unaware!

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

      None of which are features of the OS, and, hence, are irrelevant to the question that was asked.

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

      Or you could use the GCC cross-compiler tools for PalmOS, which are also free and run on some of the most successfull and program friendly computing environments ever written.

      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.

      Of course, you will have to rewrite the program anyway, since the assumptions you made about the human interface will likely be completely different in a handheld device that it was for the desktop systems you orriginally wrote the program for.

      Overall Palm devices are nice calender/todo/agenda/etc. but they just don't cut it if you want desktop functionnalities.

      Which begs the question: why are you targeting a handheld device if what you really want is a desktop?

  2. Pros and Cons by uradu · · Score: 3

    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.

  3. WinCE to be discontinued? by Jim+Tyre · · Score: 3

    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.

  4. More points by Bud · · Score: 3
    People seem to have provided most of the superficial Palm-vs-WinCE points already, so I'll skip that. Here's what sprang to my mind:
    • 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.
    --Bud