Advocacy

  Myths
  Press

Dojo (HowTo)

  General
  Hack
  Hardware
  Interface
  Software

Reference

  Standards
  People
  Forensics

Markets

  Web

Museum

  CodeNames
  Easter Eggs
  History
  Innovation
  Sightings

News

  Opinion

Other

  Martial Arts
  ITIL
  Thought


MacOS and Windows Evolutions
Learning the facts about Operating System Evolution

By:David K. Every
©Copyright 1999


While it is true that Windows definitely had more "suck" factor when it started, it is a fallacy that the Mac has not evolved more (or evolved better), though evolution is a complex thing. Evolution is good and bad. It is bad when people want revolution (major change) -- but it is good to make things better. Remember the goal of evolution is not change for changes sake -- the goal is improvement. So sometimes fewer evolutions are better (since they show one proper path), sometimes multiple evolutions is better since there are stages in the process. Here is my take on how things evolved in Interface, Software and Hardware.

Interface

The Mac User Interface (UI) started off better (thousands of times better), so there was less need for evolution. Windows was so bad that Microsoft basically had to keep scrapping old behaviors and metaphors and replacing them with new ones until they got it usable -- the conclusion was something that looked more like the Mac than the original Windows. People noticed Microsoft changes because they were inconsistent and dramatic -- but the goal of good interface is consistency and nice smooth (subtle) evolution. This is why many think the Mac's "look and feel" is the same as it was 15 years ago -- almost nothing actually is the same, it has just grown consistently so that people don't notice the changes.

MacOS
PCs (Win98)

Mac OS started as a simple Black and White interface, with a 512 x 384 single monitor.

PCs started out monochrome displays -- but by the time of the Macs release they had color high resolution graphics (so we should start there).

The Mac evolved quickly and easily to a graphics standard that allowed many resolutions, full color (with features like color matching), multiple displays, and so on. It was all pretty painless, and almost completely transparent.

PCs didn't use their graphics well before Windows becauase they didn't have an interface to take advantage of them. The PC made great strides going to a GUI -- unfortunately, the transition to Windows (from DOS) was painful, lots of bugs and incompatibilities and took years (decade) to migrate.

Remember, the Mac just evolved once (nicely). From limited resolution to a virtual desktop that allowed for many size screens, color depths, and so on. There was a minor hurdle to get to color (some Applications hadn't paid attention to the rules, and so broke) -- but once the transition to Color QuickDraw), everything just worked -- and continued working. The majority of Apps never broke and things kept working -- despite tons of evolutionary steps in hardware. Users hardly noticed at all.

Windows (PC) evolution on display sizes, resolutions and color depths has been far more painful. It has really been a collection of modes -- MGA, CGA, EGA, VGA, SVGA, XGA and so on. Each mode has all the other modes in it and different resolutions and depths (some requiring Application or System updates), and some things kept forcing you to drop back to an older "mode" to work. Each version of Windows is different and requires some retraining. It was anything but smooth and painless.

Many controls, dialogs, windows, menus and other visual elements just worked. Apple laid them out, and then later tweaked them for color, but they were there and evolved smoothly. It works so smoothly that people don't realize how much has changed. Changes were usually additions -- like adding a control (not moving one or changing a behavior). This is smooth and good evolution.

What controls looked like, how things behaved, where they were placed and the entire look and feel kept changing for Windows. There are many partial interfaces in Windows (Win1, Win3, Win95, and a pseudo newer tweaks). There is lots of change and not really in any one direction -- it jumps around, and gets mixed up (there are pieces of previous look and behavior that pop up in all their inconsistant ugliness). This is bad (rough) evolution.

Red text is who has evolved more, better or smoother

Of course this is just a sampling of UI evolution, and there are many more examples. But this should give you the idea. The Mac evolved a lot in interface, but usually smoothly. Windows jumped around and had false starts -- changing, then changing again -- and it still hasn't evolved to anything that is "as constant", "clear", "simple" or "elegant" as the Mac -- though there are lots of annoying gimmicks (like animated menus that slow down productivity, and the like). Many of the ideas on Windows were on Mac first, so the Mac out evolved Windows (PCs) when it comes to interface.

Software

Software Evolution is another form of evolution. Again, Windows is not nearly as sucky as it was in the past -- so it has evolved a lot. But the Mac has evolved as well (in dozens of ways).

MacOS
PCs (Win98)
Networking

The Mac had no networking and very quickly evolved to a platform standard (AppleTalk / LocalTalk), that was not very fast, but very easy to use and setup.

PCs started out with the goal of being a network terminal (by IBM). Despite that, networking evolution was slow and painful -- and there were many funky competing ways, which took years to smooth out.

AppleTalk / LocalTalk gave way to Ethernet (EtherTalk), which again, just worked. You could use either, and mix them in a company. This sped things up, and Ethernet became a standard on the Macs very early.

PCs had a few proprietary solutions, like Novell or TokenRing. Later there was a transition to standardized hardware but it took longer for the software to get standardized. Things worked, but it could get pretty complex. Many pseudo standards were obsoleted -- and networks had to be redone.

The Mac went through many protocol stacks. Most of these were transparent to the user (AppleTalk to MacTCP was painless), but some weren't. The transition to Open Transport was about as painful as some of the PC transitions. Now there is another transition coming. In general the transitions were smoother -- but more of them. It is hard to say who was better, each got some features sooner or better than the other.

WinSock became the platform standard protocol (which was borrowed from UNIX with some proprietary stuff added). It worked and has been there since. It isn't as versatile as Streams (Open Transport) but is more common, and there has been less shifting in Windows, and some superior features and performance -- but performance for some things have leapfrogged each other (back and forth) as well.

Scheduler / Kernel

Mac started with a very simple scheduler. In some ways it didn't progress much at all. It got cooperative multitasking, and stayed that way. (Consistent). In other ways Mac OS could be run on Unix (A/UX, MAE), but that wasn't used much. Now there looks to be a single transition going from old style to new style (OS X and UNIX), but it has taken a long time, and there was some time while the scheduler has been long out of date. Of course the system was usable all this time, and the MacOS had some advantages over mainstream Windows (like MP support) -- but for about 2/3 the history the Mac was slightly ahead, and about 1/3 the time Windows was.

Windows started with a hybrid (Cooperative/Preemptive) scheduler. It was unusable because of memory issues for a long time. It evolved to a more Preemptive style (Win95) and got some advantages over the Mac. Of course there was 10 years before that where the Mac generally multitasked better -- and Win95 (and 98) are only steps towards the true goal, to get people to shift to WinNT. This transition started 5+ years ago, and is still not complete (probably 5 years more). So the Mac is behind on some things, but I think the transition will be smoother, faster, and one leap, instead of Windows little fragmented leaps (each with lots of little problems).

Filing System

Mac Started with a very primitive filing system (MFS) designed for a 400K floppy Disk (with no Hierarchy). This quickly (1-2 years) evolved to a much better Filing System (HFS). Years later (about the same time as Windows for their bump) the Mac evolved to a better Filing System (HFS+). The Mac also works with other Filing Systems like UFS (using OS X Server) and Windows Filing Systems to allow more compatibility. The Mac also didn't have problems with file name sizes (8.3) and other issues that plagued the PC and its file system, and the Mac deals with PC files and even has built in translation software. But of course the Mac has a few issues of its's own. HFS+ as a filing system is powerful design (and can ride on other file systems), but the implementation still needs some work and higher level API support -- but this can be put in without breaking things.

DOS started with a filing system that was called FAT -- this was roughly equivalent to HFS, but more limited. The OS and computers had some problems with drive and partition issues (as well as the filing system) and there were little incremental bumps and improvements -- and not all of them were smooth. There was a migration to FAT32 that went off pretty well. With NT things got ugly in that there were multiple Filing Systems, and there is still some ambiguity on which one to choose and why, and features/compatibility issues -- but much of this was hidden by the fact that Windows didn't support external drives well (for a long time). Eventually everything will go to NTFS (I assume) which is superior to HFS+ for most things, but they have a ways to go. Windows98 does not have built in compatibility for working with other file systems (NT can for serving).

Memory

Macs started with 24 bit addressing, but jumped to 32 bit in a couple of years (1988?)

Windows started with 16 bit addressing, and has not gotten completely away from that with Win95 / 98. (Win95 supports 32 bit, but still has 16 bit code). NT will be the unified OS (in 2002?) and will finish the jump to all 32 bit.

Early Macs had all shared memory space, and could only run DA's out of Applications memory. Now there is protected memory for some things, and concepts like temp mem, and Virtual Memory, and other major improvements. It got a lot better quickly -- then didn't get much else. Part of that is because it was "good enough", where Windows kept needing more to be usable. There were ways to run Mac Apps protected (like MAE), but they weren't really used often. Both Mac and Windows 98 need memory improvements (the Mac probably a smidgen more), Both are ugly (and it is really tough to say which is more ugly).

Windows started with a memory model that was worse than the Macs. It was many years before Windows was even usable because of it. Then around '91 it got some improvements (like more protected memory support than the Mac and has better VM support which it needed since it was less efficient with memory). But Win still has global allocation spaces for variables (GDI), and other nasties. Recently the Mac has been catching up -- but both need work. NT is better, but few people (relatively) use it -- and A/UX and OS X Server work similarly for the Mac (for those that use them).

Red text is who has evolved more, better or smoother

Of course there are many other areas I could get into. And some aren't that clear as it is -- like the Filing System. But in general the Mac made smooth but large jumps, rarely and fairly painlessly -- while Windows isn't always as elegant as that. The exception of course is the Mac jump to a better kernel -- where the jump will likely be smoother, but it is also later.

Hardware

And lastly there is hardware evolution. Now I must admit that PCs were pretty ugly to begin with, and I thought the Mac was a more elegant tool. But the Mac was a simple, elegant tool, that actually removed a lot of complexity in order to be better specialized for its task (usability). In some ways this meant the Mac started out less expandable -- in other ways, not so much so. But the PC hasn't evolved that much -- I mean it still looks and has lots of architectural similarites with a nearly 20 year old PC. This one isn't done because it was good to begin with, but because legacy holds the PC back.

MacOS
PCs (Win98)

Started on the Motorola 68000 family of microprocessors and evolved all through that product line.

Started on the Intel x86 family of Microprocessors and Evolved all through that product line. Though the Mac started on earlier versions than Windows (but not than the PC in general)

Apple made a leap to PowerPC family of microprocessor, with the smoothest microprocessor transition for a mainstream OS. Mainstream Windows (95/98) will probably never make a transition to another architecture.

WinNT had support for quite a few RISC machines, but cross compiles and other issues made it unmanageable (or cost ineffective) and all but one variant was killed. If MS can migrate NT to the mainstream, then they will try to migrate NT (and users) to another architecture (IA64).

Apple has added System support for DSP with their A/V Macs. They almost added (and dropped) support for Phillips TriMedia chip (a second type of DSP specializing in multimedia) -- but instead they opted to add a DSP/NSP directly to the PPC (in the form of AltiVec). So far it looks like this will be a very powerful and smooth transition. There is more support, training, libraries and tools -- and the single jump to AltiVec offers far more than both 1/2 jumps the PC did with MMX and MMX2.

Windows may add some support for MMX which is sort of an on-board DSP (years after NeXT and the Mac had them). The transition didn't go well, in that it didn't perform well enough to be compelling and all the tools weren't in place -- but it is being used. MMX2 (KNI) is also added, and struggling for acceptance. The implementation, libraries, System support and tools just aren't as advanced (or compelling) as Apple's offerings -- though it has beat AltiVec to market. There are other PC choices (like 3DNow) increasing ambiguity and incompatibility and slowing adoption.

First Macs had no expansion - quickly went to PnP expansion with NuBus and now PCI. Macs started without any card expansion slots. Moved to industry standard NuBus which started PnP slots a decade before PCs (except for Microchannel which flopped). Some incremental improvements to NuBus that worked smoothly, There was also PDS slots (early AGP), that worked but wasn't the greatest way to go. Now Apple has migrated away from all older standards and is all PCI slots. Apple may make a big jump to add in AGP support in the future. All were pretty smooth transitions.

Windows started with 8 bit ISA slots (stinky) and had many ugly transitions that all sort of worked. There were 16 bit ISA, and 32 bit ISA. Microchannel, and some others. Some worked well, but many people had to throw away all their cards during transitions. Now PCs support PCI, but still haven't fully dropped their anachronistic ISA legacy (transition still isn't complete). Some PCs have AGP (which is like a fast PDS) -- but there are a few versions of that technology as well. PnP didn't work well until about '97 or '98 (10 years after Macs) and still isn't as good as Mac (but closer).

For user input, Macs started with 1 keyboard port and 1 mouse port. Quickly added ADB. Now moved over to full USB support and has eliminated ADB. All pretty painless transitions.

Windows started supporting1 keyboard port. Mice were added later in multiple (incompatible) ways. They didn't get a peripheral bus until 10 years after Mac (via USB), and the transition to USB is taking a lot longer than it is on the Mac.

Macs started with no hard drive support but quickly jumped to SCSI. Which was better than IDE for a decade. Just as IDE start to realize real cost advantages, Apple added support. When IDE became performance competitive as well, then Apple moved over to all IDE. Both IDE and SCSI support on Macs is more painless than on Windows, and now USB and FireWire drives are being added to the support as well.

Windows started supporting tons of proprietary standards (MFM, SASI, etc.). They added IDE drives -- but didn't have a good way to connect external drives for a decade+. Finally, Windows got better SCSI support about 5+ years after the Mac. There were lots of quirks with drives and behavior (ATAPI issues, etc.), and things that didn't work well -- but today, drive support on PCs is pretty easy.

Macs started supporting 128k of RAM. Jumped almost immediate to 512, 2 Meg, 4 Meg and then just physical limits (as many slots as you have). In general the Macs were ahead of PC in amount of memory supported and easy of use. Now handles up to 1 GIG or more physical (with 4 Gig theoretical limit).

PC's started supporting 640k of ram, but now support as much as the Mac -- with a lot of painful barriers bumped along the way (and usually broken well after the Mac). The advantage of the PC was more of them supported ECC or Parity memory -- which is nearly useless for anything, but it did support it.

I will add to this list over time - and input is welcome.

Conclusion

Which computer is technologically more advanced in each of these areas is a more complex, and requires a lot more effort to explain than a simple table. I hope that the rest of this site helps you to understand each of those issues better -- but this is just meant to give you an idea of the basics.

I do believe there are very small areas where Windows is superior, especially for small areas of time. But many of those areas are often small and insignificant overall, and over-hyped to the point of being ridiculous. An operating system is the collection of all its parts - while MS's marketing tries to program people that the only parts that are important are the one or two areas that they happen to be doing slightly better at a given time. When Apple surpasses them in those areas, again, they change what is the really critical parts of an OS. Unfortunately most users aren't computer savvy enough to know all the details -- and some buy into the marketing too much.

In general, evolution in the Windows arena was a painful and frequent process (often done to try to catch up with the Mac). In general, evolution on the Mac is required less often and goes smoother. But there are lumps, and glides on both sides. There are cases where Windows jumped ahead -- but they weren't always good "ahead". Sometimes they were just "beta-testers" that dealt with all the bugs and quirks, and once things got working properly (after two or three generations of bumps, bruises and false starts) then Apple would jump in and do the transition once correctly and be out ahead again. Much of the time it was Apple doing something like ADB, or NuBus (PnP self configuring slots) and it taking 5 or 10 years for PCs to start the transition to catch up (with many thumps along the way). Even in those cases, the PC would finally create a comparable technology a decade later (like USB or PCI), and then Apple still succeeded in jumping in and adopting a technology smoother and more quickly, and beating the PC's to conclusion. (The conclusion being a complete transition to the better technology, to the point where you could drop support for the older one). Being a smaller market has advantages and often that includes being able to change directions faster, better and more universally.

So while there have been some bumps on Mac transitions, and some smooth transitions in the PC market -- and while there has been some minor cases where the PC got a technology (concept) first (for the few early adopters, quirks and all) and it took a year or two for the Mac to leapfrog -- I would not trade the Mac's easy evolutions for the PC's complex, more frequent, and more torturous transitions! If only more people understood the realities of all this.


Created: 02/09/97
Revised: 05/25/98
Updated: 11/09/02


Top of page

Top of Section

Home