Backstep has two sides to it. One, which is the public facing side, is at the link given above. The other is an admin panel built with Node.js and Backbone at another (undisclosed) url. Now, when I first started building the panel I didn't know Backbone but I'd heard great things about it. In the end I decided to stick with what I knew (jQuery) and build out the panel that way. Quickly I was hit by the dreaded plague of spaghetti code. And so, over the past two days I've spent my time refactoring existing jQuery code into nice, structured Backbone and here is what I've learned from the experience.


1. Don't let what you don't know scare you

Of course this has exceptions. You don't know that the guy wearing a moth-balled duster and talking to himself in the dark alley is crazy, but obey instincts and don't go asking him about the weather. I don't want to get a call in two weeks that someone was shanked because they read my post and decided to "take a risk". Granted this makes the assumption that someone is reading my posts...but back to the subject at hand. If I had started by using Backbone, I would've saved myself two days of refactoring and countless hours of trying to get my existing code base to work, but I was too scared of the unknown to start my development using this tool. Finally, when I did decide to use Backbone, I made the mistake of trying to refactor my entire code base at once rather then incrementally. Which brings me to my next point.

2. Always iterate when trying new tech

Don't make the mistake I did. You don't go from running 2 miles at 5.0 on the treadmill to 8.0 in a day. You shouldn't go from your crappy (but working) code to your shiny (but broken) code in a single step. Take it incrementally. First, convert one small portion of your application to the new tech, make sure it works, and then forge forward to the next segment of your application. Rinse and repeat.

3. Existing Backbone tutorials are not the best

Incredibly surprising, yes, but also shockingly true. At least in my experience. This has definitely motivated me to write my next post on getting started with Backbone, as the existing tutorials all seem to be intent on going from 0-60. Let Bobby show you the way of the tortoise, my next post will lead us at a crawl through the basics of creating a Backbone.js application.


So there you have it. I've told you what I've learned from converting the Backstep admin panel to Backbone. Now go forth young grasshopper. Stretch out your fingers and build something.