First off I have to say I think where this is going is the future of RMS development. It's a "headless" management system in which any third party can simply write whatever display they want. I wanted to do something like this right out of the gate but decided there weren't going to be enough people interested in this to justify the fairly large development cost. Now that things are VERY stable for RC, this is a good time to start thinking about it again.
So far, Slingshot has done something that in my opinion is very clever. He's accessed RC's auto save file format and realized that although its a bit cumbersome, it's actually a very easy format to parse. There are off the shelf libraries to do so and when he calls "json_decode" that's what he's doing. From there he just needs to know what is what. That's where I can help tremendously since it's my data he's parsing. The other clever thing he's done is to find and use the newest .json file he finds. What this means is that you can actually save the race at anytime to get the data out. I'm not sure if he realizes it or not, but he has access to every single stat the RMS tracks up to the moment the auto save (or manual save occurs).
To take this to the next level, what we need to do is identify the minimum set of data that would be useful and then sort it by static vs. dynamic data. So for example, RC could very easily write out a "heat rotation" file. Now anybody that wants it can display the heats any way they want. We could do something similar, automatically every time a lap occurred, or every time a second of time went by. We can write out the leader board information as it changes as well... Whatever. The hard part is figuring out what to write out and when it's useful to do so. I'd be more than happy to work with somebody on this, but it's not enough for me to write the data out. Somebody has to really go to town with the php scripts and demonstrate this features power.
For those of you who have emailed me in the past, you probably know that I'm happy to help. It just takes a few conditions to be met for me to get involved. First, I have to deem it valuable to my entire RC user base. Second I have to deem it worth the effort. If I got 1000 requests to do a mac version I still wouldn't because of the effort, but if I get simple enough requests that benefit the software, even if just a few people request it, I'm happy to donate my time. This particular feature is cool enough that as long as people work with me to do it right, I'll throw down. But I'd need to see the end results. Otherwise it's just more code I have to maintain which in the end just makes my life harder.
-Dave
So far, Slingshot has done something that in my opinion is very clever. He's accessed RC's auto save file format and realized that although its a bit cumbersome, it's actually a very easy format to parse. There are off the shelf libraries to do so and when he calls "json_decode" that's what he's doing. From there he just needs to know what is what. That's where I can help tremendously since it's my data he's parsing. The other clever thing he's done is to find and use the newest .json file he finds. What this means is that you can actually save the race at anytime to get the data out. I'm not sure if he realizes it or not, but he has access to every single stat the RMS tracks up to the moment the auto save (or manual save occurs).
To take this to the next level, what we need to do is identify the minimum set of data that would be useful and then sort it by static vs. dynamic data. So for example, RC could very easily write out a "heat rotation" file. Now anybody that wants it can display the heats any way they want. We could do something similar, automatically every time a lap occurred, or every time a second of time went by. We can write out the leader board information as it changes as well... Whatever. The hard part is figuring out what to write out and when it's useful to do so. I'd be more than happy to work with somebody on this, but it's not enough for me to write the data out. Somebody has to really go to town with the php scripts and demonstrate this features power.
For those of you who have emailed me in the past, you probably know that I'm happy to help. It just takes a few conditions to be met for me to get involved. First, I have to deem it valuable to my entire RC user base. Second I have to deem it worth the effort. If I got 1000 requests to do a mac version I still wouldn't because of the effort, but if I get simple enough requests that benefit the software, even if just a few people request it, I'm happy to donate my time. This particular feature is cool enough that as long as people work with me to do it right, I'll throw down. But I'd need to see the end results. Otherwise it's just more code I have to maintain which in the end just makes my life harder.
-Dave