Saturday, October 20, 2007

4D Powers "FanView" Used by NASCAR & F1 Racing

Charlie Vass Gives talk on Kangaroo TV, NASCAR, F1 Racing and 4DThese are notes from the "How 4D, SOAP and XML Saved the Day in NASCAR & F1 Racing" presentation given by Charlie Vass (President of CRV Inc.) at 4D Summit 2007.

He's been developing databases for NASCAR since 1992. His database has become the official NASCAR database for historical data. He urges programmers to "find a need and fill it".

In 2005 NEXTEL contacted him and asked what data he had available, etc. but they weren't clear what their intentions were - just probing phone calls (for months).

Meanwhile they were producing a trackside book with stats for the season. The data came from 4D, but the layout was done in PageMaker and inDesign.

In October 2005 got another call from NEXTEL as he was leaving to go out the door to 4D Summit. At the Summit he took David Adam's class on SOAP. Then he got an urgent call from NEXTEL and started thinking about what he could deliver - implementing what he learned at David's class. He gets home from Summit at 6am and NEXTEL asked to see him at 9am. A rep from NASCAR images was also there, and also Kangaroo TV from Montréal and two database engineers from Virgina. Charlie had been invited because he had reverse engineered the NASCAR scoring signal and knew it better than anyone else. Suddenly Charlie puts two and two together and suggests a SOAP solution. A few minutes later a solution was sketched out. Later that day the other database engineers were gone and he was given carte blanche but had to have a proof-of-concept done by the following Sunday.

A couple days later he goes to Montréal to meet with the web guy and they test a SOAP based solution and it works. In the middle of everything he has a 3 day committment to cover a race in Memphis. He spends nights coding a solution.

Sunday came and his proof-of-concept worked, everyone was happy, but it meant he was on the road every week for the rest of the season, and adding new features every week. Meanwhile people see the device at the race tracks and are wondering what's going on. During the final race 700 people stood in line to test 300 devices and all the reports were glowing.

To come up with a solution he had to port single-threaded C code to multi-process 4D. ObjectTools was his savior and helped him overcome process collisions.

First it was going to just be the NEXTEL Cup Series, then all of a sudden they wanted him to support all NASCAR races.

They also found that "FanView" had to run 100% of the time on race days so people could see something at the time they were buying them.

FanView was named one of Time Magazine's Inventions of the Year for 2006.

FanView was a sponsored device by NEXTEL who footed the bill. In the move to support F1 KTV approached him to write the middleware for that. In June of 2006 he met with the Formula One Management (FOM) who had the timing and scoring protocal for F1 - and it was XML based. He had sat in XML sessions at Summit, but never actually worked with XML - so there was a learning curve there too... FOM gave him permission to get the signal - he was the only one other than race teams to ever be permissioned for the signal. In addition the logic behind the F1 signal was completely different (incremental).

The other issue was that F1's XML used XML attributes and 4D was focused on elements more than attributes. He had to work around some of these limitations. One of the other issues was the fact that some of F1's attributes were optional and not always there (more workarounds).

F1's data wasn't lap-based instead the data are updated several times per lap resulting in 5-8 times more data than NASCAR - as a result ObjectTools couldn't keep up. At this point he switched to 4D's VARIABLE TO VARIABLE to push data between processes which he found to be very fast.

Labels: , ,

Digg It!  Add to del.icio.us  Add to StumbleUpon  Add to Reddit  Add to Technorati  Add to Furl  Add to Netscape

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home