Old Hardware Emulated : MS SDK's Simulating Windows CE (Part 2)
Windows CE 2.0
On September 1997, Microsoft released Windows CE 2.0. There have been many improvements made in this version as the Redmond Giant received plenty of feedback from the users that tried CE 1.0. Most of these changes made have been within the realm of usability and making the WinCE devices more usable with a typical consumer.
Like Pegasus and CE 1.0, 2.0 was largely geared towards the HPC handheld devices. HPC, or handheld PC, were a form of palmtop/clamshell computers made by various companies like Sharp, Casio, NEC, and HP. The new version of Windows CE was very well received on these devices.
Like Palm and Apple, Microsoft released a SDK for software developers to write WinCE specific applications. These kits included device simulators that allowed developers to test there applications without needing a actual device. Again, this isn't that different from what Palm was doing at the time. However, at this point, it should be noted at a simulator and emulator are different.
The Palm SDK included a device emulator. A emulator is a program that imitates the actual device and its hardware, and not just the user environment. It imitates the actual CPU architecture, memory structure, display, other hardware, and uses the actual firmware that a real Palm utilized. This provides a full environment for Palm developers to test out there applications accurately.
A simulator, as in the case of the Windows CE
2.0 SDK; only imitates the user environment itself. Simulators don't
imitate a specific CPU architecture, and uses the native processor in
your computer. There is no firmware as the simulator acts more as a
runtime running on an "imitation" of the OS, rather than a complete
system.
Emulators do have the disadvantage as they tend to be
slower than a simulator because the program is emulating the complete
hardware, CPU, and OS of the particular platform. This is in sharp
contrast to simulators which tend to be much faster as they only provide
an imitation of the user environment while using the native CPU in your
computer without translations. However, simulators can only run
programs that were specifically compiled for that environment, whereas
emulators can run general applications supported on that platform.
Despite the performance benefits of simulators, emulators are still
preferred as they provide a complete environment as they tend to be much
more accurate and stable instead of a "imitation" environment. Later
versions of the Microsoft WinCE SDK ditched the simulator for an
hardware emulator.
Despite that, the SDK's do provide a good
depiction of what the Windows CE was like. Usually, Microsoft Visual
Studio worked in tandem with the SDK as developers use to those tools
could write WinCE applications using either C++ or Visual BASIC as the
programming languages.
I created a XP virtual machine with VMware Player just for the purpose of trying out these early SDK's. Even though the SDK's were designed for Windows NT 4.0, they have no issue running under XP.
This is where the 800 pound elephant in the room needs to be addressed now: there was a massive lack of applications for Windows CE. 3rd party programs for the early versions of Windows CE were hard to come by, and those few programs were usually compiled for the ARM version of Windows CE, which is what virtually all OEM's shipped with. As such, the only software that I could try out was those that were included in the SDK itself.
There were a few reasons why they were far fewer programs for Windows CE compared to Palm OS. In order to write Windows CE programs, one needed Visual Studio along with the SDK as well. On one hand, Microsoft has been very generous in making there developers tools easily accessible for those that wanted it. However, installing Visual Studio 6.0, along with the Windows CE SDK, consumed massive amounts of disk space. This also required the developers to have decent knowledge about Visual Studio. There was plenty of MSDN documentation as well that needed to be installed as well. The Palm SDK in comparison was a lot more lite-weight, and presented a much lower entry point for a independent developers to join. Installing all of Visual Studio and the SDK's to development Windows CE applications seemed like a bit of overkill for an independent mobile developer.
With all the software developers writing for the Palm Pilot, Windows CE would continue to feel empty for awhile. In later years, Windows CE would gain a healthy following as various software developers would join its ranks. Also, because those using Visual Studio tended to be heavily infested in Microsoft technologies, Windows CE typically got tools that were much more geared towards IT and database management. This is a sharp contrast to Palm were most of the programs available were recreation in nature. Windows CE would take on a very professional image as IT workers would define its use. The corporate environment embraced it over the Palm. With the platform geared towards Microsoft services, one could successfully argue that Windows CE didn't need a massive software library anyway.
The HPC handheld PC's were typically much more expensive than their Palm counterparts. This was largely due to the incorporation of much more powerful ARM processors, bigger display, larger ROM chips to store the OS, and the RAM needed to support Windows CE. WinCE demanded much more computing power compared to Palm OS. At the time (and before the success of the Palm Pilot), palmtop PC's and PDA's could peacefully coexist. However, Palm Computing completely rewritten the rules, and devices that weren't Palm Pilots or PDA's began to suffer in the marketplace.
The palmtop handhelds were always niche devices to begin with, but would only become even more niche as the Palm cloud cast a giant shadow over its competitors. Microsoft would need to adapt Windows CE to the PDA form-factor quickly or it was going to be left behind in a tidal wave of Palm Pilots. The first attempts of a new device never go well. This was the case with Windows CE 1.0, and this would also be the case in the first PDA versions of Windows CE.
Wikipedia : Windows Embedded Compact - https://en.wikipedia.org/wiki/Windows_Embedded_Compact
Wikipedia : Windows Mobile - https://en.wikipedia.org/wiki/Windows_Mobile
Microsoft Fandom : Windows CE 2.0 - https://microsoft.fandom.com/wiki/Windows_CE_2.0
CNET : Microsoft releases Windows CE 2.0 - https://www.cnet.com/news/microsoft-releases-windows-ce-2-0/
the HP Palmtop Paper Online - The Windows CE 2.0 Operating System - http://www.palmtoppaper.com/ptphtml/36/pt36001b.htm
Beta Wiki : Microsoft WinPad - https://betawiki.net/wiki/Microsoft_WinPad
Microsoft WinPad SDK 1.x - https://winworldpc.com/product/microsoft-winpad-sdk/1x
Comments
Post a Comment