Page 1 of 1
Request For Comments: Audio Match Hosting Software
Posted: Fri Aug 12, 2005 7:13 pm
What do you guys think of the following potential piece of software?
This software would allow any broadband internet user with a microphone and speakers to participate in a quizbowl match. Questions would be read by a moderator and broadcast to the players. A player buzzes by clicking a button. The moderator would stop reading when he sees the buzz on his screen and then listen for the answer.
Scorekeeping could be easily done using this: when a player gets a question correct/interrupts, the moderator can click a button to register that and the software would tally the appropriate points for each team.
- The software to broadcast audio between users is already out there.
- The software to keep track of scores would be simple.
- The software to broadcast buzzes would also be simple.
Possible problem: Buzzing latency
Sending data over the internet takes some small but significant amount of time. This can range between less than a millisecond on a LAN, to 100-200ms to travel across the US using a broadband connection.
This means that a player with less latency than another (say a difference of x ms) would have a slight advantage in that he could buzz up to x ms after the other and still be the first person to buzz according to the moderator. The person with the lower latency would also hear the question x ms earlier. So he technically could have a 2x ms advantage.
Sidenote: there are plenty of competitive internet games that cope with latency issues (first person shooters especially)
You could make the client programs sync the clocks of all the players and send a time along with a buzz and then just compare the times if you get two buzzes within a certain short period.
However, this means you have to trust each player not to hack the client and send preferable times to the server. In a competitive setting, this might be too much to ask. If you're just using this to practice among friends, this is perfectly fine assumption.
Why would this program be useful?
The #quizbowl IRC channel has historically been used to practice, but it has the obvious deficiency of just sending discrete clues in text rather than continuous speech to read questions.
This program might make this sort of practice more realistic and enjoyable.
If the latency issues could be surmounted this could be used to host tournaments. Obviously a face-to-face tournament is ideal, but one of the biggest issues in tournament participation is travel and its associated costs and time commitments. This is true of both the high school and college level of quizbowl. Internet tournaments would overcome this issue.
The software could theoretically manage the entire tournament: mandating start times, automatically pitting the correct teams against each other, keeping track of results, etc.
What do you guys think?
Posted: Fri Aug 12, 2005 10:31 pm
First, a question: where would said software come from? Are you planning to write something or is there something already out there which can be adapted to these ends?
Second, I think that it would be awesome if there were some software that allowed complete game/tournament management, in the following sense. The packets and everything would be read by the moderator and the buzzers would be plugged into a USB port or something like that. The players would be entered into the program and the computer would recognize them. They answer, moderator clicks right or wrong, points are tallied, and so on. Maybe this would be integrated with SQBS to automate publishing online.
I'll anticipate criticism by admitting that yes, I am proposing a technically convoluted solution to a relatively simple problem. I still hope, though, to someday run a completely laptop-based tournament...
Posted: Sat Aug 13, 2005 1:01 am
This is something I would write although I might make use of software that is already out there.
However, I think you're misunderstanding what I'm proposing. This software would allow people who are not in the same room/building/city/country/etc to play together. You could play while on your home computer in your boxers. What I mean is that almost all the interaction happens with your speakers and microphone. Everybody hears what you say in the mic, and you hear what they say on your speakers.
What you're proposing has already been done, just not adapted to our quizbowl format. That is something that could easily be done. The first hit on google for 'usb buzzer' shows a business that sells such things. I might consider writing this software as well if I thought people would use it. It would certainly obviate the need for scorekeepers and a stats person.
I'll look into spending a little bit of uchicago's budget on those USB buzzers and write such a program for them.
Posted: Sat Aug 13, 2005 1:20 am
As I said in the chatroom, this would be perhaps best to first try on a subject specific singles event, where there might not be the demand in a particular region, but would be plenty of demand on a national level. It also seems like a great way to get high levels of competition while not having to worry about the prohibitve travel and cost demands. on-pc or on-laptop mics tend to suck hard though, right? Still, I think its something honorable to pursue, and our program would definately get behind events that try this.
Posted: Sat Aug 13, 2005 11:20 am
Although this is unrelated to internet broadcasting, I am personally very interested in an online tournament management system for statskeeping purposes. In fact, I have been building a fairly complete web application in PHP and MySQL (although I will likely switch to PostgreSQL soon after completing it) for the past two months. It is not yet usable, but I'm within a couple weeks of having a fully functional program to be tested, and I feel confident that we will use it at our two tournaments this Fall (one HS and one College).
I personally think this sort of program is sorely needed. Princeton ran a 70-team High School tournament last November, and the statskeeping was nightmarish. There is no reason in this day and age for moderators to keep paper scoresheets and turn them in to a central location. I literally spent about 8 hours that day doing nothing but typing scoresheets into SQBS. While SQBS is a good program, something that utilizes moderators instead of a central statskeeper is the logical next step to take, and it's time that step was made.
What makes this even more interesting and exciting, Jordan Boyd-Graber and I have discussed integrating my program with his Jerome program. This would completely realize the system Jerry posted about above: completely computerized tournament management, from the editing stage all the way through posting the results, all run through easy-to-use web applications. This next quizbowl year could be quite interesting from a technological standpoint.
Posted: Sat Aug 13, 2005 5:54 pm
a question a few people have had, for those with more of the technical know-how, is how would the team dynamic work exactly, like bonus conferral and whatnot. Would the moderator have say a button to activate the mics on just one side?
Also, would hacking the client actually be an issue? Like, does anyone actually cheat at qb, or am I just being seriously naive?
Posted: Sat Aug 13, 2005 7:16 pm
nafai wrote:However, I think you're misunderstanding what I'm proposing. This software would allow people who are not in the same room/building/city/country/etc to play together. You could play while on your home computer in your boxers. What I mean is that almost all the interaction happens with your speakers and microphone. Everybody hears what you say in the mic, and you hear what they say on your speakers.
Right, I just got sidetracked into wishful thinking. I definitely support the idea of being able to play "normally" over broadband, with being able to hear the moderator and all that good stuff. As you pointed out, latency would be an issue, but for practice purposes, I wouldn't worry too much about someone hacking the client.
Posted: Sat Aug 13, 2005 7:50 pm
Rothlover wrote:Like, does anyone actually cheat at qb, or am I just being seriously naive?
When I was in high school, the word on the street was that taking speed before a tournament would make you do better. I don't know of anyone who actually did it, though.
Posted: Sat Aug 13, 2005 10:43 pm
DanTheClam wrote:....although I will likely switch to PostgreSQL
Why? What necessitates it?
Posted: Sun Aug 14, 2005 12:03 am
DanTheClam wrote:I am personally very interested in an online tournament management system for statskeeping purposes.
This is certainly a good idea. We'll have to start asking teams to bring laptops in addition to buzzers.
If you want to put your software on sourceforge or some other source management system, I'd be happy to help out.
Rothlover wrote:a question a few people have had, for those with more of the technical know-how, is how would the team dynamic work exactly, like bonus conferral and whatnot. Would the moderator have say a button to activate the mics on just one side?
Why wouldn't you just allow anyone to hear what anyone else says? That's how it is in normal play. It would certainly be possible to limit who hears though. People could always cheat and use a different program to communicate, but maybe it is silly to worry about that.
I'm currently finishing up a database and associated web interface of all the publicly available ACF tournaments (I chose these because they're generally regularly formatted) that allows you to search for all questions with a certain answer, or containing a certain proper noun. I figure it would help my question writing. If ACF doesn't care, I might make this publicly available.
Posted: Sun Aug 14, 2005 11:38 am
Although this is now horribly unrelated to the thread, since Noah asked...
The main reason for switching to PostgreSQL is that Jerome runs on it. So, to integrate the two applications, one of us would have to switch. And when it comes down to deciding which SQL to use, the simple fact is that not only does MySQL not compare to PostgreSQL, it is independently awful (which I did not realize when I started buliding the application). It's not suitable for any significant-sized application, either in terms of quantity of data or quantity of metadata. While my application is unlikely to ever have much data, it does require a significant amount of metadata -- Stored Procedures -- to work properly. Without Stored Procedures, error-checking is going to be minimal at best, and the database will be very vulnerable to injection attacks.
MySQL doesn't support Stored Procedures in the latest stable version (hence why I'm using the new Beta). Further, they don't compile Stored Procedures anyway; running an SP is just like running a normal query, so there's no speed gain. In general, MySQL's so-called optimization is pitiful. Almost all queries have no optimization except in blatantly obvious cases (for instance, stop running a query after five matching results are found if the query specifies LIMIT 5). MySQL provides, to my knowledge, no optimization in determining the path of joins, which any real database will provide based on your indexes and keys.
Don't get me wrong; it's not that my application actually needs this kind of power. But if it's a choice of either switching my application to PostgreSQL or switching Jerome to MySQL to integrate the two, I'll choose PostgreSQL, for the reasons cited above.