Mike Hall builds and debugs a Windows CE operating system for a new device right in front of you. All in less than 10 minutes.
Mike Hall builds and debugs a Windows CE operating system for a new device right in front of you. All in less than 10 minutes.
It _debugs_ in less than 10 Minutes? Does that say *anything* about the quality?
Well I gotta say I used WinCE some years ago on a Handheld, and it was cruel. Don’t know about it now, but heard that Cellphone-Vendors have extreme problems with it…
I’ve completed my second professional project using Compact Framework .NET on PocketPC (which has a custom WinCE).
I must say that or the device or the Operating System basically is VERY unstable.
o. Threading, locking tends to get things very unstable. I don’t recommend using threading at all. But then again, how are you going to create nice GUI’s without threading? Also not that was NOT trying to call GUI things in my threads. I know SWF is not thread-safe.
o. The keyboard-icon is not always on top of all Windows. The only way to get this fixed was to code a dll-file in C and invoke the functions for it in C#. When this keyboard icon dissapears, it renders the application and the device useless (in case the user has to type things).
o. The garbage collector of CF.NET sometimes disposes things that should not get disposed. When you have, for example, a thread that launches some specific function; that function might or might not dissapear from the memory after 10 hours. Try to get applications stable that way.. you can’t.
Try selling it to your clients.. you can’t.
My suggestion for PocketPC development is: Put Linux on it. The customer does not care what the thing is running. The customer wants the application to work. Note that most PockerPC developments are done for giving the user the possibility to do very specific tasks. He wont games that can only run on WinCE. Yet if he does, he can dual boot his PocketPC.
Bleh stupid HTML input textboxes screwed up my post (or I did or, I don’t know). Somebody should create a webservice and a GUI for that webservice to post here.
Hm, PocketPCs can actually dual-boot? Interesting … *turns to Google*
You can do the same thing with QNX, quicker, and much more reliably.
I’ve be coding for WinCE for, oh, 3 years prefessionally. Not much experience but I do well for myself.
I fail to see the importance of .Net CF. Thus far I’ve only used one commercial app made with .Net CF and it was forced upon me by my boss. I did not like what I had to deal with.
The reason why I don’t use .Net CF for PocketPC development is because the old fashion way (win32, MFC) still works. Until every single PocketPC sold and shipped comes with .Net CF I won’t bother. Right now there’s still many people who already have a PPC and chances are they don’t have .Net CF on it yet. Upgrade? It’s a PDA, you keep your addresses and notes on it, it’s not like a desktop workstation that needs to be upgraded yearly. On top of that I’d have to bundle the .Net CF runtime because it’s a dependency. Whereas right now I just package my .exe and support files.
When I first started, back in the days of WinCE 3.0, it was stupid because there were 3 different CPUs being used for PPCs and developers had to test on all 3 and ship binaries for all 3. Now, everything is ARM or ARM compatible (XScale). So that’s not a problem anymore. If I be careful with what system routines I use, my program can run on any Windows OS for PocketPC.
I guess my bottom line is, putting Linux on a PocketPC is NOT the answer to PocketPC development. Contrary to what you might think, the customers DO care. How many people do you think actually run Linux on their PPCs right now? I know they’re out there, but you’re going to have a hard time selling your application. A customer will not go and reinstall an OS on their PDA just for one app. If you were a solution provider where you provide both hardware and software this might be doable, but it is absolutely not acceptable when you’re writing software and selling it to end users.
More importantly, you lose out on the benefits of using ActiveSync. ActiveSync isn’t like Palm’s HotSync where communications between the desktop and PDA happens based on an event. A desktop application can connect to the PDA via ActiveSync and have real-time access to the filesystem, process list, database access, and anything else that ActiveSync offers.
I think everyone here talking about PocketPC is missing the point. What they’re discussing is (probably) putting WinCE on some custom embedded device thingy (i haven’t seen the video, though).
You didn’t actually watch the video then, or you’d have seen that Mike was building a CE image for an x86 reference board and that the OS also supports other x86 processors like the AMD Geode
Build and run in ten minutes?
The platform builder comes on 4 CDs, and all are chock full of 1 kb files. It takes about 3 days for the installer to copy over the builder tools! Well so I exagerate.
I’ve being using EVC3 for nearly 3 years in an industrial environment. No stability issues with threads, although there are many well known caveats, to be avoided like the plague when it comes to sync objects. My machine display app has never crashed in the production environment. So I’ve got to say it does the job. Today we upgraded to 4.1 purely to fix a platform issue. (don’t ask why it’s .1) but we get V5 for free when it arrives after summer. No intents to use .net. Who would be silly enough to do that?
Well I use SH4 and it runs on all versions of Wince. I also have a 300Mhz geode running wince. X86 wince devices are very common in the industrial environment (HMI’s etc) probably due to the totally read only file system capabilities, rather than use full fat windows.
Kinda hard to tell without audio commentary, and no I’m not good at reading lips!
Ok, so we’re not talking about PocketPCs, we’re talking about WinCE as an embedded OS in and of itself. But my first post was just to debate with Philip Van Hoof about PocketPC/WinCE development.