irobot global
iRobot - Global Site
Launch Site

I came to work on the iRobot Global site as a favor to a friend. There, of course, was a deadline looming and there was concern the project was not going to be ready. When I first got my hands on the project I noticed right away that the code had been through several other developers who didn't know what they were doing and it really needed some tough love. The first thing I had to do was to separate the project from the larger system, cleanup the code, and then start hammering on requirements to get the project ready for primetime. My role was to be more like the pugnacious coach "Mick" from Rocky.

I spent at least a week not really analyzing the system but just removing duplicate code and moving a lot of the structure and functionality to a class library. From there I was able to reduce the amount of code and the number of points of failure. I also spent a good deal of time consolidating the html so that global content wasn't being duplicated and common elements were reused as much as possible. I was able to isolate the code was unique to each page type and minimize the amount of files needed to manage the system as a whole. At this point I could start to see where the project was and, given the requirements, start developing a plan of attack.

Overall there were a few important key points that needed to be met: location detection, a login/registration process that integrated with the RightNow CRM and a Sitecore integration. The location detection wasn't very difficult and was mostly handled by a script provided to me that used Akamai headers to identify the region. I just needed to replace the existing infrastructure.

I spent two solid days just reading through the RightNow developer documentation. I hadn't even heard of RightNow before this project but by the end I had developed a library that could communicate with their three main api object request types. There was a lot of customization so there was still a lot of spec docs and requirements I had to decipher to build the custom architecture but I was able to build a sturdy rig. Next, I built an ad/hoc login setup. The final system would require setting up a secure method of login confirmation that I didn't have access to so I just needed to work with the assumption that logging in was possible. The registration process was done through the RightNow CRM but I had already done the majority of the work so this was fairly straight forward.

My last effort involved getting all the content to pull from the Sitecore which also had to line up the location and user data being pulled from the RightNow CRM. Thankfully I have a lot of experience with setting up content trees and was able to really make a much more intuitive, less redundant structure. I worked fast and hard but eventually got the site ready for launch just in time to hand off to their newly hire in-house developer who had the luxury of polishing it up and launching it.

1 irobot global