Testing CE is strange.  I spent my first 7 years in testing working on products that my mom could use – stuff I could see on a shelf in a store.  I worked on products that consumers used directly, so I often worked with the “could my mom figure this out” mantra when it came to usability.

My mom doesn’t buy Windows CE.  She may buy a PDA or phone or router or sewing machine that uses CE as the underlying OS, but in most cases the operating system is hidden from her, and she only sees the software added by the OEM for that particular device.

When we “ship” CE, we release all the bits you need to create just about any embedded device, along with tools to help a device manufacturer put them together.  Depending on the end goal, there may be only a small amount of work to do, or there may be quite a bit to do in order for the manufacturer to get the CE based device to market. 

This is where the big difference is.  CE is the highest quality software I’ve ever worked on, but what we release is only 80-90% of what end users see (these numbers are estimated by me - in some cases I know we actually deliver nearly 99% of a solution, and in some cases, we likely deliver much less).  The main point is that no matter how rock solid the OS is, perceived device quality will be low and/or devices will never get to market if we don’t enable our OEM’s to deliver a high quality 10-20% solution on top of the OS.

I’m not saying that our OEM’s don’t have quality as a priority – they definitely do.  My opinion, in fact, is that if an OEM delivers a low quality CE based device, or fails to get a device to market, that it’s my fault.  In addition to a reliable, secure OS, we need to deliver tools that enable manufacturers to easily create reliable, secure CE based devices.

I’ll follow up next week with some of the work we’ve done in this area.