My Apple rep, Joe, was in my office as I was packing up at the end of the day. I leaned over to my MacBook, clicked the Apple icon, and clicked Shut Down.
“Did you just shut down your MacBook?” Joe asked. He gave me the same look one might give someone who had just shoved a live viper down the front of their pants.
It dawned on me in that instant how PC laptops had reinforced bad habits. There was no reason to shut down the MacBook because I was going to open it right back up when I got home in ten minutes. Joe had taken his laptop out twice during his visit, and each time opened and closed it without a hitch. I’ve opened and closed m MacBook several times, also without a hitch. In fact, I haven’t shut down the MacBook since, and it’s been eight days.
You can’t get that with Windows or Linux.
Linux has the uptime, but sleep and hibernation are iffy at best. I never got it to run on my old Dell with a few different Linux distros, and I eventually gave up on trying.
On Windows, you may get that kind of uptime out of a server, but on a workstation chances are you’ll have needed to reboot for one reason or another. Sleep and hibernation are at least supported, but when it does work it takes some time to shift into sleep mode and then to wake up again, and even then you may experience problems. For example, we have two shiny new Lenovo ThinkPads at the school, and when they come out of suspend mode they lose their keyboard (it’s especially problematic on a docking station). I have another Dell at work that’s only a few years old, and its suspend gives me fits at times as well. On a Windows machine, don’t even think about interrupting the suspend/wakeup process, because you’ll have problems. Close the lid on accident, realize you forgot something, and open it up again, and you pretty much freeze up the whole system. My wife’s uncle bought a brand new Dell XPS laptop and it took him three power-down and -up cycles before he finally got Windows to work again. Finally, even when it does cooperate, you’re looking at (I’m guesstimating based on previous experience) between 10 and 20 seconds before the system is actually usable.
On this MacBook, meanwhile, opening and closing the lid has been flawless, and damn near instantaneous. Close the lid and it’s suspended. Open it and it’s up and running in about a second. Count the time it takes to reassociate with a wireless network and you’re looking at 2-3 seconds, tops. But that’s okay, because you can start fiddling with apps. I had to write an email this morning, so I sat down and opened the lid. By the time my finger hit the touchpad, the MacBook was ready for me.
I wondered how that could be. Are Apple developers just that much better than Windows or Linux developers, or is there some advantage they have? It occurred to me that being proprietary may be all the advantage they need.
Whether you’re talking Windows or Linux, there are a plethora of machines they can be installed on with a wide-ranging set of features and hardware, each of which require their own drivers. It’s further compounded by the manufacturers handling different features in different ways.
In the Windows world, we have a closed-closed relationship. The hardware manufacturers are all protecting their hardware and software, and Windows is protecting their operating system. Windows only shares the Application Programmer’s Interface (API) with the hardware people, essentially telling them “this is how you talk to Windows.” If there are bugs and problems, it’s on the hardware manufacturer to figure it out, and the end users have to sit and hope the two sides can work things out.
In the Linux world, we have a closed-open relationship. Few hardware manufacturers are writing Linux drivers, but the Linux programmers have the advantage of full access to the Linux kernel and its drivers. They have a better chance of figuring things out, but the user still either has to code up a solution himself or hope a geek out there has the same problems and publishes a driver. The good news is this has drastically improved over the past few years with more companies like Canonical getting into the game, and partnerships between companies like Canonical and Dell are a big help, but there’s still a little ways to go.
The Apple guys, meanwhile, know exactly what the hardware is going to be. Their engineers and programmers all talk to one another and share information, so by the time the end user gets his hands on the product, everything Just Works. (Generally. I realize Macs are not 100% bulletproof.)
The advantage goes to Apple. By the same token, this is probably why the Xbox works so much better than Windows, despite their both being Microsoft products. The Xbox crew knows exactly what’s in the hardware and how to talk to it, so the Xbox operating system is rock solid. (Again, generally speaking.)
Which leads to the next problem: cost. I think I’ll save that rant for another post, though.