views:

527

answers:

8

im building an interactive portable ad campaign device (x86 platform) with touchscreen and stuffs. which is better OS for the device, Win CE or Win embedded standard (XPE). i need to provide support for multimedia platform such as Flash for easy ad development.

thanks.

+2  A: 

Windows embedded is generally easier to develop for - it's just desktop WindowsXP with a few bits removable.

WindowsCE is more involved. In fact if you are aiming at CE and doing more than a simple VB forms type app you might want to look at linux+qtopia or even Android

Martin Beckett
im more into windows environment, apart from licensing does windows embedded demand higher hardware spec than winCE?
Sorry only done CE on other people's handhelds. XP and NT embedded on SBC is easy
Martin Beckett
Windows Embedded isn't really just Windows XP wih a few bits removed. It's Windows XP with whatever bits you (the developer of the device) don't need removed. You get to decide what's in and what's out. It also has a few extentions/features tailored to the device market.
Michael Burr
I should have said removeable - the point is that XP embedded isn't fundamentally different from developing for the desktop
Martin Beckett
+4  A: 

If you get Windows Embedded Standard, I can tell you from experience that it is easy to set up as a more-or-less full-featured Windows XP installation. This means that you'll be able to install pretty much anything that would run on a normal WinXP desktop - and if it can't run, you usually can just get it to run by figuring out which component you haven't installed yet. This would be a very good feature to have if you need things like Flash.

I'm not so sure about WinCE since I haven't used it, but I had the impression that the available programs for it were very restricted -- that would probably be the biggest downside.

As far as licensing goes, you're looking at a thousand dollars for the WES license, plus $90 for each WinXP license. Getting all the licensing stuff set up is a hassle because you have to go through distributors for both the WES software and the keys, and there's only 4 distributors in the US. You can get a WES demo that's good for 4 months, and you can generate an unlimited number of "demo" XP installs that last 90-180 days (their numbers, not mine). That's a very gracious amount of time for testing out whether WES suits your needs or not.

I have no idea what the overhead costs are for WinCE either.

Mark Rushakoff
thanks, hte licensing costs is very helpful but i still need some insight on wince as well
+1  A: 

If you have a fully fledged x86 system without limitation, low power requirements or interfacing with embedded hardware as I seem to understand from your application then WinXP would win hands-down for me. WinXP has the horrible boot sequence and more venerable to security attacks but as this is not a hand-held consumable product I think I'd live without WinCE's finesse.

Your application, and the ad campaign in particular, are more important than many of the features of the OS, so I'd pick the most straightforward OS to develop on where the development OS is very similar to the target OS.

I would suggest a slight alternative to WinXP Embedded Standard. I would suggest "WinXP for Embedded Systems" (WinXP FES) which is marketed as "Windows Embedded Enterprise". This is the full version of WinXP (as you used to have on your desktop) fully supported to 2016!

The reason I'd suggest WinXP FES is for reduced upfront costs in development tools and development time, faster time to market and with the likely number of units the few extra dollars per system is not likely to be of an issue.

WinXP FES is not available through normal retail distribution (as WinXP has been discontinued), but is available though the embedded channel, the same place as you'd get WinCE and Windows XP Embedded Standard.

For those that do not know you'd need to fill out a declaration that the embedded device will not be used as a normal desktop computer doing office type functions. As long as you can demonstrate that the embedded device is not packaged as such then you'll typically be allowed to license WinXP FES.

Follow the registry hacks in this presentation to set the boot logo image, booting without the "Desktop" into your application (Kiosk Mode), suppressing pop-up messages etc. to make WinXP look more like an embedded OS.

Rhys
+4  A: 

Windows CE is

(+) Much cheaper. A few $. If you are planing 100s of devices this is a big factor.

(-) Not as easy to develop against, but the Windows API & .NET are mostly the same.

(+) Considered less vulnerable to viruses / hackers.

(-) Lacking fancy stuff (like WPF, silverlight, good webserver/webbrowser).

(+) Lighter, runs on less memory and slower CPU.

Both XP embedded and Windows CE can be built using tools that allow you to add/remove components from med OS making it possible to trim it to your requirements. Most developer probably never does this but rather use what is "factory default" delivered with the hardware, or let the hardware guys make a custom made image for you.

If you are only doing a few devices, XP embedded is the right choice.

mliesen
+1  A: 

Just to add my 2 cents:

I've been working with Windows CE for 2 years now and haven't found a free solution for Flash. Not even an open source library. I am not sure how many companies out there sell Flash solutions for Windows CE and what the price is. (The only company that I know of and saw that have a solution for Flash is BSQUARE, but I don't know the price)

Bottom line is that XPE will give you way faster time to market. And it might result in a plus minus same price if you put into the equation the time and license for the Flash you will need for Windows CE (Not sure about that...).

Shaihi
A: 

Why have you narrowed down to those choices? WinCE typically runs on much more highly constrained (and less expensive) hardware, and will run on multiple architectures. XPe on the other hand runs on x86/PC hardware only.

WinCE has hard real-time capability - having a deterministic scheduler and interrupt latency.

So I would suggest that the decision would be determined by what hardware you wanted to run on and whether real-time is an issue.

Other considerations might be Linux, or QNX Neutrino, both of which support Flash. The latter would certainly be more robust that XPe, and give better real-time performance than WinCE.

Clifford
A: 

Your description of the device is a little light to make a recommendation. So I will offer you my experience of the differences between the OS choices you listed.

Windows CE Although it offers a "limited" version of the Win32 API and run the Compact Framework version of .Net, it is a reasonably complete development environment. If you start development targeting the platform you should not run into many problems. Licensing is very reasonable (about $10/copy). It is available for a number of different CPUs.

Windows XPe The promise of Windows XPe is that you get full Windows in a smaller package. The trick is that the smaller package involves leaving some part of Windows behind. Many people find that they end up with essentially all of XP in order to support the parts of XP they want to use. Windows XPe only runs on x86 processors. Licensing is similar to desktop Windows (about $100). On the plus side desktop applications should run on it without changes.

As a note, neither of these are regular Windows and despite Microsofts marketing champaign's, you should be prepared to spend some time to learn about the OS you choose. Better yet look into a consulting company in your area that can walk you through the first deployment.

Finally, a comment on Linux. We looked at Linux as well. We did end up choosing Windows Embedded CE, but it was close. We had several people on staff that were already familiar with Linux (while others were already familiar with CE). Initially we had better performance with Linux, though we were able to get comparable performance from Windows Embedded CE. Our product is shipping now and performing very well.

Pat O

Pat O
A: 

Does Windows Embedded have the capability to restrict installation of applications to only those that you provide and digitally sign with a specific certificate, i.e. no third-party apps, just the ones you as the device manufacturer issue? I believe it does, but in poking around I could not find anything that definitively said it did.

Mike Kelly
Yes, you can do this with either Embedded Standard or Embedded COmpact. THis really should be a separate question, not an "answer" to your original.
ctacke