Exceptional: Centralized Exception Tracking for your Rails Apps
Exceptional is a new "exception tracking" and exception management application for Rails developers and their apps. It's currently in beta, but if you follow this special link, I'm told that Rails Inside readers will be prioritized in the signup process. It's developed by a group of guys working for a Web app development firm in Ireland called Contrast. Exceptional comes along at an interesting time, as US development team Thoughtbot has released something similar called Hoptoad. There are some differences, however - Contrast is planning to run Exceptional as a commercial Web service, whereas Hoptoad is going to be free for the foreseeable future.
Tools like Exceptional and Hoptoad replace old methods of tracking exceptions, such as the "exception_notifier" plugin that e-mails you whenever an exception is raised on your app. Having a Web app manage the exceptions is useful because everything is centralized and multiple developers can keep an eye on exceptions. Multiple exceptions of the same type can also be bundled together and mark as solved over time.
I caught up with one of Exception's lead developers, Eoghan McCabe (pronounced "Owen" - although I'll take corrections!), to ask some questions about the app.
What's your motivation for developing Exceptional?
Like most Rails developers, we take our craft pretty seriously. When we build apps for clients we obsessively monitor things like performance, traffic and exceptions. We had been using Exception Notifier and Logged_Exceptions and these were very, very helpful. But we wanted to take it one step further. We believe that teams work best on software they personally need, and on interesting technical challenges. Exceptional was both something we needed and a very fun app to code.
Tell us about how you developed Exceptional. Which tools, technologies and libraries were used?
On the server side we're using some of our favourite rails plugins:
- UltraSphinx – for it's awesomely reliable search indexing
- WillPaginate – every Rails project needs this plugin
- hubahuba – tasty set of extensions for basic classes
- RSpec – it's like marmite, but we love it
In our work flow:
- NewRelic RPM - we've managed to spot a lot of potential problems way in advance with New Relic and I really don't know how I developed without it. Now I save httperf for rainy days.
- Lighthouse – powerful but straight forward; we love passing tickets back to each other and use it to manage the features and changes for each milestone.
- GitHub – makes managing git repositories too easy; GitHub is a no-brainier as far as we're concerned.
All these tools, plugins and libraries make developing Exceptional an absolute pleasure.
What's your deployment setup like?
We're currently deploying to a small Slicehost cluster with the magic that is Capistrano. With plans to scale out to N boxes, we're still doing all of the server admin in-house but have been seriously considering taking a closer look at Engine Yard when the time is right.
Where do you see Exceptional heading in the future?
We hope Exceptional will become a must-have tool for Rails developers. That's why we're working closely with our beta testers and listening intently; we're focussed on the now. We don't have a feature chart or product roadmap. We improve Exceptional based on feedback from our (amazing) beta testers. This is our fourth iteration and we're ready to invite everyone on our signup list. We'll be inviting blocks of 50 each day starting today.
This post supported by Notifixious - Notifixious - a new notification service startup based in San
Francisco - needs a Rails expert to become its CTO! Knowledge of messaging technologies (XMPP) and REST API development is a must. You can learn more here.