One of the things I think of every single working day is how great a platform OS X is for software development. Now, take that with a grain of salt… I do development in a LAMP dev shop running Linux, Apache, MySQL and Perl/PHP, but we’re running some enormous sites (LowFares.com, IdentityTheft.com, and Low.com). All of those technologies are open-source, and (in my opinion) very well suited for serious commercial sites. Java is fine if you need to send a man to the moon, but it you just need to say “Hello World!”, you’re still might be dealing with a rocket launch…
Peanut Gallery Java Pot-Shots
.NET isn’t any better… every .NET shop I’ve dealt with has had horrible down-times and massive release delays… but I digress…
Why is OS X Awesome for Software Development?
- ExposÃ© — this feature saves me 30 to 45 minutes per day (yes, I’ve timed it). It’s unbelievable how much time you can save if you can quickly get between documents and apps.
- The BSD Subsystem — if you’re working with Linux/PHP/Perl/MySQL, it saves so much time to have OS X’s Terminal right there with a Unix variant under its hood. No need to emulate with Cygwin or go remote with Putty. You can test your Apache config or database queries without ever having to connect to the network.
- My Mac Runs Windows! — I can test my web pages in all major browsers by flipping between OS X and Parallels Desktop running Windows, or by using VirtualBox.
- It’s Not Windows — ha ha… I had to slip that one in. Sorry if you’re suffering through XP. I mean Vista. I mean the NT kernel.
Top 10 Applications for Software Developers on OS X
Ok, on to the main event. Here are ten great applications for a software developer working in OS X. These are the applications that have found an integral place in my workflow. Not all of them are free, but I have tried to list a free alternative when appropriate. I’m not recommending you get ALL of these, but depending on what exactly you’re doing, you might want to try out a handful of them.
1. iTerm (Free)
Link – iTerm
This is to the command line what Firefox is to browsers: if the Terminal is IE, iTerm is like Firefox. It is simply a better Terminal. It allows tabs and bookmarks for those of you who log into multiple servers.
2. TextMate ($57)
I do like Smultron a lot (it’s free), but TextMate’s interface is preferable to me. It’s similar to a full-featured IDE such as Eclipse (which is also free) because it gives you a full folder-structure view in its document drawer (something that Smultron or TextWranger do not).
One thing – unlike Eclipse, TextMate is lightweight and fast without ump-teen Preference pages. If you need an IDE, give NetBeans (free) a try.
3. Transmit ($30)
Although there are free FTP clients out there, Transmit has one of the best interfaces because it incorporates Mac OS X’s column view. To be fair, I have had some problems connecting to certain servers when using Transmit, but I don’t know enough of the firewall internals to know why one client performed better than another.
If you prefer a free alternative, my recommendation is Cyberduck (free).
4. Sequel Pro (Free)
Link –Sequel Pro (Free)
There are only a couple of choices when it comes to GUI MySQL interfaces for OS X, the other big one being Navicat (they have a lite version that’s free). The other popular choice for a long time was CocoaMySQL, which is still available for 10.4 users, but development on it has been abandoned and the project has moved over to Sequel Pro (the sequel… get it?) Sequel Pro offers an improved interface for 10.5 users (I prefer it to Navicat).
5. Omnigraffle (Bundled with OS X, or $100, or $200 – Pro)
Link – OmniGraffle
Imagine Microsoft Visio, but clean and not bloated and well… not Microsoft. If you have to diagram databases or put together product requirements for documentation, this is a beautiful little product that may have come bundled with your Mac. The Standard version can almost get you through the medium and large projects. I haven’t seen anything on the Mac that comes close to what this application offers, and even though I get the feeling that the high price tag is getting validated by riding Visio’s bandwagon, I still think this is a good bit of software.
6. PhotoDrop (Free)
Link – PhotoDrop
This is a very simple app that lets you create droplets for bulk image processing. Each droplet can do things like convert images between formats, perform scaling and cropping, even watermarking. If you are doing web development, this is just a simple (and much cheaper) alternative to running Photoshop’s Save for Web feature over and over and over again. Very, very handy.
7. The Unarchiver (Free)
Link – The Unarchiver
This is handy if you’re frequently dealing with Zip, Tar, GZip, BZip2, Rar, 7-zip, LhA, and StuffIt files. Yes, you can handle many of these on the command line, but if you’d rather deal with a GUI, this tool is handy.
8. Nvu (Free)
Link – Nvu
This is a complete Web Authoring System for Linux, Windows and OS X. It’s like a free version of Dreamweaver (which maybe you’ve already outgrown?).
9. Seashore (Free)
Link – Seashore
This is a lightweight photo-editing application. It’s got all the things in Photoshop that I use frequently (layers, brushes, and exporting for web). It’s got some handy keyboard short-cuts, but it’s missing others.
10. SuperDuper! (Shareware, $28)
Link – SuperDuper!
This is a popular backup utility. If you’re serious about doing development work, you know there is a lot of effort put into maintaining your valuable code and prior versions of it. You can use SuperDuper to create bootable clones of a drive, too. Hot stuff.
You can use SuperDuper! for free (forever), but the advanced features are available for a $28 fee.
Honorable Mention: Fluid (Free)
I mention this little app because I’ve found it extremely handy over the past couple days. If you compile a site into its own app, you can take advantage of the built-in Apple-tab shortcut to get to it. Another really helpful thing about working within the application-switching workflow is that you can assign the application(s) its own icon. That’s REALLY helpful when you’re working with a dev and a production version of a site… honestly, those simple little things can prevent disaster.
But the real reason I was compelled to mention Fluid is its inspector. It breaks a page down into the html tags, images, and style sheets ridiculously well. In my opinion, the layout of this program is sickly good… IMHO it’s better than the revered debugging plugin Firebug for Firefox. Wow. Yes, really. I’ve never had an easier time tracking down problematic HTML or a goofed up CSS declaration. However, the Fluid-compiled web site seems to have some weird behavior with its caching… you know the drill: make your edits, clear the cache, refresh the page. But sometimes the Fluid version doesn’t refresh correctly. I don’t know if this is something I can configure or if its an artifact of compilation, but I really hope it’s the former. The DOM inspector is just too slick to overlook. For more information, check out Brian’s post about Fluid.
I hope you’ve benefited from my sharing of this short list. I don’t recommend that you rush out to get all of these programs: some of them may be more relevant than others. If you think one looks interesting or practical, give it a try and see if you like it. Feel free to post your own suggestions about helpful OS X applications for software and web development.