It’s been a few years since I’ve done a proper review of the software I’m using. I find it a useful activity to take a look at those apps which help me be a productive freelance and indie software developer. This article covers only macOS software, since getting an M1 MacBook Air I have few reasons to use iOS apps for work purposes.

What I need to do

  • Communicate with my clients
  • Provide support for my indie apps
  • Write proposals for new projects
  • Plan projects
  • Track tasks - for projects and for supporting existing apps
  • Designing UI for mobile and web apps
  • Develop apps for iOS
  • Develop apps for Android
  • Develop web apps (writing both frontend and server-side code currently in AngularJS, Angular and PHP)
  • Create/update websites for my indie apps
  • Forecast income over the next few months
  • Track time spent on projects - both fixed price and work charged for time spent

Main software

Emacs

I only started using Emacs in 2017 (which prompted me to write my app beorg) and now use throughout my day for writing code (when working on web apps), editing my websites, planning projects, tracking time and more. As a computing environment Emacs is a unique piece of software - a learning curve to be sure but it can change the way you think both about how you use your computer.

Org mode is used for planning, writing project proposals, tracking time and forecasting income. I use Magit for anything git related - with the exception of Android development where I quite like the git support built-in to Android Studio.

Xcode

Xcode is a necessary hurdle to creating iOS apps. As a text editor it doesn’t do it for me - I miss too much the power of ViM style modal editing. Whilst prettier than Android Studio it lacks the power of that rival tool.

Android Studio

I quite like Android Studio - mainly for its very good ViM plugin. Writing Android apps still seems to take more effort than iOS apps - and Google are far too fond of deprecating code so keeping apps updated over a number of years takes too much work.

Sketch

A most excellent app. I remember the days before Sketch and always hated using Photoshop - thankfully in those days I worked in an agency where I had designers on hand for UI work (and questions I’d have about how to do something trivial in Photoshop).

Spark

For email this is what I’ve settled on and haven’t seen a reason to change. It works on all my devices and I find the snooze feature invaluable for not feeling overwhelmed. I feel as though I should have spent more time trying to get email working in Emacs - but despite trying a few times I keep coming back to a graphical email client.

VirtualBox / Ubuntu

I’m spending about 50% of my time working on a web app for a client and rely on VirtualBox to provide a VM containing my development environment. I SSH into my VM and run Emacs in a terminal. Emacs on Linux seems a bit faster than in macOS. Maybe some day I’ll try again to get sshfs working.

Firefox, Safari and Chrome

On my iMac I use Firefox for everything except web development - the development tools in Firefox started becoming unreliable for me a couple of months ago. Also there is the fact that most of the users of the web app I work on use Chrome.

On my M1 MacBook Air I use Safari - I’ve been persuaded by the battery life benefits.

iTerm 2

I have a terminal open most of the day and iTerm 2 is my app of choice - although the macOS Terminal.app is quite good.

Everything else

I subscribe to Setapp and have discovered many great apps from the service - some of which are mentioned below.

Alfred

I’ve got a few workflows and still like to use this instead of Spotlight (although that has improved tremendously over the years as a launcher).

Hugo

Most of my own websites use the static website generator Hugo. Fantastic tool.

Paw

Invaluable for debugging issues with web services that I need to use created by other developers for projects I’m working on.

1Password 7

A great password manager. Loving it even more on my new MacBook Air with Touch ID.

Fantastical

I don’t use any advanced features, I just prefer the look to the macOS calendar app.

Apple Music

Now I’m home working and have given up my office due to the ongoing pandemic this is a vital ‘tool’ for blocking out the sounds of my children when the schools are closed.

Pixelmator Pro

I used to subscribe to Photoshop CC, but found myself using it less and less now that pretty much all my clients use Sketch. Pixelmator Pro is a much easier tool for occasional use and seems more geared to my needs.

And the rest…

I’m sure there are more apps I use on a daily basis, but they’ve likely become so ingrained into my workflow that I barely notice them.