Internal Day: Backbone Chrome Extension (3 of 4)
by Nic "Aitch" Haynes
Chrome extension for Retain

We use an internal app called Retain to track time we spend working on projects, from internal project to client projects to server management. Many times in a fast paced environment it's easy to forget when you started a task or how long you've actually been working on something, especially when interruptions happen.
As a frontend developer, I spend a fair amount of time in the browser. Naturally, a Chrome extension with an indicator was the natural solution for easily tracking time. It's got a simple interface for adding a task and a project from a predefined list (populated through the Retain API). You can start or stop a timeslip at any time. If you're idle for 5 minutes it will automatically pause your running timeslips, then resume them when you're active again.
The Chrome extension is built with Backbone, Coffeescript, Sass/Compass, and Ruby. Ruby is used to compile assets, pack the extension through Chrome, and deploy it to S3 for updates to the team.