I was asked to read up on Mac OS X by my new employer as i am going to be using it for the first time, starting next week. I’ve always wanted to get a Mac for its polished design rich UX, but felt its way overpriced.
The following is a summery of what i learned from my reading, about OS X and macs in general. I haven’t really used one yet so there will be a lot more things that i have to learn. And some of my opinions and attitudes might change after I actually use a mac for sometime.
Linux and OS X
I am familiar with Linux, Ubuntu to be more specific. I love this Debain based distro. It seems that OS X is basically Drawin with some frameworks and layers of code (a windowing system like X, and a file manager, set of APIs…etc) on top of it. Drawin is a open source (have some proprietary drivers in the Apple’s distribution) *nix OS that is developed and maintained by apple. Its based on the hybrid (monolithic + micro) XNU (X is Not Unix, sounds a bit familiar ugh? ) kernel. Darwin is POSIX compliant hence it should be easy for me to get used to it since i am coming from a Linux background. Almost all the command line tools that you expect from a standard Unix system should be there. But what worries me the most is the lack of something like APT in Darwin. There seems to be several other package management systems for Darwin such as MacPorts, Fink…etc. But from what i read i don’t think they can match APT. After all APT have super cow powers . But the fact that i should be able to compile most open source apps that runs on Linux (or POSIX compliant Unix systems to be specific) on Darwin makes me feels good. But then again, OS X shouldn’t be Linux, its a different OS with different pros and cons. I shouldn’t try to make it something that it is not.
An overview of the OS X architecture (from Wikipedia).
I think the Classic API (the one which was used in older versions of Mac OS) is not supported any more in the latest versions of Mac OS X. A more up to date diagram can be found here on Apple’s developer portal.
I wrote this part after actually receiving a MacBook Pro
Package Management Systems
I don’t think os x have anything as good as apt-get . But there are some package management systems like MacPorts and fink. I installed MacPorts and used it to get some utilities installed. It was a bit slow, after all it have to downloaded the sources and COMPILE them. But it managed to install the utilities without me having to interfere in any manner.
You can install software for Mac by downloading and running a “dmg” file. When you open a dmg file it gets ‘mounted’, and the OS asks you whether you want to run the software or install it. If you want to install it you need to drag the software icon to the application folder icon, on screen. Which is a bit confusing for me. I mean why not just give two buttons saying run and install?
Coming from gnome/windows background i find the OS X GUI a bit different. There are some fundamental differences in the GUI. But i think i am getting used to it pretty fast. As long as you have google there should be no reason for worry. I miss the maximise button that you have in windows/gnome…etc. Here you get the ‘+’ button but it doesn’t always maximise the window.
I find the dock annoying at times because it takes a lot of screen real estate. Hence i hide it and made its size smaller. I think i will feel comfortable with my new Mac with time. I need to use it, and tune it to my own needs. Just like any good system.
Keyboard and Mouse
The keyboard is a bit different from the PC keyboard. There is a additional command button. There is no more ctl + C and ctl + V but there is command + C and command + V . I am using a MacBook Pro and the touch pad here took me a few minutes get used to. You can use some multi touch hand gestures to do things like scrolling, rotating, zooming…etc. It actually took me a while to find out (from a coworker) that you can do a click with two fingers to get the same effect of a control click. I like these features.
Availability of Software
Unlike for Linux you get most of the popular software for OS X. Its the second platform most software products choose to support. Which is sad (as a Linux user). I got all my favorite browsers, IDEs, VCSs …etc and IM clients installed on the Mac today and it was more or less pain less.
Getting ruby on rails up and running was a bit of a problem though. Ruby comes installed in OS X. But its a older version (1.8.7). I wanted to get the latest working with RVM. Which i did without much problems (to install RVM: bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head)). There were some problems when trying to install rails, sadly. I am still trying to figure out how to get it to work.
The Apple Factor
Everything about the MacBookPro is ‘cool’ . Apple have thought a lot of design and UX. When designing their hardware and their software. Sometimes i find the UX has to much eye candy (for a example the dock). But all together they have done a fair job.
All in all i find it to be a please experience. Its not that hard for someone who was in Ubuntu/Windows to switch to Mac. Specially if you are coming from a *nix background you have all your unix tools (or at least most of them) available to you. Most of the free software out there that runs on Linux can be run on OS X.
I am thinking of getting some more software installed (like Textmate, RubyMine). I will be blogging about my experiences with time. So far it have been fun!