My Ultimate Developer and Power Users Tool List for Mac OS X (2011 Edition)

This is the third installment of my must have must have list of tools and utilities as a Mac and iOS developer. A lot can change in twelve months when you work in the technology space. The biggest change for developers in the past twelve months is the completed transition from Xcode 3 to 4 and from iOS 4 to 5. Oh, there may have been a new version of Mac OS X thrown in there for good measure too.

The idea for this list was shamelessly ripped off from Windows developer Scott Hanselman whose list is an enjoyable read every year.

Many of the products you will recognize from previous years’ lists. I’ll outline new additions to the list as I go by marking them in bold.

Hardware

This year I transitioned back to a dual Mac setup again. My daily driver is a 27” i7 iMac with a 256GB SSD, 2TB spinning disc and 16GB of RAM. There is absolutely no reason for me to have 16GB of RAM other than to brag about the fact that I have such a ridiculous amount of memory.

I pair the iMac with a 13” i7 powered MacBook Air. The Air is probably my favorite of the two machines because I am much more comfortable typing and manipulating a trackpad on a laptop than I am a bluetooth keyboard and Magic Trackpad. And I can use it on my couch.

I was a former proponent of the single machine lifestyle, but Dropbox has made sharing files between the two relatively painless. I keep most of my work-related stuff in Dropbox and then use version control for all of my code. That, along with iTunes Match and Spotify for my music has made keeping two machines “in sync” a much easier proposition than it was just two years ago.

In terms of accessories and upgrades:

  • I use a Wireless Apple Keyboard. I loathe loud keyboards and find the tiny laptop-style keys to be pleasing and allowing me to type much quicker. I do wish it was backlit like on my Mac.

  • I use a Magic Trackpad, to do all of my pointing and clicking. I am a big user of multitouch gestures in Lion, so I am incredibly comfortable using the trackpad. When I am doing audio editing, I keep a Magic Mouse around for more precision work, but 95% of the time I am using a trackpad.

  • 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.

  • I am a completely paperless office thanks to my Fujitsu ScanSnap S510M. I usually scan all my receipts, bills and invoices once a month and then run them through OCR so I have a searchable archive on my Mac.

  • I connect to the Internet through my Airport Extreme Base Station. It cost more than a Linksys but it’s super reliable and the management software is much more pleasant to use.

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. I still have a copy of Photoshop CS5, but it’s used sparingly since Acorn can handle almost everything I want.

  • 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. TextMate 2’s alpha recently shipped and I dabbled with it, but I’m past it. BBEdit never abandoned me.

  • Dropbox - Dropbox is the secret sauce for a variety of reasons. It makes it easy to share files between machines as well as with colleagues. Beyond that, maybe you’ve heard of Elements and the many other great iPhone apps that sync data using Dropbox?

  • OmniFocus - I don’t know how I ever stayed organized before OmniFocus on my three screens. It’s my brain.

  • 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.

Developer Tools

  • Xcode - If you write Mac or iOS applications, you spend most of your life in Xcode and Instruments. I am no different.

  • Appfigures - Manually fetching iTunes sales reports is tedious. Appfigures is a low cost Web services that will import your reports and send you a daily sales email. You can also do a lot of other analysis on you sales to find trends, but I generally use it for the daily email.

  • Base - Elements has a SQLite database behind it. I’m constantly inspecting the database contents using this application. It’s lightweight and easy to use.

  • 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. Changes isn’t updated often, so I am starting to think about changing to a different diff tool.

  • Cloak: If you connect to any shade or insecure networks, Cloak is a super easy VPN service to secure your traffic. On my Mac, I like it because it will automatically connect when I join an insecure network. Even better, it’s just a tap away from toggling on my iPhone and iPad.

  • Coda - I manage the Second Gear site using Panic’s excellent Web development IDE.

  • CodeRunner: There are times I am writing a small snippet of code to share withs someone or just to test an idea on my own. I don’t necessarily need the full power of Xcode, so CodeRunner comes in quit handy. It’s even more useful in its support of other languages like Ruby and JavaScript.

  • Cornerstone - For those few times a year I need to work with Subversion, Cornerstone is the best desktop client I’ve found for it.

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

  • Git: I am a longtime Mercurial user, but I have started to use Git more as I contribute to open source and collaborate with others on projects. In my ideal world I would convince everyone to switch to Mercurial, but that isn’t realistic. I don’t hate Git, but I don’t love it either.

  • Gitbox: Working with Git is a little more tolerable thanks to Gitbox. I have tried quite a few GUIs for Git and this is the one that sticks with me most. Tower is sexier, but Gitbox is more powerful.

  • Go2Shell: A small utility app that I keep in my Finder toolbar to open a Terminal window in whatever folder I am currently looking at.

  • HTTP Client - If you’re working with Web services and want to test out REST queries, this is a must have.

  • 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.

  • Jenkins: I keep a separate Mac mini in the office that does nothing but build copies of Elements and Today whenever I make a change. It also will run my small suite of tests to ensure that everything is up to snuff. I question the usefulness of this in a single developer environment sometimes because of how complex it is, but it has saved me at least once from shipping a bad build.

  • LangSwitch - If your Mac application supports multiple languages, LangSwitch makes it ridiculously easy to relaunch the app in a specific language rather than having to adjust your language preferences in System Preferences.

  • Mercurial - All of the Second Gear code is stored on Kiln, the Mercurial hosting service provided by Fog Creek. I like Mercurial because the user interface is simple and sane. I like Kiln because it integrates with my FogBugz installation.

  • MindNode Pro - I’m a recent convert to mind mapping and use it to sketch out software releases, blog posts and presentations rather than OmniOutliner these days. This is the best app I’ve found on the Mac.

  • Querious - If you need to connect to local or remote MySQL databases, this is a great application to do so.

  • Hex Color Picker: My designer sometimes sends me hex values for colors I need in my user interfaces. This coupled with my next pick makes it easy for me to grab an NSColor or UIColor value.

  • Dev Color Picker: Must have. Choose whatever color you want and then it will output a UIColor or NSColor for you.

  • Patterns: I don’t think I will ever fully grasp Regular Expression syntax. Patterns makes it easier for me to fumble around trying to build and test a regex compared to doing sample finds in BBEdit.

  • RESTed: RESTed is a little bit more complex than HTTP Client. I tend to use it more when I am working with a web API I am writing myself because I can configure a few more options such as auth tokens and API keys easier.

  • Sdef Editor - If you are wanting to add AppleScript support to your Mac product, I’ve found Sdef Editor to be the easiest way to generate the scripting definition file.

  • 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.

User Tools

  • 1Password - One of the first tools I install. It’s Dropbox over-the-air syncing makes using it on my iPhone and iPad even easier. It also has made me use better passwords because I no longer have to remember them. 1Password does that for me.

  • 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. It’s also the only backup I use on my Air since I don’t keep too much non-cloud stuff stored on it.

  • Byword: A lot of people ask me to do a Mac version of Elements. I may someday, but I keep putting it off because Byword is so good. Maybe I’ll just buy them instead.

  • Chrome: Safari in Lion was a step back in terms of performance and resource consumption. I suppose it’s to be expected given it has the new process architecture under the hood, but it was so frustrating that I switched to Chrome. I may never switch back. I love this browser.

  • Cloud - Whenever I want to share a screenshot over iChat, I don’t paste them into the chat window because despite being in the future, file transfers over AIM are still unreliable. Instead, I send them to Cloud and then paste the URL into the chat window.

  • 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.

  • 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.

  • 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.

  • PDFpenPro - Preview is a fine PDF viewer, but if you need to sign contracts, make edits to PDFs or create new forms, PDFpenPro is top notch. Bonus: it’s a lot cheaper than Adobe Acrobat.

  • 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.

  • Spotify: Thanks to Spotify I buy a lot less music on iTunes. I look at Spotify as a $10 monthly fee to have full-length iTunes previews. If I like an album enough that I listen to it a few times, I still purchase it through iTunes so I have a bit of ownership.

  • Soulver: Marco turned me onto the iPhone version of Soulver and now I am a convert on the Mac too. It really is a much better interface for doing quick (or complex) numeric calculations.

  • Today: It’s only fitting that I use my own calendar app. I split my time about 50% between Today and iCal. Today is a great calendar to keep up during the day to see what’s on my agenda whereas I still use iCal to reorganize and manage what is on that calendar day-to-day.

  • 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.

  • Yojimbo: Yojimbo isn’t necessarily new to me, but I did stop using it for a few years. I now am back using it again as a sort of dumping ground for links, videos and other stuff I want to reference again someday but don’t necessarily have a good place to store it now.

Audio Production

Outside of doing software development, I talk about software development and technology in general with my Windows development buddy, Mikel Berger on IRQ Conflict. These are the tools used to produce the show and some other audio gimmickry I pursue:

  • Blue Blubird - I chose to buy an XLR mic because I could easily upgrade to a mixer someday without having to also buy another mic. Choosing a microphone is a personal thing, but this one had the right amount of audio quality and style for me.

  • Icicle - I’m still not ready to commit to putting a mixing board on my desk, so I am using this XLR to USB adapter also from Blue to connect to my Mac. I’ve noticed no real downsides to it other than it sometimes loses connection with the USB hub I have it plugged into. Just make sure it shows up as an input source before recording and your’e good to go.

  • Adobe Audition 3 (Mac) - Last year I was still using the Windows version of Audition in VMWare. The Mac version finally shipped and it is great. It’s got those typical weird Adobe interface issues, but I wouldn’t recommend another multitrack editor over this one. It’s a great workflow.

  • Capo: I took the time this year to learn to play the guitar. By learn, I mean I started scouring YouTube and Google to figure out how to play songs I like on it. Capo is a great addition to that in that it allows me to slow down a song so I can try and figure out exactly what chords are being played. It’s magic.

  • GarageBand: Learning to play an instrument gave me an actual use for GarageBand. I now plug into my Air or iPad, record my play and then listen back to see how awful it sounds. It’s learning by torture.

  • Jam by Apogee: I use Apogee’s USB and iPod interface to plug into my guitar into the iPad or a Mac . It’s not the cheapest, but I do believe it is the best.

  • Skype - Mikel and I use Skype to record IRQ Conflict.

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

  • 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.

About Justin

Justin Williams is the Crew Chief of Second Gear. 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.