5 reasons why OSX is an unbeatable web development system

A few months ago I made the switch to Apple’s OSX after a long time as a dedicated Windows user. Overall I’m very happy with the experience so far, it’s really surpassed my expectations. There are loads of articles out there that tell you why you should switch and it seems a weekly occurrence for a “switching” story to hit the front page of digg.com. Looking back to before I switched I had some concerns, and one of them was certainly web design. How could I possibly replace the tools and techniques I’d used for years, all of which seemed stuck in Windows. So, for those of you who may be in a similar situation, I present 5 reasons why OSX is the best web development system out there.

  1. The Operating System – I guess this is probably the most contentious point, so I thought I’d get it out of the way early. OSX is, simply put, miles ahead of Windows in pretty much every department. That’s a sweeping statement, I know, but having experienced both sides of the fence, I feel I can comfortably make that statement. OSX flexes its muscles with an amazing interface that isn’t just pretty but easy to use, simple and incredibly intuitive. Its also very stable and everything, well, it just works. Thankfully for the web developer, theres also the power of terminal hiding in there. This means that OSX actually provides a very similar platform to the one you will inevitably end up using in production, i.e. Linux & Apache. Until you’ve searched for hours through php code in an attempt to figure out why your script runs locally on Windows but not on your Linux production server you won’t appreciate this. I really appreciate this. And don’t forget, Apache is installed and configured for you by default (but if you do intend on doing your own build, like I did, make sure you tailor it to your architecture, Intel or PPC).
  2. Those Special Apps – On Windows I was a die hard fan of Notepad++. I loved it dearly and it did everything I wanted. It handled PHP, XHTML, CSS and everything else I threw at it. After my switch to OSX I struggled to find something I liked as much. I tried out TextWrangler and a host of other applications but never quite got back to that sweet spot of productivity. All that changed when I tried out TextMate, which blew me away. Now, after just a few weeks of using TextMate I’m at least a level above what I had with Notepad++. The thing about TextMate is that there are a ton of plugins available for it. So no matter what you are working on, it will have ways of making your life just that little bit easier, and isn’t that just what you want from a text editor? I have had to concede something though, I no longer do everything in one editor. I picked up CSS Edit to handle CSS and it’s a life saver. I’ve used quite a few CSS editors in the past, some specialised and some more generic web development tools and CSS Edit is head and shoulders ahead of any of them. The reason? Well it has an incredibly handy X-RAY feature, which shows you the part of the DOM that applies to a certain element (hierarchically) and it also knows about all the relevant CSS attributes. All of them.
  3. Those Special Little Apps – The two applications I mentioned above, while great, do not cover all the bases. Filling in the gaps are those unsung little applications that help you out on a day to day basis. Also, CSS Edit and Text Mate will set you back some cash (they are most definitely worth it though), but the ones I’m about to mention won’t. For starters, there’s Cyber Duck, which is as an accomplished FTP client you could hope for. For the “newbies” it has drag and drop simplicity but those who want to, can pull out its extended tool belt and use automatic synchronization and all sorts of other really cool stuff. There’s also some really small apps out there, like Paparazzi and Image Well, which just make previously annoying tasks a whole lot easier. Safari is something you will find on every app and, while I’m still firmly in the FireFox camp, its a very capable browser, as is Camino. And remember, things like Photoshop, MS Office, Open Office and the GIMP all run on OSX as well.
  4. Parallels – This is the app that everyone has been talking about recently. It takes the new Intel architecture inside shiny new Macs and allows you to run other Operating Systems inside OSX. And inside is a very important word in that sentence, you don’t have to reboot to get into Windows, its just like running any other app. The newer builds introduced something called coherence mode, which essentially lets you run windowed applications from other operating systems as OSX windows. Its really revolutionised the way I test and cut testing time down by a massive amount. The image you can see to the right is an example of how it works. I’ve got FireFox, IE6, IE7 and Safari all running right next to each other, side by side, trying to fix some CSS issues. Show me that on Windows!
  5. Quicksilver, Automator and Applescript – I’ve bundled these three together but I could write a book on each one. Having come from Windows I really wasn’t able to streamline my workflows using tools such as these. Quicksilver has been such a revelation I’m fairly sure that the majority of Windows users would curl up into the fetal position if they were ever exposed to it. Its officially an app launcher but it does so much more. If you can think of something you do regularly on a computer, lets say emailing a group of pictures to a friend, and break it into a functional sentence, then quicksilver can do it. With this example, you would select the pictures in finder, invoke Quick Silver, type compress, choose zip, then compose and write your friends address. You will then be presented with a compose email window with your zip file attached. Isn’t that just breathtaking. Then theres Automator and its more hardcore, nerdy brother, Apple Script. These tools allow you to script many actions in the OSX and other applications. An example of how this can be used is running a script, that you’ve written, to download the latest version of WordPress from SVN, install it and configure it in a new directory (complete with relevant database settings, I’ll post this script at a later date). All with one click (and a few text fields obviously). Of course you don’t have to limit this to WordPress, if you have a structure you use for all your sites then you could set this up with one click. Of course you could do this with Windows but the ease of use isn’t comparable. By combining these three tools the really mundane aspects of web development, especially the crucial “getting started” phase, is a breeze. It does for me what many people claim Rails development does for them, except without the drawbacks.

So, to summarise, I’m at a point where developing a web application is infinitly easier than it was on Windows. The one thing that I think is really exciting is that I’ve only been using OSX for 6 months and I’ve already surpassed what I could do on Windows, a platform I had used in various guises for 16 years. I would thoroughly implore you to check out OSX and if you already are using OSX, then try out the applications I listed above. They are so crammed with features it would take my days to go through each one!