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.

Lack Of Software
Windows CE 2 looks carbon copy like Windows 95, but in a touchscreen format scaled to a handheld display. The display of this simulator conforms to 480 by 240 pixels. Theoretically, it should be able to run Windows CE applications as long as those applications are compiled in x86 machine code.

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 higher end HPC models usually came with a huge array of nifty programs for the IT worker on the go to use. Microsoft released portable version of Word, Excel, and Access. This allowed office workers to view and edit there documents on the go. These tools also tended to be much more feature complete than what was available on the Palm. Emails in Outlook could be accessed from the Windows CE device. Contacts and Calendar appoints could be synchronized with the Windows PC as well. Despite the small software library, Windows CE devices quickly justified there value. Of course, there was also Internet Explorer as well. IE on Windows CE didn't have the horrible reputation that its desktop counterpart had. Despite this, the modern web works like complete crap on this old browser. Should anything less be expected though!

Changing Market Place
It's amazing how quickly the handheld market can change in 3 short years. Palm, which wasn't even a thing at the start in 1996, became the tech equivalent of the Roman Empire by the start of 1998. At the time, this was largely regarded as a non-issue for Microsoft. Windows CE was not originally geared towards PDA form-factor handhelds. Microsoft wasn't planning on targeting such devices until later. For the rapidly changing marketplace, later would have to be sooner; a lot sooner!

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.

One can see WinPad's influence on the schedule app for Windows CE. Despite this though, Windows CE on the PDA (through the SDK) felt barren compared to the Palm Pilot. There is a lot to be desired. On one hand, WinCE does accomplish the bare essentials of what a PDA is expected to do. However, the Palm library in 1997 already had hundreds of programs that included screensavers, image viewers and more advanced appoint keepers and scheduling apps (and including dozens upon dozens of games). Windows CE had a lot of catching up to do. It wasn't completely empty though. There is Solitaire!

....Not to mention the Calculator app so one could do 2+2 with there finger or stylus.


Despite there shortcomings, Windows CE was rapidly evolving, and Microsoft got there foot in the door. Windows CE was very well received, and Microsoft had plenty of resources in the bank to give Palm a massive run for there money. Eventually, Microsoft would get it right, even if briefly for a short time before the introduction of the iPhone.

Articles of Interest

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

Popular posts from this blog

WeatherStar 4000 Simulator For Windows (Part 1)

Classic Systems Emulated: Windows 95 (Part 1)

Classic Systems Emulated: Windows 3.1 OEMS

Old Hardware Emulated :Psion Model 3a Emulated On DOSBox Windows

Classic Systems Emulated: OS/2 Version 2.0 On PCEM

Old Hardware Emulated - Windows Mobile 5.0

Old Hardware Emulated : Pocket PC 2000/2002

Old Hardware Emulated :Einstein emulating the Apple Newton (Part 3)

Classic Games Emulated: Revisiting NFS High Stakes Modding

OS/2 Warp 4