A little confession: I have been jealous of Mac users for a while. Most of them don't deserve it though, just visit a random message board where Mac fans hang out. I liked Macs despite their fans. I liked them because OSX is a real UNIX plus you get native versions of most popular softwares. Bash + Terminal + Photoshop = Jealous Me.
So I've been mostly an observer, albeit from a very microscopic distance since my wife has dumped the worst laptop ever made for a Mac almost a year ago. Her Macbook amazed be at being a much better citizen on a Windows network than Windows XP itself. It could share folders, and folders remained shared until I change my mind. I could transfer files over home network every time I wanted. Fascinating stuff... I could never truly master such bulletproof-solid home networking with my ever-varying garbage-farm of beige Windows boxes.
But lucky me, we started trying some collaborative design sessions in Fireworks at work and I got a 4th generation (latest of May 08) Macbook Pro, an ultimate notebook as some people call it. Upon its arrival I burned a full weekend exploring the beast, and it wasn't an easy task: OSX is not Linux nor Windows, and googling for any kind of a solution inevitably lands you on one of those message boards full of useless and loud Mac fans (some tried to convince me that “you don't need to move files”). Where all Mac hackers are? They must be hiding somewhere, but they exist - just look what people go to programming conferences with.
So... it's been a month since then, perhaps not too early for "My First Macintos" post. :-) I won't try to write a “review” of anything, I'll just share a few biggest surprises, something I didn't know or heard about Macs until I ran into it first-hand.
1. Safari is awesome. It blows Firefox out of the water. From developer's perspective I never had an issue with it misunderstanding my CSS, and as a user I now find it hard to live without multi-touch browsing and sweet highlighting of search results as I type. The way Safari renders pages makes me feel like Internet suddenly got 20% faster. I did install Firefox 3 almost immediately, old habits die hard, but I hardly ever use it anymore: it just feels so out of place, so outdated and very slow. The final nail in the coffin arrived when I found the ad blocker for Safari that seems to use same filters as AdBlock Plus.
2. Apple sucks at consumer software. I honestly didn't expect to encounter this. OSX is an engineering marvel and Cocoa is a wonderful piece of work. I also love what they've been doing to Objective C. But now I am starting to suspect that there are two completely separate organizations within Apple: systems and tools vs consumer software. The latter hasn't figured out how to code yet. Every single piece of bundled software I tried pretty much sucked. I could fill a page with rants about each of iPhoto, iCal, Aperture, Finder and iTunes. They all suck and are much worse than analogous software I used on Windows and Linux. It's seems puzzling how come Safari is so great while everything else barely functions. I had to write bash scripts and set up cron jobs to combat iPhoto – that's right, we have a little war going on between us: each claims to know better what concept of “photograph” is supposed to mean and how a computer should aid humans in dealing with it. I am literally counting days for Google's release of Picasa for OSX.
3. OSX is a true UNIX. No compromises. I expected to find a heavily modified Linux-like environment with proprietary Apple specifics everywhere, and in some cases that was exactly what I found, but most of the time I didn't feel Apple, in fact my Terminal experience was very pleasant, and Mac version of gVim shocked me by its visual polish. I installed everything I wanted from the Linux world and it just worked. Not as seamlessly as apt-get on Debian, but pretty close.
4. Keyboard is nearly disabled. This may be related to #2, and can be mostly fixed by installing a better software. Still, what a huge surprise! I was sure I had heard many times how one could “fly” in OSX once he learns all the hotkeys. Not sure about flying, I'm still learning to crawl... This is area where Gnome beats OSX hands down: not only there are fewer keyboard-friendly actions, but flexibility of configuration is lacking too. Apple wants me to use the mice more than I would like, and drag-n-drop is ridiculously overused throughout the entire system. This could be less of an issue on a bigger desktop Macs with full-sized keyboards and dedicated mouse, but for notebooks it's a pain – keyboard/mouse switch keeps interrupting. Simple tasks like selecting multiple non-adjacent items in lists are impossible to do any other way. The keyboard itself is somewhat crippled as well: no dedicated backspace, page up/down, etc. And the way how applications use ctrl, option and command buttons isn't very consistent.
5. You must switch your monitor to Gamma 2.2. Otherwise you won't not see any web content properly, especially photos. Safari tries to correct this by reading embedded ICC profiles for JPEG images, but it rarely works: Flickr, PicasaWeb and others will always display distorted colors: washed out, too bright, with yellowish tint. Go to System Preferences, Monitors, Colors. Click “Calibrate” and select Gamma 2.2 – now your Mac is Internet-ready.
In the end, I just couldn't move all of my development form Linux to the Mac. Perhaps it's better this way – someone needs to file tickets about slow FireFox scrolling and workarounds for bugs in Intel X3100 drivers. Besides that, Linux is just a better programmer's environment, at least for what I do.
For everything else MBP+OSX is years ahead of Vista and somewhat better than Linux, especially at being a “home computer”. Web surfing on a Mac will truly be a revelation to many, once they try scrolling with two fingers and flipping pages with three. And simple IT tasks like installing popular printers and setting up home networking are grandma-proof. This is what I'll be recommending to all my non-programming friends from now on, sounding exactly like those annoying Mac fans from Internet message boards. :-)
Sunday, June 15, 2008
Subscribe to:
Post Comments (Atom)
3 comments:
Hi Eugueny! It's always hard to change to a new platform I've been where your are now, but with a little of patience all will improve. Nowadays, I almost use only Mac on the desktop.
Maybe you already know them, but I want to recommend you two tools. The first one is Quicksilver (http://www.blacktree.com/), it's a great tool to stop using the mouse, from launching an app, to move a file, to compose an email to shutdown the computer all on the keyboard. Of course, you can script it. The second one is MacPorts (http://www.macports.org/) which is a system similar to the FreeBSD's port system.
About Linux as a better development environment, I'm curious. I've been coding in Mac for like two years in a variety of languages (from C for a couple of Linux kernel modules, C++, Prolog, Perl, Python and Lisp) and it has been always up to my expectative. So, if it's not asking to much, what kind of development you do/what tools do you use?
Cheers,
Edu, thanks for the tips! Yes, I am familiar with Quicksilver and I do use Macports (this is what meant by "almost as seamless as apt-get on Debian").
I do mostly Ruby/Python with some JavaScript and occasional C, plus I need Java (the platform, not the language). I don't use IDEs, mostly vim but I do have Eclipse and NetBeans installed. All of them are easily available for OSX, but I much prefer Ubuntu repos for managing my software. I don't want to keep track and manually update N+1 things.
Macports is great, but packages get updated much slower and repository can't match Ubuntu's in size - I can even pull ASDF Lisp packages and vim plugins (!) from them. Plus, Linux-based dev tools have *great* communities around them. In 80% cases I get answers within seconds on IRC, and the other 20% are covered by Google. Always. Getting Pylons to work with WebPy and OpenLDAP and a few other libs on a clean Leopard wasn't as easy, although tolerable.
Moreover, my deployment platform is (obviously) Linux so I try to keep my development environment as close to production as possible.
All in all I like OSX a lot. In fact when I am not coding, I am always on a Mac.
It is good to hear that you got yourself a mac and that you find it interesting. It should all depend on what you do because what works for you might not be the same for another person. It was nice of you to share this.
Post a Comment