Fox Fantasy Football Live DraftFox Interactive Media, 2005
Fox Fantasy Football Live Draft is a real time multiplayer web application for drafting players in a fantasy football league, and is a major high-profile piece of the Fox Fantasy Football system. It was a big success for Fox Sports in 2006, with over half a million registered users participating in fantasy leagues. I was the lead developer of the Live Draft Application. I created the application's information, interaction and GUI design, designed the system's architecture including the client/server interaction, the structure of queries to the web server and the schema for the various xml documents returned, and coordinated with backend engineers on the implementation.
I wrote the majority of the code for the application, and managed other developers on the project. The code was written entirely as object-oriented ActionScript2. I created the classes, data model, listeners and other internal API, and provided documentation and coding standards for other developers to adhere to my specs.
The Live Draft featured complete statistical information on a roster of thousands of NFL players, in a rich UI that enabled multiple kinds of sorting and filtering, as well as a live chat, a live draft clock and draft order display, a pending players queue, and team rosters updated in real time.
In addition to communicating with a server to get player and league data for the draft and to submit draft picks, the Live Draft used Flash Media Server to maintain real time synchronization among the Team Owners in a Draft and to manage associated real time game state. I designed the transaction model to coordinate among the clients, and between the clients, the FMS and web server. I also wrote the server code, and administered and monitored the Flash Media Servers.
Testing turned out to be a major part of the work since the application is so complicated. I designed test scenarios, and created special logging, debugging and simulation tools, and coordinated with QA engineers on implementation and schedules.
Technologies used include Flash ActionScript 2, Flash Media Server, Flash Components, XML, XSL/XPath, JSP, Java/J2EE, Struts, Tiles, JBuilder, ANT, JBoss, CVS.