I recently bought a G4. Specifically, I bought an Apple Power Mac G4
(this
link may last longer) with a 400MHz PowerPC G4 processor, 64MB of
RAM, a 10GB hard disk, and a DVD-ROM drive. This is a very fast, very
nice new computer. As with most things that I order online, I had it
shipped to my office. The looks of disdain and the comments a few
people made when they saw that I had bought a new Mac really irritated
me.
If I had bought a new color Palm IIIc, or a Sun Ultra 5, a
used BeBox, an Alpha-based workstation, an SGI workstation, or any
other kind of new and bizarre gizmo that falls far outside of the
Wintel mainstream, I'm sure people would have thought it was cool for
me to be experimenting with new and different technologies. But
because I decided to buy a Mac, people asked me accusingly, "what did
you do that for?", "oh no, why did you get a Mac?", etc. as though I
didn't think this through very carefully. I've used one Mac or another
as my primary home machine for years, so you'd think by now I would
have figured out whether it was a bad idea.
It works fine; the one I had was just getting old. I wanted USB
support, MacOS 9 support, more VRAM, more RAM, a bigger hard disk, a
faster CPU, a faster video card, and 10/100 Ethernet. I got all that
plus more with a minimum of effort for $1599.
Ordinarily I would
answer "because it's my money and I wanted to" and that would be
it. Unfortunately a major part of my job is to make technology and
product recommendations, and to persuade clients and colleagues alike
of the subtle aspects of web application architectures, coding
practices, adherence to open standards, etc. In short, I can't afford
to have people questioning my judgement like this. It's frustrating
but I feel obligated to defend this decision so that it won't taint my
credibility with the people who don't think I should be buying a Mac.
So rather than painstakingly justifying my decision to each and
every person who asks, I've decided to write this little page and hand
out the URL as needed.
Arguments for getting a PC instead of a Mac:
PCs have better price-performance. I just priced the cheapest Dell system (Dell is who I would buy a PC
from), which is probably about as fast as a G4/400, but maybe not depending
on whose benchmarks you believe and what the intended usage is. Once you
upgrade it to have all the stuff that comes with the G4, it's about $150
cheaper to get the Dell. Whoopee.
PC peripherals are cheaper. Not anymore. Thankfully, Apple has migrated off of their proprietary
hardware interfaces and onto industry standards, except for FireWire. SCSI
is being replaced inside the computer with UltraDMA-66 and externally with
USB and FireWire. Apple Desktop
Bus is gone and USB keyboards, mice, and joysticks have replaced ADB devices.
The goofy Mac video port is lone gone, replaced by SVGA. Even memory is
standard PC100 DIMMs now. Adapters have been PCI for a while. I bought
the cheapest, most underconfigured G4 from Apple because I can now just
go to my favorite PC parts manufacturers and order RAM, another hard disk,
a big monitor, etc.
Windows has more applications. I 've been a Mac user for over 10 years. You should see the software
library I have. So there's an cost of switching that I don't think is justified,
and I have pretty much every app I need already. If there is an app that
I need to run that's only available for Windows, VirtualPC lets you run
Windows on a Mac.
But VirtualPC is slow, because it's emulating an Intel processor. It's not as fast as a brand new top of the line PC, but it's not a
top of the line G4 either. Also, my PII-266 laptop is fast enough for everything
except heavy development tools. Most applications you would ever care to
run are available for MacOS.
But not all of them... So you can't run heavy development environments, or the latest games,
on VirtualPC. I don't care. This is not a dedicated development
workstation, and it's not a dedicated game machine.
I'm very much of the "computer as appliance" mindset, which is why I
don't have a single mega-PC running Windows 2000 which is my server, desktop,
and game machine all at the same time. That's a recipe for downtime. Servers
need to be lean and stable, desktops need to be fast and need to talk to
all kinds of gizmos and display all kinds of media and speak all kinds
of protocols. Game machines need to have bleeding edge hardware,
bleeding-edge drivers, bleeding-edge OS patches, wierd input devices, and
games that take over the whole computer. Trying to make your gaming box
the same as your home productivity desktop is pretty risky... "oops, that
updated beta graphics driver I installed for the sexy new game everyone's
raving about crashes my machine on boot, so I can't use Quicken, read mail,
or surf until I fix it."
Macs only run MacOS, so if MacOS falls further behind in applications,
you are stuck with an obsolete machine. Wrong. LinuxPPC runs very well on PCI based Macs (including the G4).
My old Mac clone (a Power Computing PowerCenter 150) is destined to become
a LinuxPPC firewall / MP3 file server shortly. There's always another thing
you can do with a fast Linux server that's lying around.
Aren't you a server-sideJava application developer? Java stinks on
the Mac, and Macs don't make good servers either. And you can't get Oracle
for the Mac... Yes I am, and yes they are bad as Java application servers. This is
a desktop machine, not a server. There is a difference. I have a Lintel
(Linux-on-Intel) box for server stuff including development. Desktop machines
need to be fast, need to talk to all sorts of strange devices, need to
communicate with the server in all sorts of protocols, and need to be able
to work with all sorts of media formats. MacOS 9 on a G4 does all of that.
Above all, it needs to work, all the time. If my machine is screwed up,
I'm dead in the water. This is unacceptable.
But MacOS 9 doesn't have crash protection, so it is down a lot! Not really. Rebooting is infuriating, but the downtime doesn't last
long. Also, I don't actually experience lots of application crashes in
real use. Windows NT is much better about crash protection, so it's better
for development and playing with unstable new technologies, which is why
I use it at work. But even NT crashes and needs reboots every now and then.
More importantly, though, Macs don't require as much futzing around to
get something to work. Maybe I should call it "not quite all the way up"
time rather than downtime. On a Mac you install the driver and It Just
Works. Windows tries to make this experience happen, but a lot of the time
It Just Doesn't Work and you have to spend hours messing with everything
and surfing around trying to figure out what went wrong. Everybody who
has used Windows for more than a week knows what I'm talking about - some
driver doesn't see a device, or some configuration gets bungled and the
machine malfunctions in some small way until you reinstall the OS. Sometimes
I mention this to a Windows zealot, and they deny that this ever happens,
as though they are using a more perfect version of Windows than the rest
of us. Sorry, but I've been a Windows user since Windows 3.0 and I know
better. It's still Plug and Pray, and studies show that Macs cause less
headache to maintain.
What about Windows 2000? Can't it talk to USB devices? Sure, but I'm not exactly eager to see if any of those 63,000+ known
bugs are going to bite me. As I said, my main machine has to work, all
the time; I'm not willing to bet my productivity on Microsoft's QA. They
have yet to release a reliable OS, and maybe they've done it this time,
but I am definitely going to take a wait and see approach. I'll probably
switch over at work after trying it on a guinea pig machine for a while.
Arguments for getting a Mac instead of a Wintel box:
I have tons of Mac software and Mac files. This doesn't apply to everyone, of course, but I really do have a lot
of Mac software which I want to use. I don't feel like spending all the
time and money it would take to get all of this stuff for Windows.
MacOS X is coming. This is exciting to me. A Mac user experience, on a Unix core. Get
ready for all the reliability, performance, and scriptability of Unix,
with a UI your grandma would like. I've seen MacOS X Server, and I've seen
the Aqua demos; Aqua on top of "just another Unix" gets me stoked. Apache
runs on MacOS X Server; there's a JDK for it; you could get a reasonable
port of Emacs for it... nice. Someday I might actually use MacOS X for
work, but I seriouly doubt it since Win32 and Solaris (and now Linux) are
the target platforms for everything I need to use.
Apple cares about user experience and usability. This is just a really nice machine, with all of the little details
figured out. I'm not just talking about the appearance of it; MacOS 9 is
really good, and the phyical design is really functional. And most of all,
the Finder is still much better than Windows Explorer and the standard
Windows UI.
File types are not confused with file names. In Windows a text file can
be named .ppt and all of a sudden you can't open it in a text editor anymore.
Yes, of course I'm aware that DOS puts file type information in the filename;
this is what I'm complaining about. There is a difference between a file's
type, which describes the file format of the data inside, and the name
a user sees. But not in DOS/Windows; it's the same thing.
Macs differentiate between the file's type and its creator, or which
application made it. So HTML docs are text, but created by an HTML
editor, and when double-clicked they will open in that editor. On
Windows if you install an application that plays MP3 files, or opens
HTML docs, or edits Java source code, it takes over the file extension
(since there are no types). This means that programs have to have
special functionality to fight over who owns the file extension, and
they ask you "do you want me to take over .mp3 every time I launch"
and so on. This is ridiculous. On a Mac, a text file is a text file so
everything that can read text files will allow you to open that file,
but each file knows what made it, so a Perl script, an HTML document,
a Java source file, a C++ source file, and a CSS stylesheet all know
what program to open with when you double-click them (and these can
all be different!). Similarly with graphic files; what made it and
what can open it are different.
When you sort folder contents in Windows Explorer by date ("Modified")
in the Details list view, it actually sorts by kind (file vs. folder) and
subsorts by date. So if you want to see which file was just edited, you
have to visually scan past the folders to see the file which is listed
first after the last folder. This is stupid. Worse, when you click Modified
again to reverse the sort order, the subsort order is reversed too. So
now you have to look elsewhere for the first file or folder in the new
sorted list. In MacOS when you sort by date, everything is sorted by date.
The oldest file or folder is at one end of the list, and the newest is
at the other end.
With Windows Explorer, you have to see the whole tree from the root level
all the way down to the file you're looking at. You can get the Power Toys
from Microsoft and use Explore From Here, which is a major improvement
and I highly recommend installing it, but then you can't go back up one
level from that. Say you select C:\java and Explore From here. The new
window's root folder is Java, but if you click on that folder in the tree,
the "parent folder" icon is greyed out and you can't use the backspace
keyboard shortcut either. Reason please? On a Mac you can hit command-up
arrow to get to the parent folder, always. This means you have to go back
to the desktop and go through My Computer, C:. or use the Run menu and
run "c:\" to get one directory up. Lame.
There is no "go to desktop" button in the open/save dialog. This isn't
a big deal if you don't want to save things on the desktop, but I do. So
you have to click the pulldown menu which holds the parent folder tree,
wait (it pauses for some reason between the time you click it and the time
the menu appears), then let go and scroll up, then click Desktop. Do this
about 20 times in a day with a CD-ROM in the drive which has to spin up
every time you click for the folder tree, which makes it take a few extra
seconds, and you'll see why this is so irritating.
The file copy progress bar is always wrong. How many more operating systems
will Microsoft release which don't report file copy progress properly?
Clearly they have the technology because IE's progress bar works very well.
How long will it be before the copy is done? "Less than a minute"? Maybe
this time distortion algorithm is the same one they use for determining
ship dates... ooo, ouch, that was harsh.
It just goes on and on. There are all of these little annoyances with Windows
that you learn to ignore because you have to. But if you use MacOS, Windows,
and Linux every day like I do, these annoyances are in your face all the
time, and the Mac interface really feels a lot better.
I used Linux on the desktop from December 1999 through late March 2000,
with Windows NT running inside VMWare 1.0. I can tell you that Linux is
close to being a viable desktop in terms of what you can do from the GUI
as opposed to dropping to a command line, and it's moving amazingly fast,
but it's still crap in terms of usability. Basic concepts of GUI usability,
which aren't just "Macs do it this way so it must be right" sort of things,
are ignored. Windows ignores most of them too. See here
for more info.
There are so many things which are difficult or impossible on Windows
which are easy on a Mac. For example, what happens when you run out of
disk space on your C: drive? First you move all of your documents to another
drive. Then you run out again. Now you have to uninstall applications and
reinstall them on another drive. Hopefully you can find the CDs, find the
CD keys and serial numbers, and don't screw up your Registry in the process
(sometimes installers just do that, in which case you have to reinstall
everything from the OS on up to fix it). On a Mac you just drag the folder
containing the application to the other drive, then delete the folder on
the full drive. No reinstallation, no corruption, It Just Works.
Macs Just Work Not 100% of the time, but much more reliably than Windows or Linux.
Installing software, hooking up new hardware, downloading stuff and wanting
it to open with the right plugin, it's a lot easier on a Mac.
Macs have Internet Config which manages all of that MIME to type/creator
stuff; Windows keeps a mapping of MIME type to file extension which isn't
nearly as handy.
Macs use a Preferences folder where each application can make a file or
folder to hold its settings; Windows uses a registry where everything is
lumped in together. Let's say you got a new computer and you want to move
all of your stuff over. Got a new Mac? Copy the application fodlers and
preferences files over and everything still works. Got a new PC? Reinstall
everything, reconfigure everything, re-register all your software, and
copy over your documents.
Macs have shared libraries in the Extensions folder, which is in your System
Folder. Windows uses .dll files (which for some reason all still use 8.3
filenames) which are strewn all over your hard disk. Good luck figuring
out what PZNWRG32.DLL does, or what you need to install to get it, or where
it's supposed to be if you don't have it.
Macs never have IRQ, DMA, or address range issues. On PCs you have to worry
about what IRQ devices use, what DMA line they use, and what address range
they use. If you are lucky (plug and pray), Windows 98 will figure this
out for you, but heaven help you if it doesn't. On a Mac you just plug
in the device, run the driver installer (if any), and it works. Period.
Summary:
I use MacOS, Windows, and Linux every single day, and often Solaris too.
I know what each of them is good at and bad at. I've seen Windows 2000,
MacOS X Server, and demos of MacOS X's "Aqua" interface. I am not a hopeless
Mac user who lives in denial of Windows' existence. I use Windows every
day for work, and if I bought a new work machine I'd run NT 4 Workstation
or possibly Windows 2000 on it. Still, what I needed was an upgrade, not
a new platform, and that's what I got.