I’m always interested in learning about the tools other developers use during the course of their workday. What follows is a list of my preferred software with accompanying explanations on how I use it. Hopefully this list will prove helpful to someone else! If you’ve got a suggestion for a better program, please let me know.
My preferred terminal emulator is iTerm2, which I mainly use for the split panes and history playback (when I do something that I shouldn’t have). I’m sure I’m just scratching the surface in regards to features, though.
It’s not so often that I need to transfer files via FTP, but when I do I always use Cyberduck. I can’t say that it’s any better than any other popular alternative, but it’s my favorite merely for the fact that I’ve been reliably using it for a long time.
I use Icon Slate for creating, exporting, and packaging icons. The latter point is especially helpful for the creation of retina versions of favicons.
To optimize images I use several different programs, the use of which depends on the file format.
For alpha transparent PNGs I use ImageAlpha, which allows for the conversion of “24-bit PNG to paletted 8-bit with full alpha channel.” This markedly reduces the size of large images, with no perceptible loss of quality.
For JPEGs I use JPEGmini, which also reduces file size rather dramatically. Their proprietary algorithm is superior to Photoshop’s ”Save for Web”, so I usually process the file in JPEGmini in lieu of compressing it via Photoshop.
Once I’ve processed the images with the aforementioned programs, I then make an attempt to further reduce the file size with ImageOptim, which supports GIFs too. This latter step often reduces file size by another few percent.
I have yet to do any native app development, but I do often create responsive designs. To test these in mobile browsers I use the iOS Simulator (via Xcode) and the Opera Mobile Emulator. These programs aren’t a substitute for the actual devices, but they are a close approximation and work well for the majority of the work I do.
For productivity gains within OS X, I highly recommend Divvy for window management and Flycut for clipboard management. Divvy makes it easy to resize windows, which is especially useful when using multiple monitors (what a first world problem, right?). Flycut saves everything that you recently copied to the clipboard and makes it easy to cycle through to paste anew.
For version control I prefer to use a GUI to the command line, since some tasks are easier to do through an application. I use Cornerstone to manage Subversion repositories and Tower to manage Git repositories. I’ve tried several other well known Git clients, but I like Tower the best.
As a front end developer I don’t typically need an integrated developing environment, so Sublime Text is my text editor of choice. It’s lightning fast, easily extensible, and enables me to efficiently write code with split editing and multiple selections. I’m definitely looking forward to the 3.0 release!
While not exactly an application for development, I use iA Writer to write all my posts. It’s especially nice that Jekyll comes with built in support for Markdown, so using iA Writer only makes sense.