Old Hardware Emulated : MS SDK's Simulating Windows CE (Part 1)

 

Establishing Context

There is one thing that we need to get out of the way..........Microsoft didn't create WinCE as a response to the success of the Palm Pilot. The research that would eventually result in WinCE was several years in the making. Microsoft was doing it's own research into handheld operating system independently of Apple and Palm Computing.

In The Beginning

In 1989, Atari released the Portfolio, which was a handheld palmtop/clamshell PC. Yes, this was a actual handheld PC as the portable computer was literally a IBM PC/XT Compatible PC. The machine had a CMOS variant of the Intel 8088 Processor running at 5MHz, along with 128KB of RAM, and a 240 by 64 pixel LCD display capable of a 40 by 8 character display. The Portfolio had MS-DOS 2.11 in ROM. The Portfolio had a retail price of $400 in 1989, which is the equivalent of $824 in 2019.

The Portfolio showed the limitations of a PC environment on a handheld device. MS-DOS, which conforms to a 80 by 25 character display, didn't scale well on the 40 by 8 display of the Portfolio. Even if the environment did scale, MS-DOS would have been a poor choice as character-based environments never really worked on handhelds. This wasn't a issue back in the day before the processing power to run graphical environments became available. However, when such environments became viable options for handheld platforms with the processing power to run them, many rapidly ditched text-based environments for there graphical counterparts.

On one hand, the Portfolio was a very intriguing demo of what was capable on a portable device of its day. However, a demo is still just that, a demo. The Portfolio was too lacking to be of any use for a typical desktop PC user of the day. Around this same time, A company called the Poqet Computer Corporation released the Poqet PC. This machine was basically the Portfolio on steroids. On a similar form factor, the Poqet PC sported the full 80 by 25 character display that MS-DOS conformed to. The handheld PC also had a 7MHz CMOS variant of the Intel 8088, along with CGA graphics support and 640KB of RAM. The Poqet PC had MS-DOS 3.3 in ROM and additional storage provided via PCMCIA storage cards plugged into the appropriate slot.

While such a device was much more worthy than the Portfolio, the Poqet PC was several times more expensive. In 1989, it retailed at a price of $2,000, which adjusted for inflation, would be $4,175 in 2020. That is a crap-ton of money! Needless to say, this device didn't do that well in the market place and finding only a very niche audience. Even when MS-DOS is scaled to it's normal display settings, the text-based environment didn't scale well on a small handheld. Despite this, unlike the Portfolio, the Poqet PC was fully IBM PC Compatible, one could could carry around a PC capable of running Lotus 123 or WordPerfect in the palm of there hand. It was a amazing feat that Poqet achieved despite it's high price. Neither the Atari Portfolio or the Poqet PC or the vast majority of the palmtop/clamshell PC's of this time had touch-screen displays.

Windows For Pen Computing
Microsoft scaled MS-DOS to a palmtop design. As a result, it only seemed natural for the Redmond giant to scale Windows down to a tablet and touch-screen design as well. What resulted was Windows for Pen Computing, which is basically Windows 3.1 with touch-screen support. This product was sold for the GRiD Model 2260 and GRiD PadSL Model 2050 computers, according to WinWorld. 

The GRiD tablets were based on the CMOS variant of the Intel 386 processor. The Model 2050 used a 20MHz version of the processor while the 2260 used a 25MHz version of that processor. The Model 2050 could accommodate up to 20MB's of RAM and supported hard-drives up to 120MB's. The most notable feature of the GRiD tablets was the touch-screen display that ran in VGA mode in 32-color greyscale (2050) or 64-color grayscale (2260). Despite this ground-breaking technology, these devices had flaws in them. 

The Model 2260 Convertible had a metal case that made the tablet heavy. Regular holding of the tablets would result in fatigue. With a price tag of $3,000, the machine would find little success in the open marketplace. Despite this, there was a massive niche audience for these tablets as many saw instant value in the technology in regard to instant recording keeping on the go. GRiD landed a massive government contract, and these machine were embraced by many government workers and the military. Due to the text-recognition software and hand-writing abilities, the tablets were embraced in record-keeping departments of several Fortune 500 companies and some police departments as well. The hand-recognition software was created by Jeff Hawkins of Palm Pilot fame.

While it was a noble experiment, Windows, and desktop environments in, generally didn't scale well on touchscreen interfaces. One usually is much more precise when using a mouse than they are using there fingers. As such, desktop environments like Windows and MacOS could use small buttons due to typical users having really good control with a mouse. 

Typically, a user has a lot less control when using there bare fingers or a stylus. As such, a touchscreen interface compensates by making the buttons and controls in that interface bigger. Despite Windows for Pen Computing not taking off, it continued to evolve as it's features would later be incorporated into XP as Windows XP Tablet PC Edition before being included in Vista and the later Microsoft OS's.

Windows for Pen Computing also provided the notes for the Microsoft software designers on how to proceed with there up-and-coming OS for handheld devices, Windows CE.

Microsoft WinPad
By 1992-1993, Microsoft was doing a lot of research into touch-screen user interfaces. While the early palmtop PC's running DOS and the GriD machines contributed into this research, WinPad was a direct influence on what would become Windows CE. This program was a planner/appointment keeper, notebook, address-book, and a to-do lister all-in-one. This program could accept input from a stylus on supported devices. The WinPad SDK was available for Windows 3.1 and 95, and even shipped with a few beta version of Windows 95. The screenshot below shows WinPad running under Windows Chicago Build 73g from November 1993. 

The WinPad application was specifically designed for tablet users, and abandoned the desktop metaphor for one that tablet users could get behind. One has to remember that the expectations of tablets and handhelds in 1994 were completely different than in 2004 or 2014. Tablets didn't have the capabilities for audio or video playback, and as such, people didn't expect tablets to pull off such feats at that time. What tablets were expected to do was keep appointments, store addresses, and jot down notes. Tablets were not generally expected to do more than this. 

While WinPad never shipped as a standalone OS, it was a direct influence on Windows CE.

WinPad running under Windows Chicago Build 73g from November 1993. Chicago is the codename for the beta versions of Windows 95. This beta shipped roughly about 1 year and 9 months before Windows 95 went gold. Also, I forgot to set the time in the BIOS. This is why WinPad is showing 1980 as the current year.

Windows NT and Codename Pegasus
Windows Pegasus, the code name for Windows CE 1.0, would be the underlining OS that the WinPad-influenced OS would run on. The early design goals of Pegasus were very remarkable for it's time. When it comes to the OS design, Pegasus was heavily influenced by Windows NT. Before NT, most consumer OS's were coded in assembly machine language, like DOS and the 286 versions of IBM/Microsoft's OS/2. This was done to compact the code in as much of a small space as well to giver the OS a small footprint. Programs and OS's written in machine language also consumed less memory than there higher-level counterparts. However, coding in machine language was difficult, and that code was tied down to that particular processor, making it next to impossible to port that OS or application to different CPU architectures.

During the 90's, several different CPU architectures started to hit the market. Sun Microssystems had the Sparc CPU, while DEC had the Alpha. The MIPS RISC and ARM processors became a thing along with the PowerPC CPU that IBM produced with cooperation with Motorola. Oh course, the desktop PC market was dominated with the Intel processors like the 486 and the newly arrived Pentium CPU's. AMD was establishing itself as a very formidable competitor to Intel during this time, with it's offerings finding there way into many desktop PC's. The Dec Alpha, MIPS RISC, ARM, and PowerPC CPU architectures had completely different CPU instructions  sets compared to Intel/AMD x86 processors. How does one go about and create an desktop PC OS that can on these various CPU architectures.

The Windows NT approach was to code everything in a higher language. For NT, this was C++. This language was mostly platform agnostic, with the only part that needed to be machine specific was the C++ compiler. Only a small portion of that code need to be re-written to run on a particular architecture. Not only that, the only parts than really only needed changes were some of the OS services and the OS kernel itself.

As a result, Windows NT was written mostly as a micro-kernel OS while taking certain aspects of a monolithic kernel. NT's OS design was mostly referenced as a Hybrid kernel. Under a monolithic kernel design, the OS does everything. The screen-display, the user interface, sound support, multitasking, multi-threading, and file-system features were handled by the kernel itself. Under a micro-kernel, the kernel acts as a simple boot loader while the features mentioned above act as separate modules, ie. subsystems, that could plug into the kernel. They could be programmed independently of the kernel.

This made Windows NT very modular and portable in design. With a very minimal effort, Windows NT was portable across various CPU architectures using completely different CPU instruction sets. The development of Windows NT is greatly documented in the book "Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft", which is a highly recommended read.

There was a massive trade-off though. OS's and programs written in C++ typically consumed a lot more memory and disk space compared to there assembly language counterparts. Windows NT was a very demanding OS at release. While it technically could run on a Intel 386 processor, it really recommended a 486 for adequate performance.

Within the handheld universe, virtually all OS's were written with a monolithic kernel, including PalmOS. Under PalmOS, the OS handheld everything. While this gave Palm a early advantage as it scaled well on very limited hardware; it would have massive issues in the future as adding new features meant modify the OS kernel, which affected system stability and compatibility.

Microsoft's new OS for handhelds, with its design heavily influenced by NT, needed a name. Codename Pegasus would be called Windows CE. According to the Redmond Giant, CE isn't a acronym for anything. However, words like "Compact", "Connectable", "Compatible", and "Companion" could be used in conjunction with the word "Edition" following it. For those who are big into buzzwords starting with C, there were endless opportunities for one to create there own acronyms. Within certain Palm circles, CE was a acronym for Windows "Crap Edition". It provides a general idea of how Palm users felt about Windows CE.

The Windows CE hardware design was very ground-breaking for it's time on handhelds. The kernel development could happen independently from the other subsystems. Windows CE got features that most early OS's could only dream of, like multitasking and multi-threading support, along with memory management and protection. Making modifications to these subsystems could occur without affecting the kernel. As such, it made Windows CE much more convenient to manage.

Despite this, all of these features did come at a price. Windows Pegasus, which was written as a micro-kernel OS, would inherit the same flaws as NT as it was, by handheld standards, very demanding, and thus needed demanding hardware to run the OS. The OS kernel and those extra subsystems needed the hardware in order to run them adequately. Windows CE was far more demanding than monolithic OS's like PalmOS. According to Wikipedia, these were the hardware requirements for Windows Pegasus:
  • A pocket form factor; size should not exceed 18x10x2.5 cm (7x4x1 in)
  • Power supplied by two AA batteries
  • Weigh less than 500g (1 pound)
  • QWERTY keyboard containing standard keys Ctrl, Alt and Shift)
  • LCD touch screen display of 480x240 pixels with 4 grayscales and 2 bits per pixel
  • Stylus to use like a mouse on the touch screen
  • Minimum of 4 MB of ROM
  • Minimum of 2 MB of RAM with a redundant power source
  • HPSIR compatible Infrared port
  • RS-232 Serial port
  • PCMCIA slot
  • Built-in audio output device
  • Run on the SuperH 3, MIPS 3000 or MIPS 4000 processor architecture
Such hardware was very expensive for it's time. Even though a few OEM's signed on, no Pegasus devices never actually shipped. However, the groundwork had been laid. CE 1.0 was eventually shipped by a few OEM's like NEC, Casio, and HP. However, these devices mainly shipped in Japan as the test market. Few made there way to North America as Microsoft had already acknowledged that CE 1.0 had usability issues that have been corrected in WinCE 2.0, which was just around the corner. According to Microsoft Fandom, around half a million Win Ce 1.0 devices shipped, which was not bad at all for a new platform with no prior history.

Why The Windows 95-ish Interface
Windows CE was written with the WinPad interface in mind. The development of WinPad started shortly after Windows 3.1 shipped. Since the desktop metaphor didn't translate well on a tablet interface, WinPad was going to be its own thing, and not conform to the desktop offerings from Microsoft. 

Why Microsoft went with a Windows 95-ish user interface on a touch-screen device is baffling. Since Bill Gates was a software engineer himself and knew about software design, he would have recognized the design flaws of incorporating the Windows 95 interface on a touch-screen interface. The Windows 95 interface had even small buttons and controls compared to Windows 3.1. These controls that would have been very hard to tap on using a tablet interface. One could only speculate.

One could speculate that Bill Gates the businessman and not Bill Gates the software engineer dictated the move. At the time that Pegasus was being finalized, Windows 95 was released, and it took the world of computing by storm. Microsoft was practically printing money with the two cash cows, Microsoft Windows and Office. As such, any new product that Microsoft created became vehicles to drive Windows and Office sells.

This mindset provided great benefits in the short term, but greatly stiffed creativity and innovation in the long term. One won't concentrate on new technologies, innovations, and changing computing trends if one is more consumed riding the gravy train . Microsoft was more concerned protecting Windows and Office sells than seeing what would play out.

It was a odd time. Apple was going through really rough times, while Microsoft was seen as the cool kids on the block. Most millennials that have only known of a successful and awesome Apple would scratch there heads at the idea that the same company that created there beloved iStuff today was on the verge of collapse by 1996/1997. In fact, Microsoft provided a cash injection to keep Apple afloat. Not out of the kindness of there hearts though. A bankrupted Apple would result in the US DOJ (Department of Justice) declaring Microsoft a monopoly and breaking up the company. It was in Microsoft's best interest to keep Apple alive. Despite that though, Microsoft never expected Apple to recover. Nobody did. Apple was the laughing stock of the computer industry in the middle 90's/start of the 2000's. However, it would only be a matter of time before Apple got there act together and started to make the Redmond giant look silly on a regular basis. A shame as Microsoft was actually at the forefront on many technologies before Apple took the lead. Microsoft could have pioneered MP3 Players and e-Readers before Apple or Amazon got in on the act. The pursuit of that desktop monopoly would cause corporate Karma to come around eventually and punish the Redmond giant for there abusive actions many years later. Various Microsoft projects suffered at the hands of those that were more concerned with protecting Windows and Office then bring new tech innovation to the forefront.

Windows CE would suffer as the Windows 95-ish interface would be made default on these devices and those in the future. Despite that, Windows CE was very capable and had awesome features since day one. Not only that, Microsoft heavily invested in the platform and its services. As a result, Windows CE had no issues working with the Microsoft services. One could edit there Microsoft Office documents on the go, manage a SQL database on the go, or manage network resources from a Microsoft-operated network on the go. Even in the earliest of days, Microsoft understood the needs of IT workers like the back of there hand.

Articles of Interest

Wikipedia : Atari Portfolio - https://en.wikipedia.org/wiki/Atari_Portfolio

Wikipedia : Poqet PC - https://en.wikipedia.org/wiki/Poqet_PC#Classic

Wikipedia : Windows For Pen Computing - https://en.wikipedia.org/wiki/Windows_for_Pen_Computing

Wikipedia : GRiDPad - https://en.wikipedia.org/wiki/GRiDPad

Wikipedia : Windows Embedded Compact - https://en.wikipedia.org/wiki/Windows_Embedded_Compact

Wikipedia : Windows Mobile - https://en.wikipedia.org/wiki/Windows_Mobile

Wikipedia : Windows NT - https://en.wikipedia.org/wiki/Windows_NT

Vanity Fair : MICROSOFT’S LOST DECADE : https://www.vanityfair.com/news/business/2012/08/microsoft-lost-mojo-steve-ballmer

PCWorld : The 10 Most Important Laptops of All Time - https://www.pcworld.com/article/132605/article.html?page=2

Microsoft Fandom : Microsoft WinPad - https://microsoft.fandom.com/wiki/Microsoft_WinPad

Microsoft Fandom : Microsoft Pegasus - https://microsoft.fandom.com/wiki/Microsoft_Pegasus 

Microsoft Fandom : Windows CE 1.0 - https://microsoft.fandom.com/wiki/Windows_CE_1.0

Beta Wiki : Microsoft WinPad - https://betawiki.net/wiki/Microsoft_WinPad

Windows for Pen Computing 1.x - https://winworldpc.com/product/windows-for-pen-comp/1x

Microsoft WinPad SDK 1.x - https://winworldpc.com/product/microsoft-winpad-sdk/1x

the Inflation Calculator - https://westegg.com/inflation/

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