The Importance of Tracking Exceptions

As a solo founder and app developer, launching and maintaining an app – any app – can be a significant undertaking. It may not seem like much at first but there is a lot of information that you need to keep track of and questions that need to be answered. Here are some questions I needed to have answered when building and launching my app, Scheduling:

  • Are my servers still up and doing what they’re supposed to do?
  • Are my users getting emails from the application?
  • Are my users experiencing any errors?

For the purposes of this article, I’m going to concentrate on the last question: Are my users experiencing errors? As you may have gathered from the fact that you’re reading this on the Exceptional blog, I use Exceptional to track errors in the application. There’s a lot you can extrapolate from simple exception tracking, though.

Even with a strict TDD methodology, errors happen in an application. In my experience working on both large and small scale applications, developers always miss a few possibilities for behavior of an application. This can happen for many reasons: apps run differently with a lot of data compared to a little data in development, users figure out new and interesting ways to use (read: break) your application, and more. Keeping track of, and responding to, these errors helps to give you something that’s difficult to come by in this day and age: focus.

During beta, Exceptional was my to-do list: I would keep track of and (separately) prioritize bugs that needed to be fixed based on the information in Exceptional. Closing the error in Exceptional would mean, for me, it was done and the affected users were contacted. I still occasionally use Exceptional as my to-do list, though the app is, at this point, stable enough that I don’t much need to.

If you’re a developer, exception tracking is useful for keeping track of regressions with a twist. I had one particular error that popped up in a few places. I fixed it three times in the course of a few days in different spots in the app. This was a sure sign that I needed to devote some time to refactoring.

Finally, quickly being informed of errors helps in customer service. You can pass in custom information to Exceptional and see it in the dashboard. I find this most useful with information such as passing an account name or user name/email. This can make proactive customer responses very easy and surprising. I had an issue early on in the official launch of Scheduling which resulted in a user seeing an error page. This is a bad thing™. I was able to proactively email the affected user within minutes letting them know that I was aware of the error and it was being fixed, along with apologizing for what happened. This goes a long way towards fostering good will.

The “The Importance of Tracking Exceptions” is a guest post by Jason Seifer / @jseifer .  If you have any interesting stories, tips, or best practices that you would like to share with the community send your submissions to ben@getexceptional.com

October 18th, 2011  |  Published in Uncategorized


Leave a Response