.net – are the tradeoffs of developing under Windows CE 6.0 vs Windows Mobile 6.1

netwindows-cewindows-mobile

I have a Windows .NET application that I plan to "port" and tailor to a mobile device. The application consists of a standalone .NET program that works with a barcode scanner, has a simple UI and records the scans to a file. There is also a Windows Service that synchronizes data to a server using web services (proprietary sync protocol). Memory/disk/network requirements are rather minimal. We have no existing WinCE or WinMo code bases and do not require other applications on the device.

The device I'm considering using is a Motorola MC3100 mobile computer with a laser scanner, WiFi, and a color touchscreen. I have the option of getting the device with Windows CE 6.0 or Windows Mobile 6.1.

What factors should I consider in making this decision?
Which is easier for the user?
Which would have a better development/debugging/configuration stack?

Best Answer

WinMo is a platform build on CE. Basically it's a new shell and some "special" APIs (none of which you can't do without WinMo, so it's not really magic). WinMo has a defined set of applications, libraries, etc so it's more standardized and if you want to run your app on multiple devices it might benefit you going that way (but in this specific case I doubt it would buy you much).

Unless you have specific need for WinMo, definitely go with generic Windows CE. That way you don't have to fight the WinMo shell and platform all the time. It's certainly easier to get a CE device to behave itself.