During my year at Navitaire, I worked as part of a team to rewrite their most profitable product, Skylights. It's an online flight-booking system. With the old Skylights, client airlines could customize the look and feel to some degree, but were always limited to what parts were made customizable by the developers. The rewrite involved moving everything into a callback-based API with a default set of templates that could be changed entirely at the whim of the client. It was a great project to be involved with, and it's the most team-oriented work environment I've experienced to date.

Skylights 7

Project began May 2004

This version of Skylights marks a huge step forward, as we have created, using Perl's Template Toolkit, a completely customizable API for the client airlines to create their own sites. Before they could customize the text and graphics on the pages, but never reorder the page flow or combine pages, but now they can. They can also change how the javascript works, add in specialized features, or a myriad of other customizations they have wanted for years. I worked as part of a team on this one, but at one point or another I've touched most of the major pieces of code.

Ryan Air -

Launched Feb 2005

Ryan Air is the first customer to upgrade to Skylights 7.

Skylights 6

Project began May 2004

I have only had rare occasion to work on the older version of Skylights. I have fixed a few bugs, but primarily I have worked on version 7.

I did have one project to add a new feature to Skylights 6. One of our clients wanted to be able to sell insurance services with their flights, a feature which was being built into version 7. As a contigency, if version 7 was too buggy or not delivered on time, they wanted the same services implemented in version 6. So, I was given the task of porting code from version 7 back into version 6. Instead of rewriting it all from scratch, we took a subset of the version 7 code and I created an abstraction layer of code which basically stubbed out unneeded functionality or overloaded it with function calls in the old code. It wasn't a simple task, but I completed it in less than two weeks.

That client decided to go with Skylights 7, so that code will never see the light of day.