I made the switch from Windows 7 to Mac OSX (Lion) for my development laptop. I got a new job and my boss asked me what kind of laptop I wanted to buy. I heard so many of my friends and bloggers talk about how OSX is the ultimate platform for Web Developers. I decided to take the plunge.
I want to report on my progress. First I’ll start with the software I’m using.
Software I am using
Many of the free Windows programs I depend on do not have good equivalents on OSX. Or there are decent alternatives but they cost money. But the following are those I settled on
OSX Homebrew (Free)
I can’t live without OSX Homebrew. It is a package manager analagous to yum or apt-get. It is so sweet to run commands such as `brew install node` and boom all the dependencies and files for NodeJS are downloaded and installed. Homebrew is a must!
Netbeans for PHP (Free).
I’m absolutely hooked on Netbeans. In fact, if Netbeans did not have an OSX version, I wouldn’t have considered switching.
- Netbeans SVN. Netbeans has a built-in SVN client that works well with my workflow. I like to review every line change before I commit. It helps me catch debug code that I left in and exclude partially done changes. I heavily relied on Tortoise SVN for Windows and it has been a struggle to live without it. But Netbeans built-in SVN functionality is pretty dang good. I used WinMerge in conjunction with Tortoise, but it turns out that Netbeans has a good diff viewer built in.
I used Thunderbird on Windows over Outlook primarily for its threading, searching, attachment handling, and modal window behavior. I thought the built-in OSX Mail app would work great, but it was too minimalistic. Thunderbird indeed works great on OSX.
I used KeyPass on Windows and KeyPassX is a good clone. It is fantastic for maintaining lots of passwords. It encourages me to have tough passwords–usually a random string of characters.
Adium is a great client that integrates IM and IRC. I used Pidgin on Windows because I was too lazy to find something else. It’s IRC support was lacking and the program is a little buggy in general. Adium has treated me well and has a nice GUI for OSX.
I relied on WinSCP for quickly managing remote files. Transmit is a good replacement.
Sublime Text ($59).
Instead of Notepad++ I use Sublime Text. It is a powerful but simple text editor with a tabbed interface. I use it for files I want to look at real quick, for text files, and for editing files opened in Transmit.
The free version of MAMP is doesn’t do much, but when you install it, you get a working version of Apache, MySQL, and PHP. Unlike MAMP Pro, you have to make some changes to httpd.conf and php.ini to get started. For example, by default .htaccess files are not parsed and Apache runs on port 8888 instead of 80. MAMP/MAMP Pro are actually very disappointing! I’m used to WAMP on Windows which is very full featured. I know I could easily install Apache, MySQL and PHP with brew or by hand, but as a developer, I’d rather spend zero time doing sysadmin. Maybe I’m just lazy.
I used a Windows-only program called Regex Buddy. RegExhibit isn’t nearly as cool, but it is a nice little Regex tester.
iTerm 2 (Free).
The OSX Terminal is boring. iTerm 2 rocks.
Sequel Pro (Free).
I am in love with Sequel Pro! I have tried dozens of desktop SQL clients for Windows. I stuck with phpMyAdmin mostly because it fit my developer workflow so easily. Sequel Pro has almost all the same workflows and is a fantastic SQL client. My only complaint is that there is not a quick way to export data except to a file. It is nice to quickly generate a string for copy and paste.
One of my pet peaves on OSX is the methodology for installing and uninstalling apps. When you click on a dmg you often get an unintuitive screen that requires you to drag an icon into a folder. Often there is no install wizard. No indication that install succeeded. Now granted most OSX apps don’t actually install anything, but I still find it weird. Even weirder is uninstalling. Putting an app in the trash is uninstalling? Very strange. And of course the most annoying part is that moving an app to the trash leaves behind data and configuration files. With AppCleaner, you drag app icons to the AppCleaner window instead of the trash. It finds supporting files and deletes those as well. But I still don’t feel good about my uninstall until I empty the trash :)
Display Maid ($5).
There is a huge usuability problem in OSX when switching from one monitor to another. If you switch from a small screen to a larger one, the maximized windows won’t be maximized any longer. If you switch from a large screen to a smaller one, many of the windows will be off the screen. Seriously, what the heck? With Display Maid, you get your windows situated on one display and click “Save Workspace.” Now every time you switch to that display, your windows will be moved and resized to their saved positions. Rock On!
Seriously. Color pickers on windows are a dime a dozen. Some of the color pickers on OSX don’t have hex notation. Useless for web design! ColorSnapper is a nice little color picker. It boasts itself to be the “missing color picker for OSX.” Pretty accurate actually.
I’d also like to list the things I like and my gripes.
Things I Like
- Awesome hardware.
My Macbook Pro is seriously fast. I got an SSD which seems like a big part of it. Unfortunately, I only got 4GB of ram which is apparently not enough: I’m using a lot of SWAP. I’ve ordered 8GB from NewEgg to replace myself for $42. The processor is almost always idle and the graphics never have lag.
- Fast wakeup. Waking up my Mac takes less than 2 seconds. Very cool! Only bad part is that my Macbook has frozen 4 times while sleeping. I had no choice but to hold down the power button for 5 seconds then power back up. But OSX is pretty good about opening all the apps you just had open.
- Software costs money. Something you have to expect with OSX. But I did expect OSX apps to be superior to free Windows apps of comparable functionality. I found that to be untrue. Windows has a huge number of very good free apps.
- Thunderbolt Monitor heat. This is so weird to me–there are not enough heat vents on the 27″ Thunderbolt monitor. Most of the heat pours out through the speakers on the bottom. So I end up with a hot desk and keyboard.
- Macbook Pro key spacing. When a Macbook Pro lid is closed, apparently there is so little space between the screen and keys that oil and smudges transfer from the keys to the screen. After only a week, my screen is covered in key-shaped crap.
- Finder is worthless. There is no place to copy and paste a window location. That is really handy for save dialogs for example. When an image file is selected, sometimes its dimensions will suddenly disappear. Sometimes it comes back and sometimes you have to open it to find out how big it is. I’m going to look into installing a Finder replacement.
- Window switching There is no visual way to switch between two windows of the same app. If the windows are on top of each other, you can either go to Mission Control or right click and choose the window by title.
- Color settings.
When I connect my mac to my home Samsung monitor via VGA the gamma is way off. The display was very washed out. I went through the OSX color callibrator and it made it better but not nearly 100%. Very strange.
- Poor laptop speakers. The speakers don’t go very loud and distort quickly. And in clamshel mode they are under the screen so it is even worse sound.
- Font antialiasing.
I agree that in general OSX font aliasing looks really good. My only problem is that it is often hard to distinguish bold from normal text–especially on small sans-serif fonts.
- Flash drive mounting. Flash drives are slow to mount and complain when you remove them without clicking the eject button. Lame.
- Headphone switching lag. When plugging in or unplugging headphones, the sound takes 2 to 5 seconds to switch to headphones and back to speakers. Every other computer I’ve ever used switches instantly.
- Home and end keys. Apple + Right and Apple + Left do make sense, but the Home and End keys should operate like on Windows 7 and Linux. I have fought it by installing plugins on Firefox and Thunderbird and changing the system setting for keymapping to make home go to the beginning of the line and end to the end.
Would I do it again?
It’s a toss up. If I had to pay for my own software next time, I think I would choose Windows. Overall, Mac hardware makes up for most of my gripes. I am happy with the switch, but I don’t know if I would do it again.