Penguin2Apple
Dark Paladin writes: "What happens when a Linux lover takes the plunge into a Mac for the first time in his life? Turns out he falls in love, to the point of abandoning Linux and taking up OS X full time. Read about the conversion in Penguin2Apple. And pray for mercy on his soul."
First of all, "Linux" in this case is vastly a misnomer, but bear with it for the moment. Linux is an operating system that is trying to fill many niches in many markets. Developers work hard to give it a wide range of hardware support and a wide range of functionality (everything in the range of a variety of desktops to a variety of servers configurations). However, the overall Linux experience is the result of a tremendous amount of contributions from many directions in a community.
Mac OS X, exclusive to the Macintosh and suitable for limited roles, on the other hand, is different but same. Beneath that stunning, pretty Aqua interface, you have a set of powerful core API's that essentially make up widget sets and abstraction layers. Beneath that however, is a traditional unix architecture (Darwin). When you look at Linux, BSD, Solaris, or whatever versus Darwin, you see pretty much the same thing.
So what's my beef with the comparison? Mac OS X is more appropriately pitted against KDE, GNOME, or [insert favorite desktop environment here]. Apple is focused on offering a user experience which is much different from offering an operating system and a million and one tools to make it useful. Linux offers an operating system and a huge suite of software for doing a lot of things. OS X from the perspective of comparison, is a very well polished UI.
I am certain that if all OSS developers turned their attention to making a Quartz for Linux, it could be done. But, that's not the case because we're dealing with two different offerings altogether. So, it's stupid to run out and say "Mac OS X is going to beat down Linux" or just that "it's better" and people should "move over to it". No. No. NO. NO!
Two completely different animals with their own uses, strengths, and weaknesses. This whole "Penguin2Apple" thing is just stupid. You're moving from an operating system to a machine with a different processor. Pfft.
Why bother.
The window management is so far inferior to anything you'll find in X, it's not funny. About a month ago, one slashdot poster was complaining about how it's difficult to run more than ten programs because it's hard to find the right one in the dock. Excuse me!? You're limiting yourself to two or three programs because you can't find the one you need immediately?
Consider this: OS X comes with an alt-tab action, but it cycles through all windows in a circular list, rather than using a stack like Windows or most X11 window managers. Why does it do this? Is the circular list "more intuitive" than a stack? No, it most certainly is not. There's a reason most window managers use a stack for the alt-tab list. When you use a stack, the most recently-used programs migrate toward the top of the stack. If you have seven programs running and you're continually switching between two of them, a switch takes two keystrokes with a stack, but seven kestrokes with a circular list. With the circular list, you have to actually look to see which program you're switching to. Result? it takes at least one second to switch between two programs on a moderately-loaded system. I am not going to remove my hands from the keyboard just to switch between two programs.
In addition, using the dock or alt-tab to switch applications only switches applications not windows. Look at IE or Terminal.app - these both have their own internal window management and it works differently in each. In Terminal.app, you hit cmd-1 or cmd-2 to switch between running windows, in IE it's something else.
I can hear you saying right now that this isn't a big deal. It is a HUGE deal. In my X system, I can run 15 different applications and (using workspaces and a proper alt-tab) I can get to any application in a few hundred milliseconds. I don't need to take my hands away from the keyboard just to go from typing into my browser to typing into a terminal.
What if I actually want to use OS X as a real unix system? For example, what if I need to add a user? Well, there are a number of ways to do this:
The last two are the only real viable options. In any case, the first time I need to add a user, I have to waste a half hour for this most basic administration task.
So what does it have to make it more enticing than a real unix system? Well, it has all the pretty pictures. It has a decent web browser. It has those "office" applications.
I honestly don't care for the pretty gel pictures. I'll admit that the first time I used OS X, I wasted a good half hour just looking at it (it is quite impressive). However, this gets old quick.
Linux now has some decent browsers (konqueror, mozilla), although this wasn't the case a couple of years ago.
I don't use "office" applications. Word? LaTeX. Excel? Awk and perl. Outlook? Mutt. Powerpoint? You've got to be kidding me. Yes, LaTeX and perl may have a steep "learning curve" but dammit, I can learn. I didn't spend years mastering unix administration and development just to have someone hand-hold me through basic adminstration tasks.
What's good about OSX?
What's not so good about OSX?
If OSX were a Linux distribution, people would probably debate endlessly whether it was really ready for the desktop. I think overall OSX is neither better nor worse than Gnome or KDE on Linux. What it lacks in performance and consistency, it makes up in commercial support and simplicity.
The biggest advantages of OSX are that it's supported by a big brand-name. You can get MS Office for it. If a piece of hardware doesn't work, you take it back to the store and say "I plugged it in and it doesn't work; sorry--it says it's MacOS compatible". Presumably, there will be books around for it, and they will all document the one, standard version. And APIs and functionality change less rapidly than on Linux (which can be good or bad).
OSX is an operating system that a UNIX user can live with. I think it's good on a laptop, for PowerPoint presentations, as an iTunes jukebox, or to recommend to one's parents or manager. But it's no Linux killer.
OSX is just so much better than Windows XP. The OSX software architecture is much cleaner and the toolset you get with it is so much better. And the OSX UI is incomparably more consistent and easy to use than what Windows XP has.
Apple needs to address their performance issues (or release dual 2GHz iMacs :-), and they need to communicate a more coherent software strategy.
What the Linux community should do is study Apple's approach carefully and copy the good parts of it. KISS not only saves programming effort, it results in better software as well. A GUI with the simplicity of OSX but without the performance problems and OS9 compatibility would be great, and it would be less work to develop than the feature-laden KDE or Gnome desktops.
So, where I would grudgingly use Windows right now, I will probably now gladly use Macintosh. While OSX is no substitute for Linux, it brings a good, usable version of a UNIX-derivative into the mainstream, and that's good.