My Ultimate Developer and Power Users Tool List for Mac OS X

Update: Be sure to check out the 2010 Edition

Local Rails developer Mike Gunderloy recently posted a list of the tools he uses in his daily life as Rails developer. While I don’t dabble too much in Rails these days, I thought it would be interesting to share the list of tools I am using on a daily basis as a Mac developer.

Hardware

I’ve simplified my hardware setup a great deal in the past few years. Since last November I have been using a 15” unibody MacBook Pro as my primary machine. I’ve maxed out the machine at 4GB of RAM 1 and with a 320GB 7200RPM hard drive. It is, without a doubt, the finest computer I have ever owned.

I like having a single machine since it eliminates the need to sync data between two or more machines, but I can’t help but be jealous of those with an 8-core Mac Pro when it comes time for me to do large compiles, heavy audio production work or encoding video.

In terms of accessories and upgrades to the machine:

  • When I’m at home I have my laptop connected to a 24” Apple LED display. I keep the laptop on a Griffin iCurve so that it is level with the cinema display and can have dual monitors. I don’t actually use the laptop display that much, but I was always paranoid running the machine in closed lid mode.

  • I use a wired Apple Keyboard. I loathe loud keyboards and find the tiny laptop-style keys to be pleasing and allowing me to type much quicker.

  • I recently upgraded to a Logitech Performance Mouse MX, which is the latest version of the company’s high end mouse. I like giant Logitech mice because I can bind the extra buttons to Expose and Dashboard actions. It is my favorite mouse and a great upgrade over the MX Revolution I had prior. The only caveat is the battery life feels like it’s been cut in half.

  • I have a 48GB Wintec SSD in my ExpressCard slot. I store my VMWare images on here: Windows 7, 10.5 Snow Leopard and 10.5 Leopard. If you are using VMWare or Parallels on a portable, offloading the image to a secondary drive is like night and day in terms of performance. I am actually hesitant to upgrade this machine to the newer versions because of the loss of the ExpressCard slot.

  • Time Machine backups are handled by a 1TB Western Digital MyBook connected via Firewire 800. It’s fairly quiet is one of the few external drives I’ve found that doesn’t have a horrific design.

  • My new years resolution for 2009 was to adopt a paperless office, so I use a Fujitsu ScanSnap S510M to scan in my documents.

Software

I am really hard on software. This is for a variety of reasons, but I think it is because I build it myself. I have always envisioned that directors and actors can sometimes lose focus during a movie as they judge the decisions others made in their productions. I feel like I do the same thing with software.

I loathe poor and/or non-native user interfaces and cherish simple tools. These are applications I constantly rely on.

The Essential Power User 5

  • Acorn - Acorn is everything Photoshop used to be before Adobe lost its focus and started building bloated software. If only it had AppleScript support. 2

  • BBEdit - I use BBEdit for everything from editing scripts to writing my weekly newspaper column. It is an indispensable tool that can be adapted for so many use cases.

  • SpamSieve - I am not sure if Apple has improved its junk filtering in Mail.app in subsequent releases because SpamSieve has been a staple on my Mac since either Jaguar or Panther. I don’t anticipate that changing anytime soon.

  • TextExpander - If you do any sort of customer support, TextExpander is a must have. I have snippets created for each of my products’s most frequently asked questions as well as common troubleshooting steps. What sets TextExpander apart, however, is the AppleScript support, which I use for a variety of different text-related tasks as well as expanding unique product tags to my email signature.

  • The Unarchiver - A file extraction utility is somewhat of an unsung hero, but when you need it, it’s good to have a utility that is robust and can fit almost any bill. The Unarchiver does that and does it well.

Developer Tools

  • Xcode Suite - Rather than listing Xcode, Interface Builder, Instruments, etc as individual items, I’ll just state that Apple builds an excellent set of developer tools. The Xcode 3.2 upgrade with Snow Leopard has been a tremendous success for me in terms of developer productivity and I can’t think the tools team at Apple enough for their hard work.

  • GHUnit - I am slowly getting on board the test-driven development bandwagon, and that is thanks to GHUnit.

  • AppKiDo - The documentation viewer in Xcode 3.2 is much improved, but I still wish it was a separate binary that I could keep in my dock and capable of showing up via Alt-Tab. Until that time, AppKiDo is a must.

  • Accessorizer - Select ivars, press a few keys. @properties declared. The amount of typing it saves makes it worth every penny.

  • Changes - I was never a fan of FileMerge, but have found Changes to be vital to my workflow when running diffs on my Git commits.

  • Core Data Editor - If you are working with Core Data, this application makes it easy to inspect and modify the data store.

  • GitX - I really wish there was a Versions quality application for Git users, but GitX is the best we have. Maybe someday.

  • HTTP Client - Whenever possible I prefer a good native tool to performing actions via the Terminal. When I’m testing out Web scripts or working on my new 20% project, I am constantly sending URL commands via this application.

  • iPhone Backup Extractor - When doing iPhone support, it is sometimes beneficial to get a copy of the user’s data and preferences. Using this application, it’s fairly easy for the user to handle on their end.

  • xScope - I use xScope to detect colors on various UI elements, check alignment of controls and to measure the distance between objects. If you are meticulous about your UI, it’s a great utility.

  • Sdef Editor - I am in the process of adding AppleScript support to the Second Gear product line and I’ve found Sdef Editor to be the easiest way to generate the scripting definition file.

  • AppleScript Editor - Speaking of AppleScript, I still use the bundled script editor rather than a more powerful tool like Script Debugger. I am sure that Script Debugger is a fine application, but I’ve never taken the time to test it out since the bundled editor is good enough.

  • AppViz - Curious how much money you are making or losing on the AppStore? Use this to fetch and aggregate all the reports from iTunes Connect.

  • Passenger PrefPane - I don’t do much with Ruby on Rails anymore, but when I need to fire up an application, I prefer to set it up using Phusion and this preference pane to mimic my deployment setup.

  • Coda - I manage the Second Gear and Plugged In Web sites using Panic’s excellent Web development IDE.

  • Querious - It was a toss up between Querious and Sequel Pro when trying to decide what I would use as a replacement for CocoaMySQL. I settled on Querious mainly because it was a paid, company backed product rather than a free-time open source app like CocoaMySQL was.

  • Feeder - I use Feeder to update the Plugged In podcast as well as several different Sparkle AppCast feeds. It’s one of the best user experiences I’ve found on the Mac.

  • Fluid - Fluid isn’t necessarily a developer tool per se, but I do use it exclusively to create a FogBugz.app for managing my support queue and bug tracking 3.

User Tools

  • 1Password - I have a love-hate relationship with 1Password. I love it in so many ways because it has made my life so much easier when it comes to remembering logins, filling out web forms, etc. Unfortunately I also hate it because I get frustrated when I can’t use it in an unsupported Mac browser or when I’m booted into Windows.

  • Backblaze - While I primarily rely on Time Machine for my backups, I also subscribe to Backblaze to offload the contents of my hard drive to the Internet.

  • FastScripts - The default scripting menu in OS X is good enough for basic scripters, but I’ve found FastScript’s enhancements most beneficial: mainly the ability to assign keyboard shortcuts to scripts in certain instances.

  • GlimmerBlocker - Most ad blocking software works as a browser plugin. Glimmer Blocker is a background service on your Mac that proxies your traffic. The benefit is it works in all browsers and doesn’t compromise Safari’s stability.

  • Launchbar - I use Launchbar primarily as an app launcher, but I also am a big fan of version 5’s clipboard history feature.

  • LittleSnapper - LittleSnapper is an application I didn’t know I needed until I had it. I am constantly using it to take screenshots of Mac and Web user interfaces for future inspiration.

  • MarsEdit - I write all of my blog posts in MarsEdit. Of the desktop blogging apps available presently, it’s far and away the best.

  • NetNewsWire - NetNewsWire has long been my go-to RSS reader for the Mac. Nothing has ever come close to its featureset and keyboard-savvy workflow. I am hoping that with the recent release of NetNewsWire 2.0 for the iPhone and 3.2 for the Mac, more updates are on the way.

  • RCDefaultApp - RCDefaultApp is one of those applications that has been on my Mac for so long, I take it for granted. For those times when you want to force a file extension to open in a specific application, it’s great.

  • Steermouse - Steermouse is the third-party mouse driver I use to support all the buttons and functions of my Logitech mouse.

  • Things - Everything that isn’t stored in FogBugz is stored in Things. Personally I love being able to keep track of my bills that need paying a few. Professionally I use it to manage smaller projects that don’t necessarily warrant being stored in FogBugz.

  • Tweetie - While the iPhone is chock full of great Twitter clients, the Mac landscape is a little less fruitful. Tweetie is my client of choice, but I can’t say I’m completely satisfied with it.

  • Viscosity - I use a VPN service whenever I am at a hotel or Starbucks. Tunnelblick, while free, has a horrific user experience and is pretty buggy. Viscosity on the other hand, is a pleasure to use and at only $9 is well worth the investment.

  • VisualHub - You will have to pry VisualHub from my cold, dead hands. It is still the best solution for converting between video formats. I am watching VideoMonkey as a replacement, but it’s a bit too early in its life to take VH’s spot.

  • VMWare Fusion - As I mentioned previously, I use VMWare Fusion to natively run Windows when necessary and as a way of keeping a clean copy of Leopard and Snow Leopard handy to test on prior to releasing a new product.

  • VoodooPad - VoodooPad backs up my brain. Anytime I have an application or feature idea, I don’t get out a cocktail napkin. I archive it in VoodooPad. Serial numbers, business correspondence, whatever. It’s all in VoodooPad.

Audio Production

As I’ve mentioned in the past, I produce a weekly public radio show in my free time. These are the tools I use.

  • Soundtrack Pro 3 - Soundtrack Pro 3 is a decent product, but it’s a bit too video centric in many ways and also somewhat buggy for my workflow. As a wave and multi-track audio editor on the Mac, however, it’s the best there is.

  • Adobe Audition 3 (Windows) - I actually prefer to use Adobe Audition in Windows 7 when I have to do any sort of recording or editing because the workflow is far superior to anything that is on the Mac. I hope and pray nightly that Adobe will port this product to OS X.

  • Skype - I record most of my interviews for Plugged In using Skype.

  • Call Recorder - Call Recorder is the least hassle for recording the audio of a Skype conversation.

  • Wiretap Studio - WireTap is indispensable for extracting audio from Safari or any other Mac application.

  • AudialHub - Like VisualHub, you’ll have to pry AudialHub from my me. It’s the best for converting between a variety of different audio formats.

  1. I am annoyed I can’t put 8GB in as you can with the newest machines.

  2. Kidding Gus!

  3. Though I’m still wishing someone would build a native FogBugz client for the Mac.

About Justin

Justin Williams is the Crew Chief of Second Gear, makers of Glassboard. He writes about consumer technology, running a bootstrapped software business, and more from Denver, Colorado.

Follow @justin on Twitter or get new articles via @carpeaqua.