My colleague Ben recently posted a list of the top three Windows applications he can’t live without. With the current popularity of mobile apps for the iPhone and iPad a lot of long-time Windows-based .Net developers are taking the plunge and learning to use XCode and Objective-C on the Mac. In keeping with Ben’s post, as a professional Microsoft developer and an avid Mac user I am posting a quick list of useful applications for those of you new to developing on the Mac.
Number One: Caffeine by Lighthead Software
Caffeine is a small, simple application with a singular purpose: preventing screen dimming and sleep functions while you work. If you have your screen set to turn off after a small delay you know how annoying it can be when you are doing something that does not require constant interaction. Caffeine requires almost no system resources and elegantly allows you to force the display to stay active without mouse or keyboard interaction for as long as you need.
Number Two: TextWrangler by Bare Bones Software
Bare Bones Software is the developer of the venerable BBEdit – a Mac developer’s staple. TextWrangler is BBEdit’s free (as in beer) younger sibling that provides the basic text editing capabilities required for web and shell script development. This is one of the first programs that I download when setting up a new Mac.
Number Three: Transmit by Panic
Transmit is hands down my favorite file transfer client on any platform. Clean, simple, easy to use and yet feature-rich, Transmit plays a role in almost every project I work on. Transmit supports FTP, SFTP/SCP, WebDAV, even Amazon S3, providing fast and consistent access to your servers and files at all times. Honestly, every single application developed by Panic is worth checking out. I use Coda for WordPress development and could not live without it. Do yourself a favor and at the very least buy Transmit.
Number Four: rsync
This is an easy one. Rsync is a unix command-line tool included by default on every Mac. Use it. Rsync allows lightening fast copying/synchronization of local and/or remote directories. Combine rsync with cp-la for quick versioning and easy management of dev/test environments. There are far too many useful applications of this tool for me to get into now but Google it and I am sure you will start to find it indispensable before long.
Number Five: Remote Desktop Connection by Microsoft
While the RDC client is not particularly sexy it is an obvious must have for any Microsoft developer transitioning to iOS development. On a fast network the RDC experience can be almost transparent and it provides an easy way to jump back into a familiar environment when needed – for example, when working on the WCF .Net backend for the app. I would certainly recommend trying to do as much as possible natively on the Mac (even Office for Mac is excellent) but RDC comes through in a pinch. If you have a Mac and a PC sitting side by side on a secure network you might also consider Synergy.
Update: Bonus! Three more Mac apps which I am looking forward to trying out soon.
Querious by Araelium Group
I mostly develop with SQL Server and Oracle databases but for those times (WordPress) when I connect to MySQL I am usually confined to using the excedingly clunky phpMyAdmin. Querious is a native Mac application that looks like a fantastic alternative.
CloudApp is not likely to be the right tool for an enterprise environment but it looks like a fantastic service for personal file sharing that may be even easier to use than Dropbox.
FontCase by Bohemian Coding
I currently use FontAgent Pro to manage my extensive font library on the Mac – and I find it to be ugly, slow and extremely buggy. FontCase doesn’t appear to have nearly as many options and features but if it does what it does well and without show-stopping bugs I just might be tempted to switch. The interface is certainly much more Mac-like.
David Brainer-Banker, Software Engineer and Mac Geek at eImagine Technology Group in Indianapolis, IN