Segments: Slices from the Macintosh Life
My Mac OS X Switching Saga
In 1978 or 1979, my father took programming courses at the University of Houston, TX. One day he took me to the computer lab at the campus so that I could see what went on there. He punched out the card deck with his FORTRAN program on it and handed it to the operators to run. I asked him where the computer was, and he pointed through the area where the operators were to what seemed like large rows of unidentifiable machines. He explained that the computer would run his program when it was his turn and the output would be put into the appropriate output bin for him to pick up later. My first experience with a computer proved to be nearly unremarkable. This form of non-interactive access to the computer didn’t really appeal to me.
Apple II Forever?
In 1982, we moved out of Houston to the Rio Grande Valley of Texas. The International Harvester dealership my father worked for had Digital Equipment Corporation (DEC) mini-computers at each branch. I spent many Saturday mornings working on my keyboarding skills on the VT-102 video terminals with dot-matrix printers or the DECWriter LA120 teletype. Meanwhile, I was exposed to a wide variety of computers at the homes of friends. I knew a young man who had a Tandy CoCo II. Another friend had a Timex Sinclair 1000. Both of these attached to a television set for display output. Yet another friend had an Apple IIe. When the Sinclair was augmented by a Coleco ADAM, we were introduced to something we had never seen before: letter-quality printed output via a daisy-wheel printer. All of these machines were programmable in one form of BASIC or another, which is what my friends and I spent most of our time doing.
In the 1983-4 school year, I met my best friend for the next four years: Neil Edward Moore. Neil owned an Apple IIe, which he used extensively. This was where I picked up the Apple bug, big time. Neil’s parents operated a bulk-mail business, using Apple IIes, Apple IIcs, and an Apple Macintosh or two. I had friends who used a wide variety of computing equipment: Commodore VIC-20s and C64s, Atari 800XL, IBM PCs, and even a TI 99/4A. But, Apple is what appealed to me—and it was Apple I had to have.
In the summer of 1984, I got my first personal computer—an Apple IIc with a color monitor. This lovely transportable computer came with 128 KB of RAM, the ability to do 80-columns of text, Double High Resolution Graphics (560x192), the ability to toggle between standard and Dvorak keyboard layouts, and a Western Design Center 65C02 running at 1.0 MHz! This “Snow White” dream machine cost nearly $2000 when you included the RGB color monitor. From that day on, I was a confirmed Apple fan—and I truly believed it would be Apple II Forever! The machines seemed so accessible—both from a price and expandability perspective. I didn’t realize at that time that there is an enormous difference between marketing hype and product strategy.
With the release of the failed Lisa and the successful Macintosh, Apple had invested a lot of money into a new way of interacting with the computer, which wasn’t fully realizable on the Apple II line—Graphical User Interfaces. The future of Apple was riding on the Macintosh line of computers. However, there was a need to keep the substantial base of Apple II users from abandoning ship while the Macintosh was developing its own user base—hence the Apple II Forever lie.
Not realizing the realities of the marketplace, I was totally stunned when the Apple IIGS came out in 1986. It had a 2.8 MHz 16-bit Western Design Center 65816 processor, 512 KB of RAM, and mind-blowing graphics and sound capabilities (for the time). It even had a GUI interface for those who wanted it. Clearly this was the answer that the Apple II folks had to the whole Macintosh phenomenon. It was time to start saving for a real computer to replace my trusty IIc. The excitement didn’t last long, though. Even the dealers who were stocking the IIGS knew that Apple wasn’t committed to the Apple II platform. All Apple wanted to focus on was the Macintosh and its peripherals. This was so disenchanting that I began to distance myself from Apple computers for the better part of the next 17 years.
In 1987, I began working at Pan American University in Edinburg, TX in their computer labs. This was an incredible opportunity, as I was exposed to many technologies that I had never run into before, such as BITNET, Pascal, Prolog, Unix, and VMS. I also did support for the MS-DOS systems (mostly AT-compatibles). I even got the opportunity to learn Macintosh programming using Turbo Pascal! Despite the fact that I was able to master the Mac programming model relatively quickly, I was still very unhappy with Apple and didn’t particularly care for Macs. At home, I spent my time working on my Apple IIc and attempting to learn 6502 Assembly language.
Wandering in a Maze of Twisty Passages, All Different
When I first stumbled across System V Unix at Pan American, I didn’t particularly care for it. One reason for that is that the systems I was using (AT&T 3B1s) were only networked to a single server (an AT&T 3B2), which I did not have access to. I also didn’t have access to any information about System V Unix itself. The VMS system connected to BITNET was much more interesting, as BITNET connected us to other sites from all over the world.
In the Fall of 1988, I went to Carnegie Mellon (with my IIc in tow) and was introduced to Unix systems in a big way. CMU had a large number of Unix systems (most of which were derived from BSD Unix) and an absolutely incredible user community. These systems were networked together locally at CMU, but also were connected to the fledgling Internet and BITNET (for mail messages). This was such an incredibly rich environment to be in. I soon obtained a position working at the CMU computer “clusters” (as the labs were called), which meant having to support Macintosh as well. I learned a lot about Macintosh systems—but my heart had been won over by Unix. Finally, a system that I could use as I wanted! This meant sometimes using a windowing environment (like the X Window environment)—but sometimes just using the command line.
One of the important Unix systems that I used at CMU was NEXTSTEP 1.0. In 1989, CMU took delivery of a cluster-full of NeXT cubes and NeXT representatives provided information to interested people about the various capabilities. Some important qualities of the original NeXT setups have made their way into Mac OS X. For example, although it was based on Unix, the NeXT system booted up with a graphical splash screen (hiding the normal plethora of Unix system boot messages) and then loaded a GUI system whose desktop had a Dock for launching applications and storing icons of running applications. Another example was in the programming system: NEXTSTEP 1.0 used Objective-C (and the GCC compiler suite), which is the same system used for Cocoa in OS X. NEXTSTEP 1.0 provided an Interface Builder for designing GUI interfaces; OS X Interface Builder is descended from the one in NEXTSTEP 1.0. NEXTSTEP 1.0 used Adobe PostScript for displaying output on the screen; similarly, OS X uses the successor of PostScript, Adobe’s Portable Document Format (PDF) for its display engine. Finally, NEXTSTEP provided for having your “home” directory on a removable optical disk. This same notion has been proposed many times for OS X, but with the iPod taking the place of the floptical! Although it was ultimately unsuccessful on its own, NeXT produced some truly revolutionary systems. Despite its small impact on the market place, a NeXT was the machine to have—if you could afford one.
Other than my duties in the computer cluster, I rarely used an Apple product at this point, as my Apple IIc was back home in Houston. Still, after five years of heavy use, it still worked wonderfully, allowing that initial $2000 investment to amount to just $400 per year. And in that time, I only had one hardware problem. I passed the system on to younger relatives and it continued to receive regular use until 1992. However, I would only see it again briefly on visits home before I eventually lost track of it around 1995.
In 1990, I began my career as a professional Unix systems administrator at the CMU Statistics Department. This further reinforced my displeasure with Apple, as I now had access to amazing (for the time) machines from DEC. My personal workstation was a DECStation 3100, which had a 16.7 MHz MIPS R2000 processor, 16 MB of RAM, a multi-hundred MB hard drive, and built-in Ethernet! This was beyond just having the use of a shared workstation in a computer cluster—this machine was dedicated to my personal use. With the largely text-based mode of operation that I employed, this thing could run rings around the Macintosh systems of the day.
My wife had spent her time at CMU working primarily on Macintosh systems. In early 1991, she purchased a Mac Classic and a Personal Laserwriter 610. The Mac Classic lasted for nearly four years, while the Personal Laserwriter 610 lasted for twelve!
In 1992, I started maintaining the comp.os.mach FAQ. I was excited about MACH because it was developed at CMU. NeXT had picked it to be the basis of their NEXTSTEP 1.0 operating system. The Open Software Foundation (a Unix vendor group that was competing for market-share against Unix International, another vendor group) chose Mach as the basis for their “OSF/1” system, which still exists in HP Tru64. But, the most attractive part of it was the idea that you could run Mac Mach on a Macintosh IIfx or Quadra. This was very interesting, as it not only provided a reasonable Unix system for the Macintosh hardware, but it could also run System 7.x programs at the same time!
I could no longer take it. There was no way I could afford a Macintosh IIfx or Quadra. There was also no way that I would consider running just System 7.x when I knew that Mac Mach existed. Macintosh had to go out of my life completely! I ignored my wife’s Mac Classic as well as those of my coworkers, while continuing to use the various Unix workstations made available to me through work, including a NeXT Cube and an SGI Indy.
A Life Without Apple
The final straw that exorcised Macintosh from my day-to-day existence was when I became the sole network engineer for an ISP in 1994. Since I had to do a lot of travel, it was necessary for me to have a laptop to work in the field. I also needed access to MS Office applications such as Word and Excel. Sounds like a perfect fit for a PowerBook, doesn’t it? Alas, my need for Unix precluded any Apple product from consideration, especially since CMU no longer operated the Mach research project (which meant no more Mac Mach). Instead, I turned to Linux running on an Intel-based laptop. For MS Office applications, I dual-booted into Windows 3.1, staying only as long as absolutely necessary.
Once I perfected my setup for work, I turned my attention to home. I needed to wean myself off of depending on my employer to provide for my computing needs. I needed to run some variant of Unix. However, I also needed to share the computer with my wife. After careful deliberation, I convinced my wife that we needed an Intel-based system. To help fund the purchase, she sold her Mac Classic.
I largely ignored what was happening in the world of Apple, despite having coworkers who were Macintosh devotees. Occasionally, some news would break through. When I heard about Apple purchasing NeXT after Steve Jobs’ return as CEO, I briefly thought that perhaps some day Apple would make a product that I would want to use again. After listening to some details about the proposals for Rhapsody, I wasn’t convinced. The next time I thought I might be interested in an Apple product was when I discovered an unused Newton. I used it for a while and even enjoyed it somewhat, but the handwriting recognition on it was terrible and I had no funds to purchase add-on software like Graffiti to improve the situation. Ultimately, though, I found little to attract me to Apple products.
I used a combination of Unix platforms: Linux on laptops, Linux at home, Digital Unix on my Alpha-based workstation at work. The Linux systems were all set up for dual-booting, of course, as I could not get away with not having access to MS Office programs, both at home and at work. Although I was not fanatical about it, I was a big fan of open source software. I worked with it frequently and even based my M.S. thesis on a technique for augmenting the security of the Linux kernel. Despite my strong interest, all was not perfect in my computing world. For one thing, dual-booting was a major annoyance. Another was the difficulty I had in getting some open source software to work on my systems. Usually, if I waited long enough, the problem would be resolved by someone else, but not always.
My frustration with this situation was palpable. MS Windows supported the hardware that I happened to have (though not flawlessly). Linux supported most, but not all, of the hardware that I had, and vendors did not always provide Linux support for their hardware either. I couldn’t get a decent e-mail program to work well under MS Windows. I couldn’t watch DVDs or Windows Media format streams under Linux. Occasionally, I couldn’t even get the X Window system configured to work on my hardware. And upgrading a system to run a new version of my Linux distribution took many hours.
After nine years of working with Linux and MS Windows, I had reached the end of my rope. I could no longer tolerate dual-booting. Either Linux or MS Windows had to go. I started by assuming it would be MS Windows. I set up one of my systems to contain no trace of MS Windows. Instead of MS Office, I used StarOffice, which provided a reasonably compatible environment. However, there were still some things that didn’t work for me reliably: audio output, listening to streaming media, watching DVDs, and playing audio CDs.
Since my employers insisted on providing MS Windows as an operating system (and I wasn’t being paid to provide support to Linux platforms), my next decision was to attempt to eliminate Linux. Starting from a base of Windows XP, I added on a product from RedHat called CYGWIN. This product, originally created by Cygnus Solutions, provided a Unix-like interface to MS Windows-based systems. It included support for many open source tools, such as bash, gcc, etc. While the system provided reasonable support, Windows XP is not a Unix system. Despite being able to run XEmacs and Gnus for e-mail and Usenet news under Windows XP, I still couldn’t do basic things like print out my e-mail.
The frustration was beginning to drive me up the wall. Every time I turned around, I was confronted by a deficiency in either Linux or MS Windows that enraged me. I began to hate using computers, viewing the interaction as more likely to end in anger and frustration than in some satisfactory result. Something wasn’t right: I had twenty years of experience working with various computing systems. I had thirteen years of experience as a professional Unix systems administrator. Why was I finding it so difficult to do things that I considered to be “basic” functionality?
A Fresh Look
In desperation, I turned to the only platform that I thought might solve my problems—Mac OS X. I was not very well informed about it, but had heard enough to make me think that there might be a solution from Apple. I looked further into it via the Internet. Mac OS X was based on Unix. In fact, it was based on Mach. It had a beautiful GUI system. It had productivity applications in the form of MS Office. It had QuickTime, Real Player, and Windows Media Player support. It had iTunes. It had iCal. It had support for X. It had support (via open source software) for most of the traditional Unix applications I was used to. It didn’t require dual-booting. I had to try it.
I was aware that my past was littered with the carcasses of failed computer purchases. At the time, I had no fewer than six computers running some combination of Linux and MS Windows. Being unsure that Mac OS X would be any better than the other options, I was reluctant to spend much money to try it out. So, I purchased the cheapest new Macintosh I could get my hands on quickly in January of 2003. It was an eMac 700 MHz G4. I fell in love with it right away.
The first thing I liked was the all-in-one design, which was somewhat reminiscent of the original all-in-one Macintosh design. I liked that the G4 processor provided snappy response from the GUI, as well as quick software compilation times. I liked that I could install open source software rather easily through Fink. I liked that so many things that I could almost never get working under Linux worked out of the box on my new eMac. It was perfection itself.
By April, I had convinced my wife that she needed a Mac too—so we bought her an iMac G4 with 17" flat-screen. No small part of my motivation was my remorse at having caused her to sell her Mac Classic. For nearly a decade, she had suffered through using MS Windows on various machines, each one seemingly flakier than the last, though all in unique ways. Her reluctance to revisit the Macintosh as a computing platform was not easily overcome. But I persevered and was victorious! I knew at this point that I would eradicate as many traces of Windows as I could from my life. Further, I would only use Linux as a server OS—at least until I could afford an Xserve.
With our primary platforms being Mac OS X, it seemed a bit odd to think of using MS Windows on a computer just so that our children could play educational games. As I planned for the purchase of another Macintosh, I got the opportunity to get a Power Mac G3 desktop system for $25. This was a deal that was too good to pass up! It was now June of 2003, and in the space of six months, I had gone from no Macintoshes to three!
As I grew more and more adept as working with Mac OS X, I felt more comfortable recommending it to other people. When I decided in November to purchase a 12" iBook for myself (my first Apple laptop), the opportunity to share the wealth came my way. My brother-in-law’s MS Windows system had died a horrible death. While advising him as to his options, I volunteered that I had a system to replace his with. Since he knew that I had a number of Intel-based systems, he probably assumed that it was one of those. However, since I had begun using my iBook as my primary platform, I actually took him my beloved eMac. They’ve been happily using the eMac for the last year, and I imagine that when they purchase their next computer, it’ll be a Macintosh.
The More Things Change, the More They Stay the Same
Computers are the most powerful tool yet created by humans. No small portion of this power comes from the computer’s flexibility, which allows it to accommodate a wide variety of uses. That flexibility is wasted, however, when it is not put to the service of the user of the machine. The power of the GUI and the desktop metaphor is that it takes enormous strides toward working the way that the user is accustomed to, rather than forcing the user to be trained to work the way that the computer expects. Yet all too often, that power is squandered by developers who do not understand the point of their work. This is the essential reason why I switched away from Apple in the late 1980s and why I switched back in the early 2000s.
By eliminating the Apple II line and putting all of their eggs in the Macintosh basket, Apple violated the principle that the computer should accommodate the user. The Macintosh system provided no means to allow those of us trained in command line interactions to work comfortably. Instead, we were forced to re-learn how computer interactions were supposed to work, as if all of our cumulative experience was nothing more than old code that needed to be replaced. Yet learning to work with a computer system is a long, intensive process. The most productive step is to build on that experience, rather than attempting to discard it altogether.
By putting the major emphasis on the Macintosh and neglecting the Apple II community, Apple squandered the best transition path they had for retaining their user base. The Apple IIGS was a reasonable platform for beginning the transition from command-line processing to GUI-based interaction. Apple seemed to latch onto this idea in 1987, when they introduced the Finder in the Apple IIGS System Software v3.1. With the writing on the wall for the Apple II series, though, there was little incentive for people to invest even more money into a platform that was on the glide-path to termination. By 1995, nineteen years after the introduction of the Apple I, Apple had ceased to support command-line interaction.
Microsoft, on the other hand, took over seventeen years to force users from a primarily command-line oriented form of interaction (via MS-DOS) to a primarily GUI oriented form of interaction (via Windows XP Home). Along the way, both forms of interaction have been available—and continue to be available today. This process was much easier on the user base, allowing them to learn new ways of interacting without depriving them of the ability to get things accomplished via the old means.
The Unix world has taken this a step even further—continuing to actively support command-line oriented interaction as a major mode of operation, over 30 years from when Unix development first began. Along the way, GUI interfaces have been added on, allowing a whole new mode of interaction, without forcing users to convert over wholesale. In fact, Unix does not even force one mode or the other as the primary mode of operation. It is entirely flexible—capable of being customized to suit each user.
With the release of Mac OS X, Apple has given tangible proof that they have learned the error of their ways. Mac OS X allows for users to continue to use Mac OS 9 software through the use of the Classic environment, continuing to provide support for Macintosh users. It allows for command-line interaction via Terminal and X11 applications, providing a means for Unix users to switch without experiencing enormous mental anguish. It supports many different flavors of server connections (AppleShare for Mac users, SMB for Windows users, NFS for Unix users). It truly attempts to be all things to all people. And it manages to largely pull off this feat while maintaining a distinctive Macintosh aesthetic style. With the introduction of newer models that offer increasingly better price/performance ratios, Apple is in an excellent position to reclaim some (if not most) of their lost Apple II user base. Along the way, they will have the opportunity to pick up market share from disgruntled MS Windows users (who are looking for stability and style) and Unix users (who aren’t militantly opposed to GUI interaction).
When viewed from this perspective, I haven’t switched at all. I started off using a command-line method of interaction. When Apple stopped supporting this style of interaction, I moved to Unix based platforms. Along the way, I learned to do new things (and relearned a few old things) in a GUI oriented way. This was the crux of my predicament for the better part of fifteen years: Unix GUI support wasn’t sufficient for what I wanted to use GUIs for. Macintosh and MS Windows didn’t offer adequate command-line capabilities. Apple earned my business with Mac OS X—a Unix based system supporting command-line interaction, but with excellent GUI support. The key to successfully switching is to minimize the required number of changes in the process of how the user interacts with the computer. At long last, Apple has figured this out.