RequireJS and jQuery - A Journey in noConflict Mode
  Being purveyors of 3rd-Party JavaScript, sandboxing is something near and dear to our hearts. We take integrating with our publishers seriously, aiming to ensure a high-quality experience for their engineers and most importantly their users. jQuery has noConflict() and you’re gold; easy enough,...
      Chris Metcalfe Engineering Team Lead, SFP 
      Ryan Loomba Software Engineer 
            Your Backbone Can't Save You Now: Why We Use Backbone Marionette
  The big ball of mud is a well understood software anti-pattern, and we’ve all experienced it at some point in our careers (sometimes on the receiving end but all too often as the creator). There is never a specific event where we can look back and say, “this is what caused the problems we’re experiencing...
      Danny Olson Software Engineer 
            The Right Time for Structure: Retrofitting Backbone.js to a jQuery Application
  It started innocently enough. We had a story to make a few UI changes to a small JavaScript app. There would be no functionality changes, so it was going to be an easy morning. Maybe even an early lunch? When we fired up Vim we saw that lunch was going to be a bit later than expected and that we...
      Danny Olson Software Engineer 
            jQuery Vs jQuery
  During integration testing, one of our publishers recently reported that their Comments section didn’t work correctly after adding our tags. Nothing else seemed to be amiss, and our content was appearing and behaving correctly.
 Shipping 3rd Party JavaScript comes with its own unique set of challenges...
      Peter Kinmond Engineering Team Lead, Client 
            3rd Party JavaScript: Welcome to the Circle of Trust
  For the last three years, we’ve been supplying our publishers with 3rd Party JavaScript to power native content distribution, helping them make a buck by providing non-interruptive, choice-based advertising. Our code is put on the publisher’s page directly, versus in an iframe (typically referred...
      Peter Kinmond Engineering Team Lead, Client 
            Keep Your Friends Close and Your 3rd Parties Closer
  As part of our viewer engagement tracking, we send back a umtime parameter (MDN: milliseconds since the epoch) to our tracking servers, http://.../?umtime=1375503164030&.... Timing allows us to tell a story around how viewers engage with our content, for example “Unfolded the card, watched a video...
      Rob Slifka VP of Engineering