The Software I Use (2017 Edition)
I mentioned in my recent MacBook Pro review that I spend a lot of time at my computer. As you would expect, I use a wide range of software for a ton of different tasks. Since my setup is constantly evolving (and sometimes devolving, admittedly), I thought it might be interesting to document what software I’m using, why I use it, and to eventually see how my setup changes over the years.
What follows is a detailed survey of the software I relied on in 2017. Everything mentioned here are things that I use either every day, almost every day, or on a semi-regular basis.
My primary operating system is macOS High Sierra (10.13). I upgraded from Sierra (10.12) this year and everything has been working without a hitch. I don’t really notice a difference with the new APFS file system, but I don’t think you’re supposed to. Apparently it is more reliable than HFS+, and since I haven’t seen anyone refute that, I see APFS as a good thing for the future of the platform.
In fact, I don’t really notice a difference in anything in this release, but I haven’t run into any regressions so overall I’m happy with the free update. Of course I wish there was something “new and shiny” (in the OS, not just the bundled apps) and every year I highly anticipate the WWDC keynote primarily for the preview of the next version of macOS. In fact, it’s kind of like a personal holiday for me. This year’s macOS announcements were underwhelming to say the least (like the past three releases), and that’s not necessarily a bad thing for a mature platform. But when I see Microsoft continuously announcing exciting updates for Windows, I wish Apple seemed halfway as enthusiastic about macOS.
As a little side note, I also look forward to seeing Apple’s usually great default wallpaper for the new OS every year, but for the first time in recent history, I wasn’t a fan of the new one in High Sierra (and they only had one this time).
iCloud is something that has been slowly improving over time and it really does make my life easier. I never worry about losing data or having to constantly backup my system, because anything important is either checked into a remote repository, or lives in my Documents folder (which gets backed up to iCloud automatically). I pay $2 per month for extra space, which is cheaper than Dropbox for the same functionality.
iCloud ensures that my Mac and my iPhone stays in perfect sync at all times (Mail, Calendar, Contacts, Notes, Reminders, the list goes on), and I have come to take that for granted. Being able to send and receive iMessages (as well as SMS messages) from my Mac is one of my favorite relatively recent macOS features because I get quite a few text messages every day and I would hate to have to constantly pull out my phone to respond (or otherwise miss them).
I recently upgraded to BBEdit 12 from version 11 and it is currently my primary text editor. I try new text editors a lot, but I always end up oscillating between BBEdit and Sublime Text. Right now it’s BBEdit’s turn. Next year, Bare Bones should be releasing an update that finally makes BBEdit a 64-bit Cocoa app, but I could be wrong. I say next year because macOS 10.14 is supposed to be crippling support for 32-bit apps, but to what extent is not known at this time.
To be honest, I don’t really use any of the new features in BBEdit 12, so I mainly purchased an upgrade license to support the developers. Every time I run into an issue and submit a bug report, I always get a quick response, and the bug is usually fixed in the next update. I’m a big fan of Bare Bones Software. They have been regularly updating BBEdit for decades, and I hope they continue to develop it for decades to come.
I have been using Alfred since before 1.0, well over five years, and I have been a paid user since the beginning. Alfred is an app that I always install on any new Mac right away. But recently, I questioned whether I actually need it. When I think about it, I really only use Alfred for three things:
- Launching apps.
- Initiating web searches. I know it’s only a few steps more switch to the browser and open a new tab, but being able to initiate a search with Alfred is very convenient. After several years, the muscle memory is engrained and I wish Spotlight could do this, as it seems like such a simple and natural thing for it to be able to do.
- I use the hell out of Alfred’s calculator. Spotlight has calculator functionality as well, but if you press return on the result, it opens up the Calculator app (instead of copying the result to the clipboard like Alfred does). I know I could press ⌘C in Spotlight to copy the result, but then I have to press escape twice to dismiss the search field and I have a hard time getting used to that after years of using Alfred.
However, Spotlight launches apps as well as Alfred does, and I think I can get used to the way its calculator behaves, so I don’t really have a compelling reason to keep Alfred around. If I uninstall it, the only thing I’ll truly miss out on is the ability to conveniently start a web search from anywhere.
So recently, I decided to uninstall Alfred to see if I can get by with Spotlight. As of right now, I’m still getting used to not having Alfred around (and I may return yet), but I’m going to try to give it a few weeks or so. The reason I included Alfred in this list is because I did use it for most of the year and I thought it deserved a good mention since it has served me well for so many years.
UPDATE: After some research, I found that you you can perform a web search with Spotlight by pressing ⌘B after typing in the query. Nice! This transition may be easier than I thought.
Although I have to pay $4 a month for 1Password, it is well worth it for me. I have hundreds of logins, several credit cards, debit cards, software licenses, etc. and 1Password keeps all that (and more) in one place. It’s never a hassle to log into a website, and I don’t cringe anymore when I have to create yet another account on some website. The entire database is also available on my iPhone through the mobile app, which is great because I hate entering in passwords on my phone.
I don’t know how anyone who spends any amount of time on the computer (or smartphone) lives without something like this. I guess the built-in password manager probably suffices for most people, but 1Password stores a whole lot more than just logins so I could never get by with just iCloud Keychain.
I gave 2Do a good shot for a while, but I just couldn’t get used to using it regularly. For me, it just felt like there was too much friction every time I went to use it. That’s not to say there’s anything wrong with 2Do, the author clearly put a lot of thought and effort into the app, but it just wasn’t for me.
I decided to give OmniFocus a try, and it almost gave me the same “friction” problem because it’s a little overwhelming at first. But I found that unlike 2Do, over time it became more and more pleasant to use. I’m not yet 100% sure I’m going to stick with OmniFocus for the long haul, so right now I’m just using the free “viewer mode” in the iOS app and the Mac app to do all editing. This is working out fine so far.
Where OmniFocus really shines for me is the Forecast view, which I have come to really appreciate. In this view, I can quickly see what’s overdue, due today, and coming up soon (including Calendar events). This is my first stop every morning, and it’s been pretty nice.
My only problem is that I have some general TODO items that aren’t Reminders, don’t make sense as Calendar events, and don’t really belong to a specific project. I end up having to put these tasks into an awkward ‘Home TODO’ “project” in OmniFocus. So far that’s working out okay but it feels a little clunky (I don’t like things just sitting in the Inbox either).
Anyway, there’s a lot to say about OmniFocus and I should probably save it for another blog post. For now, it’s enough to say that this is what I’m using to manage my tasks.
My preferred RSS reader and third-party Feedly front-end for both macOS and iOS is Reeder. I’ve been using the iOS app for a number of years and finally made the switch to the macOS app earlier this year (from ReadKit). I like it’s clean interface and the built-in Mercury Reader support.
For work I often have to open up PSD files that come from the design department, and using Photoshop (over other apps that may support the PSD format) is the most reliable way to go. I sometimes use it to make minor edits or adjustments as well, so overall my Photoshop use is admittedly very light. If it weren’t for the work requirement, I could probably get by with a lighter solution such as Acorn or Pixelmator.
The winner for the ugliest, clunkiest app that I have installed on my Mac goes to Calibre, by far. Unfortunately, there’s really nothing else that can convert between ePub and Mobi formats and send them to my Kindle device so here it stays. I don’t really use it for its eBook management or reading features.
I feel bad for putting down the user interface, because it has a lot of great features and it’s free. I’m sure it is wonderfully engineered as well, but I think the app would greatly benefit from a facelift. Not all QT apps have to look so bad, right? Or do they?
Parallels 13 + Windows 10
All three of my daughters are huge Minecraft fans and they use the Pocket Edition on their iPod touches. I often play with them from my Mac, but unfortunately, you need the Windows 10 edition of the game to play with Pocket Edition players. So yes, Minecraft is the primary reason I have Parallels 13 and Windows 10 installed on my Mac. The good news is, the game runs very smoothly and we’re all able to have fun building and destroying things in Minecraft together several times per week.
Using Parallels sure beats having to boot into a separate Windows partition just to play the game, and as a side benefit, I can run just about any Windows app that I need to, including the Edge browser for testing. Parallels seems to be really efficient with disk space usage and the seamless/integrated mode means I don’t have to feel like I’m in Windows when all I need is an app or two.
At work, we use Mercurial, and SourceTree is really the only good graphical Mercurial client on macOS. Most of the time, I just use the the
hg command in the terminal because it is much faster than SourceTree for pulling and committing. However, if I need to browse commit history or merge branches with potential conflicts, I’ll use SourceTree because it’s easier to do those things with the app.
I also sometimes use Git, and if it weren’t for my Mercurial requirement, I would probably explore other apps because there are ton of nicer Git clients available for macOS. I’m sad that Mercurial doesn’t have as much adoption, however, because I prefer it to Git in just about every way (except speed).
My preferred diff/merge tool for macOS is Kaleidoscope, and I’ve been using it for years (since version 1 when it was only a diff tool). The app looks amazing and works great. The developers seem to have mostly lost interest in the app, but it continues to work well and I haven’t found another diff/merge tool that compares so I’m sticking to this app for the foreseeable future.
I have tried plenty of third-party Mail and Calendar apps, but I always end up going back to Apple’s bundled apps. Even though Mail is boring and drab (it used to have personality until OS X Lion), it meets my needs perfectly, and so does Calendar. I also prefer Apple Maps over Google Maps for both general mapping and turn-by-turn directions.
This one deserves its own section. Reminders (on both macOS and iOS) is something that I have made really great use of over the years, and I use it for basically everything that doesn’t go into OmniFocus:
- One-time reminders that don’t fit into any OmniFocus projects and that I would like to be notified about at a specific date and time.
- A “Recurring” list where commonly repeated reminders go, such as when to water my lawn each week, or which trash bin to put on the street on Sunday night.
- A “Movies” list where I put upcoming movies that I might want to watch (ever saw a movie preview at the theatre that looked good and then totally forgot about it?).
- A “TV Shows” list for the handful of shows that Biffy and I like to watch.
- A “Finances” list that holds any reminders related to urgent bills or anything money-related.
The triple whammy of Reminders, Calendar, and OmniFocus really helps keep me organized and productive every day.
This is my browser of choice. I tried Firefox after the Quantum update, but since you can’t change your default browser on iOS, it’s difficult to justify switching to another browser on my Mac (bookmarks, history, etc.). I don’t use many extensions (just 1Password and 1Blocker), so there’s really no reason for me to switch away from Safari. It is also the most energy efficient browser, and that’s important because I’m often on battery power.
Besides that, I like Safari a lot. It has a clean, minimal UI, it’s really fast, and although I am one of the people who wish Safari had favicons on tabs, that’s not a deal-breaker for me. I also appreciate the new pro-privacy features in version 11.
Speaking of privacy, what about Chrome? Since it’s made by Google, I don’t trust it one bit to protect my privacy and it’s also a battery hog, so Chrome only gets used when I absolutely need it (I keep both Firefox and Chrome installed for testing).
Earlier this year, I starting using a spreadsheet for managing my monthly bills that also includes a ledger for my bank account balance. The spreadsheet is a little awkward to view/edit on the iPhone, but I only use the mobile app to record transactions on the go and to check my balance so I’m primarily using Numbers on my Mac.
So far, I’m liking the spreadsheet approach to budgeting, and being able to track my bills and my spending with as little friction as possible has reduced a lot of stress in my life (there was a time when I was really bad at managing my finances). None of the finance apps out there meet my (admittedly basic) needs which is why I resorted to a custom spreadsheet. It has been working out well so far, but I think this area is ripe for a dedicated app that I may consider developing in the future.
I use the command-line every day, and while some people swear by iTerm 2, I haven’t had a reason to switch away from the default Terminal that comes with macOS. My daily Terminal usage is admittedly pretty basic though (I’m not SSH’ing into remote machines or anything like that).
The red-headed stepchild of macOS that everyone loves to hate, iTunes, is used to manage my local music library and to play said music. That’s it. It’s a little heavier than I would like, but it works well for my needs. I haven’t found an alternative music player for macOS that I like better. It could definitely be worse. It could be built with Electron.
Before writing this post, I didn’t realize just how few web apps I use. Apart from banking websites and things like that, it looks like I only use two web apps (and one is Electron-based, but I still consider it a “web” app). As a developer who primarily uses web technologies, this realization is a little strange. I guess I really do prefer native apps.
The project management app we use at work is Pivotal Tracker. I have used it for the past few years, so I am very familiar with it, but I’m not really a fan of the horizontally scrolling interface. It works well for our Agile/Scrum workflow, but I would have preferred a more “traditional” bug tracker interface.
I work remotely, so it’s important for me to be able to communicate in real time with my team at the office. For that, I use Slack. We don’t have very active chat rooms (we’re all too busy working), so private messaging and conference calls are really all we use it for. With that said, it pains me that a chat app that has to be running all day takes up almost a whole gigabyte of my computer’s RAM. It looks like Slack 3.0 might address some of this when it comes out, but judging by the Activity Monitor screenshot in that article, it still looks pretty heavy to me.
We used to use Skype at work, but that gave us all kinds of problems, so maybe this really is the best solution. I’ve been meaning to check out the Slack IRC gateway to see how well it works, and if it does work well, I’ll only need to use the Slack app for voice calls and that would be nice.
As you can see, I use a lot of software! A lot more than I realized actually, and I use almost all of these apps every single day. With an exception of Calibre and SourceTree (for Mercurial), every app I use has several viable alternatives. The selection of software I use today is a culmination of years of trial and error and a heavy dose of personal preference. After taking the time to survey my most used software, a couple of things stuck out to me that I wasn’t consciously aware of before:
- I use very little “indie” software, which makes me sad. However, it’s not too surprising as the independent Mac app landscape seems pretty dry. Nowadays it’s common for the desktop version of an app to live on the web, and when it doesn’t, increasingly developers are turning to web app wrappers like Electron.
- The absence of web apps on this list besides the two work-mandated ones (Pivotal and Slack). As a developer who uses primarily web-based technologies, this was an eye opener for me. I’m going to take a step back soon and evaluate my developer priorities to see if I might want to start moving towards native app development in the future.
- I use a lot of Apple’s default apps. Sometimes they aren’t the best in comparison with third-party offerings, but are usually well designed and often integrate better with the operating system (for obvious reasons). For example, there are a ton of great email clients that have more features than Apple Mail, but since I don’t need those extra features, Mail fits my needs perfectly. As an example of great OS integration, Reminders never fails to give me a notification on my Mac or iPhone whereas notifications from third-party apps are never quite as reliable in my experience.
With an exception of Pivotal Tracker, which you probably haven’t heard of unless you were forced to use it at work, all of the apps I use regularly all well-known and widely used. I don’t use any software that you likely haven’t heard of yourself. Still, I wish more people would take the time to publish a detailed survey of the apps they use on a regular basis to shed some light on some lesser-known apps or give others ideas on how they might optimize their workflow.
All in all, this was a useful exercise for me to see what my software priorities are, and it may help shape how I approach software development in the future. It’s clear that I value software that is well designed, low friction, memory/energy efficient, and is performant. Going forward, I will try to make sure any software I develop personally exhibits these same qualities.