Week 2
Almost 2 weeks into my OS X odyssey, I have a lot of thoughts about my new desktop OS. Before I get flames from "Mac People" (you know who you are), please understand that I fully grok that my needs in an OS are not "ordinary" by any measure. That said, my primary expectation of a computer is that it will do things for me and will not get in my way. Given any particular task and any particular user, what is implied by these goals will be different. What follows is a list of things that I, a security and Unix geek like and dislike. Take or leave them, but please understand that my criticisms are dependent on the context of my mind and are in all likelihood not portable. Also, I realize that many of my problems with the OS are going to be addressed in 10.3, but I'm not running 10.3, and so these things still annoy.
So first, the things I love:
- Python in the default install of a consumer OS. Now all we need are the PyObjectiveC bindings to be supported by Apple and also provided in the default install.
- The hardware integration rocks. Plugging in an external monitor or keyboard or mouse or USB modem just works. Big bonus points in my book for that. It's a feat of non-trivial kernel hacking and one that the whole OS X team deserves a lot of credit for.
- My jaw just about dropped when I realized what the internal backup battery in the PowerBook was all about. Since I'm new to the laptop world, I don't know if this is a standard feature these days, but I do know that it ought to be. It's brilliant and the kind of thing that really endears in the mind of the user.
- The Keychain app is well done, and a testament to what can be done when you have GSSAPI integration in everything. It's really nice to see someone addressing security usability problems in a sane way.
- The new battery life indicator in 10.2.8 really helps. I was going nuts with the previous one.
- The X11 server is good and rocks muchly. One nit though: the installer should REALLY set $DISPLAY in the default init.sh to :0.0.
- While not having a two-button mouse-pad is indeed lame, the fact that the OS and most of the apps are correctly hinted to handle the right click when a 2-button mouse is attached is a big plus.
- Between Classic, Fink, and VirtualPC my Mac is a compatibility test-bed in a box. No other OS offers me the ability to test on as many platforms as quickly as OS X. To that, I say "huzzah!"
- Java on OS X is how Java should be done. Every other OS vendor would do well to learn from Apple's example.
- Safari is Konq all grown up, and judging by the kfm-devel mailing list traffic, many of the improvements that I'm now enjoying on OS X will be available for my SuSE box SRTL. Congrats to Apple, Dave Hyatt et. al., and Dirk Mueller et. al.
- iTunes-to-iPod integration is really slick. I'm a fan.
Now, for the things I hate...
- Why can't I actually maximize a window? I don't want any "document centric" crap. This feature is non-optional in modern window managers, and if Apple wants to live in the 80's, fine, but at least give me the option to work the way that's most productive to me. Were I on Linux, I would have switched to a different window manager by now solely due to the stupidity of this "feature."
- Why didn't the developer tools come in the box (or better, pre-installed)? WTF is that all about? It's a CD...costs like 30 cents with packaging and everything. C'mon Apple, that's just cheesy.
- In the same way that Windows is absolutely useless without Cygwin, OS X would be a complete disaster without Fink. Apple bears full responsibility for not including a better set of CLI tools and the fact that Fink allows me to fix this myself does not let Apple off the hook for fscking it up in the first place. Where is pstree? pgrep? vim/emacs? If Apple wants to win hearts and minds, they're going to need the people that write apps on their side. Neutering your Unix is not a good way to win friends in the developer community.
- WTF is up with the .command file BS? Why can't I just set the executable bit and have a shell script be clickable? And why can't it live in the "apps" side of my dock anyway? Making shell scripts second-class citizens offends my Unix sensibilities.
- This is more a feature request than anything, but it seems to me that treating apps being displayed in the X server as separate "things" in the dock is a logical next step.
- Setting the open-firmware password should be MANDATORY on laptops. The fact that I had to go digging for info on how to do it is broken. OTOH, once set, it seems to be well-implemented. Even survives firmware flashing.
- There's no low-level access to wi-fi card configuration. Where's iwconfig? No, ifconfig doesn't cut it. This is tres lame.
- Terminal.app sucks. Apple should replace this post-haste with a port of xterm that doesn't require baby-sitting to do the things you expect out of a terminal.
- The default terminal is tcsh???? What rock are you living under Apple? Providing bash is a start, but making it the default would be a big step in the right direction.
- Is making NetInfo as opaque and undocumented as LDAP some kind of badge of honor? C'mon Apple...where's the docs? (no, telling me the command line syntax for nidump doesn't qualify as documentation).
- Mbox files in Mail.app. What are they smoking in Cupertino, anyway? Just because your OS has it's roots in the 70's, that doesn't mean it should stay there. Apple ported Konqueror, and they should do the same thing with KMail.
- Two keys: alt-tab. Why can't I cycle through minimized windows? Whose lame-ass idea was it to require command-tab to cycle through apps and then require command-` for per-app window cycling? It's a bad solution to a simple problem, and one that should have been shot in the head when they were porting the NeXT OS in the first place.
- Why do I have to resort to modifying nib files to change my default keystroke mappings? I don't care if Steveo does have a control-freak problem, that shouldn't make my user experience sucky.
- Konqueror beats the pants off the Finder in every imaginable way when it comes to file-system browsing and management. Call it a Windows Explorer rip-off if you like, but there's nothing like sftp/fish pseudo-protocol support in the Finder, and a tree view option would be quite welcome by at least this user. Sometimes old metaphors are the best, and in this particular case I'm quite sick of OS X attempting to waste as much of my screen real estate as it possibly can. Thank goodness for Fink and Konqueror. Without them, I'd be stuck with this lame Finder debacle and a castrated command-line environment.
I'm sure I'll have more thoughts come as I get more comfortable with my setup and do more "real" work on it, but I think that 2-weeks is plenty of time for a power-user to decide whether or not he can live with an OS. To Apple's credit, I haven't ordered any Yellow Dog Linux CDs yet, but there are some things about the OS that make me seriously consider it from time to time.
So what's my final rating? I'd say that on a scale from one to awesome, OS X is "uber-cool". This doesn't imply that it's the most useful thing ever, but that it has a lot of things that would be nice to see in other places. I don't realistically expect Apple to suddenly to cater to Unix types like me, but I can dream.