Running Zoom Tournaments

Old college threads.
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

Has anyone explored changing the default bitrate of Discord voice channels (either higher or lower)? I wonder if a lower bitrate might lead to lower fidelity audio but more consistent connections.
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
User avatar
Cheynem
Sin
Posts: 7219
Joined: Tue May 11, 2004 11:19 am
Location: Grand Rapids, Michigan

Re: Running Zoom Tournaments

Post by Cheynem »

Cutting and pasting some stuff I wrote in the tournament announcement thread:

My observations on Discord:

I thought the set up and matches worked great. I obviously missed numerous rounds because my Internet connection would not let me connect to Discord voice/video channels. I suspect this involves my slow Internet connection--while I use Discord on a regular basis for gaming and chatting, for some reason, my Internet speed tanked mightily this weekend (and remains that way now)--I noticed that when I tried to game after the tournament was done. Even now, it's very random--I can access some Discord voice channels and not others (indeed, yesterday I video chatted briefly with Mike Bentley in Discord with no issue). Discord has never done that to me before, and once I went somewhere else to use wifi, it worked fine. I do not know if services like Zoom or whatever are less punishing on bad Internet connections (i.e. they will let you connect and just give you a bad audio/visual experience).

I did notice that even with the steady audio connection on Discord when I switched networks, the usage of video slowed things pretty badly. Obviously using public wifi while standing in a parking lot isn't going to be the best experience, but I had no issue at all with audio and video was making things choppy/lagging. It did seem like I was in an extreme minority that had any problems, though.
Mike Cheyne
Formerly U of Minnesota

"You killed HSAPQ"--Matt Bollinger
User avatar
meebles127
Tidus
Posts: 572
Joined: Mon Nov 20, 2017 9:27 am
Location: Charlottesville, Virginia

Re: Running Zoom Tournaments

Post by meebles127 »

A word on discord video:

If you right-click on others' faces in the gallery, you are able to select "mute video" (or something very similar) which will make their video feed unviewable to your screen. This could be used by those with slower connections to hopefully make things easier for them.
Em Gunter
Club President, University of Virginia
Tournament Director, 2023 Chicago Open
Assistant Tournament Director, 2022 and 2023 ACF Nationals

Author of: My Guide to High School Outreach and So You Want to Buy a Buzzer System

"That's got to be one of the most useful skills anyone has ever gotten from quizbowl." -John Lawrence
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

Hi everyone, here's my promised follow-up on running a somewhat large Discord tournament using video. Sorry for the slight delay in getting these written, it was a busier week for me than I was expecting.

Overall I think things went okay. I ended up having to do a lot more prep work than I was planning to as both Discord bots I looked into (see below) weren't quite what I was expecting.

The number one thing TDs can do to make a tournament run smoothly: Have backup staffers. I made sure to do an equipment and connection test with each staffer at MOTM but that wasn't enough to detect that Auroni would have serious connection problems when reading. If I didn't have a backup staffer for him, that would have been a big problem.

Online tournaments tend to cost less than regular tournaments. I think this paradigm needs to change so that TDs can pay to have more rooms with two staffers in them. (Plus, I continue to believe quizbowl is way too cheap for the labor that goes into producing the set and running the tournament.)

Discord Audio and Video Quality: I'm of the opinion that Zoom on average provides a better audio and video experience to players than Discord. Almost every Discord tournament I've played (along with Myth of the Machine) had a few rooms with moderate to severe audio issues. The two Zoom tournaments I played worked great apart from one room with a moderator with a poor connection. Some of the things that are common on Discord that I haven't personally seen as much of on Zoom:

1. Voice clipping for both moderators and players. i.e. words getting cut off. This most commonly happens at the beginning of questions and on short phrases like the moderator saying "correct" or a team giving an answer. Push-to-talk helps with this but I'm of the opinion that it's too hard of a feature to get 100% of the people in the tournament to use push-to-talk correctly
2. Audio randomly dropping for one or more players
3. Audio issues when lots of people are connected to the server (although one of the other Discord guides recommends splitting up servers for big tournaments which is a good idea)

I don’t think server boosting really changed the server quality. I didn't realize that Discord audio channels have different bit rates you can set. We just used the default 64 kbps. I'm not sure any Discord tournament has even tried the 96kbps you get with a regular Discord server, much less then 128kbps with a Level 1 boosted server. And it's not clear to me that this setting is respected in a video chat either.

Video itself seemed fine enough on Discord. But without doing some A/B experiment it would be hard to know if, say, the audio quality would have been better for teams if we weren't using it.

It's unclear if Discord video keeps scaling as you add more people to the server. But it's probably a good idea anyway to split up your tournament to no more than 16 teams or so per server.

One other minor annoyance is that starting a Discord video call with the video in a separate window requires more clicks than Zoom.

Discord Roles: Making sure people only have permissions to see the proper text room is the biggest headache for a TD running a Discord tournament. I experimented with two Discord bots to do this. One written by Karan and another by Alejandro. Alejandro's bot had more features to set up a tournament (such as creating a schedule and auto-creating room/round channels) but its rigidity ultimately meant I couldn't use it for this tournament. Karan's bot was more flexible but required running a lot more commands. The biggest limitation was that I had to move teams around each and every round. I ended up writing a program to spit out all of the round moves so I could just enter a series of commands in between each round but in an ideal world I wouldn't have to do this.

What would certainly be easier on the TD is to use an approach similar to the one for the Internet Charity Tournament. How that worked is that there were a static set of channels tied directly to roles. Players would join the role for the channel they wanted to be in from a dedicated role channel. i.e. if they're in Room 2 for Round 1, they'd react to the "Room 1" role. This distributes the role switching labor to players, freeing up a lot of time for the TD. It also helps with things like not having the TD have to add roles to someone if they show up late.

This model relies on each player knowing where they go next. This isn't really any more of a burden than an in-person tournament. Perhaps players can also join a team role that gives them a dedicated chat so their teammates can easily yell at them if they're not in the right place.

Karan's model of the TD assigning room switches might still be the way to go for tournaments with a dedicated TD. Especially if it can be modified to accept multiple commands at once. Ideally a TD could run a batch of commands like this that would switch everyone to the proper room with a simple copy + paste:

.t @B3 #room-3-text #room-1-text --force yes
.t @A5 #room-4-text #room-1-text --force yes
.t @B1 #room-4-text #room-2-text --force yes
.t @A6 #room-3-text #room-2-text --force yes
.t @A2 #room-2-text #room-3-text --force yes
.t @B2 #room-1-text #room-3-text --force yes
.t @A1 #room-1-text #room-4-text --force yes
.t @B4 #room-2-text #room-4-text --force yes

(As it was, I needed to send each of these individually and make sure they were carried out. There seemed to be a bug where some commands were ignored.)

This would rely on TDs doing some more work ahead of time (or writing a program to do this if you were so inclined like I was). But that prep work could pay off in running the tournament itself.

I see this TD-managed role switching as being pretty similar to Zoom breakout rooms. With a sufficiently good bot it's probably easier, but without it, it's pretty similar to having a TD assign a new breakout room each match.

One other annoying thing about Discord roles is because Discord's account structure is so loose some people end up joining with multiple accounts. It can be annoying to track which user is the real account.

Another big issue I had with both Karan and Alejandro's bots is that they need to be hosted somewhere. Both were down at least intermittently when I was doing some setup on Thursday and Friday. I haven't looked deeply into other Discord bots to know if there are ones that work for quizbowl that are already being hosted for free as a service in the cloud. If the bot goes down in the middle of the tournament that could cause a big issue. Or if the bot crashes in such a way that it doesn't maintain state that would also be bad.

Stats: To minimize rebracketing time, it's really important to keep win/loss and PPG records in a common place. This may be less of an issue if you're using something like Neg5 but I wasn't able to with my tournament since I was using an unusual points structure (20/15/10/-5). Just relying on shared scoresheets or whatever means you'll need to spend precious time compiling records after the prelims/playoffs. Try to get mods to do this in a central place after each round.

Zoom disadvantages: The fact that you have to pay for Zoom is the biggest disadvantage from my perspective. Yes, many people attending/staffing the tournament will have accounts that, for now at least, can host large Zoom meetings for free. But be extra careful that you have backup people to set up these calls without the limits if something goes wrong.

I'm not exactly sure how Zoom works for staffers, but in Discord it's nice that mods can easily move to different video/text rooms. If you can't do this in Zoom it would be a disadvantage. Discord also preserves the chat history in a way that I don't think Zoom does. This can be useful for the writer/editor to go back and see buzzes/comments on questions.

Zoom's lack of pinned messages and dedicated text channels also makes organization harder. This often ends up being solved by having a parallel Discord server with some of this info.

Feedback for Karan's Discord bot:

• The general structure of having only one room per reader (rather than new text channels for each reader/round) means more work during the tournament of switching people around
• I like the default structure it sets up for channels. I'd give people access to the #general channel, though, by default without requiring them to be roled since otherwise you start getting discussion in the #honor-pledge channel, the only one people can see
• The bot was inconsistent in sending confirmation messages for commands, especially transferring teams from one room to another. It wasn't entirely clear if it was doing the command and just not sending the confirmation or if the entire command got lost. I had to resend several times each round
• Being able to accept a batch of commands would make room transfers much easier
• Going from a schedule spreadsheet to the commands to move people to different rooms is non-trivial
• Makes some assumptions about roles that can break if Discord changes how things work. I ran into a bug that Karan fixed around Server Boost roles for instance

Feedback for Alejandro's bot:

• The big advantage is that it allows you to set up more of the permissions ahead of time
• It's more rigid in how the tournament will work. It can set up a schedule for you and create round/room pairs, but can't currently do things like support a cross-bracket playoff structure or making sure the best teams aren't playing each other in the first game
• It requires the readers all to be joined before setting up a tournament. This is probably a deal-breaker as some readers won't join the server until the last minute
• Command responses get DMed to you rather than displayed in the chat. This requires a lot of Discord window switching
• You need to enter the tournament name with each command. Ideally it would know this from you being the TD
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
User avatar
db0wman
Wakka
Posts: 142
Joined: Fri Jul 21, 2017 3:37 pm
Location: Champaign, IL

Re: Running Zoom Tournaments

Post by db0wman »

1. Voice clipping for both moderators and players. i.e. words getting cut off. This most commonly happens at the beginning of questions and on short phrases like the moderator saying "correct" or a team giving an answer. Push-to-talk helps with this but I'm of the opinion that it's too hard of a feature to get 100% of the people in the tournament to use push-to-talk correctly
I think this can be ameliorated by lowering the minimum sound threshold for the mic to activate in Discord settings.
Dylan Bowman
Uni '20; Illinois '23
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

db0wman wrote: Sat Jul 25, 2020 6:43 pm
1. Voice clipping for both moderators and players. i.e. words getting cut off. This most commonly happens at the beginning of questions and on short phrases like the moderator saying "correct" or a team giving an answer. Push-to-talk helps with this but I'm of the opinion that it's too hard of a feature to get 100% of the people in the tournament to use push-to-talk correctly
I think this can be ameliorated by lowering the minimum sound threshold for the mic to activate in Discord settings.
Yes, this certainly helps but in my experience getting everyone playing your tournament to do this is hard.
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
User avatar
entropy
Wakka
Posts: 107
Joined: Sun Feb 11, 2018 5:03 pm

Re: Running Zoom Tournaments

Post by entropy »

Thanks so much for all your suggestions Mike! I'll update my announcement post when I implement all of them.
Mike Bentley wrote: Sat Jul 25, 2020 4:35 pm The biggest limitation was that I had to move teams around each and every round.
I'm not sure if this was the way you chose to run the tournament or if I made my help manual unclear [it's probably the latter], but users with the Staff role can also run this command. What I thought would happen, and what happened at CALISTO Online and PACT, is that moderators would transfer the teams in their rooms to their next rooms after they're done reading a round.
Mike Bentley wrote: Sat Jul 25, 2020 4:35 pm Perhaps players can also join a team role that gives them a dedicated chat so their teammates can easily yell at them if they're not in the right place.
This is a great idea! I'll add a functionality to the "Mass Create Teams" command that creates a team huddle channel for each team role.

Hopefully someone can test if increasing a channel's bitrate helps with audio cutoff issues; I'm not sure what such testing would look like but I'm more than happy to help anyone who has any test method ideas.

Personally I've always set my mic sensitivity to the highest possible setting, and I've never had anyone complain about audio cutoff to me. Here's how to do it in the Discord desktop app:
  1. Open Discord settings: go to the bottom-left corner of your screen and click on the gear icon.
    Image
  2. Open the "Voice and Video" section.
    Image
  3. Move the "input volume" slider all the way to the right, and disable "Automatically determine input sensitivity" by clicking on the switch. In the attached screenshot, the switch is in the ON position.
    Image
  4. Move the sensitivity slider all the way to the left. This [unintuitively] corresponds to the highest mic sensitivity.
    Image
I think having all staffers do this before the tournament starts should help with audio cutoff issues. [Note that maximizing your mic sensitivity also makes you echo a lot when in a call where other people are speaking; you may want to only use this setting for when you read for tournaments.]
karan
utexas
User avatar
Alejandro
Wakka
Posts: 226
Joined: Mon Jul 10, 2006 8:39 pm
Location: Seattle, WA

Re: Running Zoom Tournaments

Post by Alejandro »

Mike Bentley wrote: Sat Jul 25, 2020 4:35 pm Feedback for Alejandro's bot:
[...]
• It's more rigid in how the tournament will work. It can set up a schedule for you and create round/room pairs, but can't currently do things like support a cross-bracket playoff structure or making sure the best teams aren't playing each other in the first game
This rigidity is a big weak point for the bot. I designed the bot based on my past experiences with online tournaments from Northwestern mirrors, which had few teams and full round robins. Modern online tournaments are bigger and have a variety of formats (cross-bracket play, playoff round robins) and constraints they want to satisfy. Some of the changes are easier to make (cross-bracket playoffs), but the bot would have to support custom schedules to remove most of this rigidity, either inline or from something like a Google Doc.
• It requires the readers all to be joined before setting up a tournament. This is probably a deal-breaker as some readers won't join the server until the last minute
To create rooms/roles based on a schedule before the tournament starts, the bot needs to know the readers. This could be relaxed to asking for the number of readers, which the TDs can then assign to users.
• Command responses get DMed to you rather than displayed in the chat. This requires a lot of Discord window switching
I wanted to avoid spamming channels with command confirmations, but I agree that this should be changed.
• You need to enter the tournament name with each command. Ideally it would know this from you being the TD
Only the first two commands (adding tournament directors and initiating setup of a tournament) require the tournament name. The bot was designed to work in dedicated tournament servers, where multiple tournaments could be run on the same server on different days. These types of servers aren't used, so it's likely best for the bot to simply create a TD role that the admin can assign.
Another big issue I had with both Karan and Alejandro's bots is that they need to be hosted somewhere.
It's hosted in the cloud on a Windows machine (along with the score tracker bot), but it's not written as a service, so it has to be manually restarted on Windows Updates. Also, Karan, if you want to host your bot on my cloud VM, I'd be happy to.

I've filed this feedback as GitHub issues. I'm working on a different project now, though, and some life changes will soon cut down on how much time I can dedicate to improving this bot. If there's little demand for a tournament bot that generates rooms/roles based on a schedule, then it'd be best to use Karan's bot and focus any development effort on improving it.
Alejandro
Naperville Central '07
Harvey Mudd '11
University of Washington '17
User avatar
Snom
Lulu
Posts: 53
Joined: Tue Oct 18, 2016 5:52 pm

Re: Running Zoom Tournaments

Post by Snom »

Addendum to Karan's suggestions.
entropy wrote: Sun Jul 26, 2020 1:17 am Hopefully someone can test if increasing a channel's bitrate helps with audio cutoff issues; I'm not sure what such testing would look like but I'm more than happy to help anyone who has any test method ideas.
My anecdotal experience from running a few Discord servers is that cutoff doesn't seem to be a Discord server-side issue except occasionally during peak times when all of Discord is suffering from heavy load and lagging -- tournaments aren't being run during peak times, anyway. I don't think increasing the bitrate helps with that at all, and would actually suggest lowering the bitrate to reduce load (though I'm unsure of the effect of this). Staffers generally aren't using studio quality mics, anyway, and quality isn't being determined by the bitrate at standard levels.

entropy wrote: Sun Jul 26, 2020 1:17 am I think having all staffers do this before the tournament starts should help with audio cutoff issues. [Note that maximizing your mic sensitivity also makes you echo a lot when in a call where other people are speaking; you may want to only use this setting for when you read for tournaments.]
If going the max sensitivity route, I would additionally recommend settings either a Toggle Mute or Push to Mute keybind
Image
Albert Zhang
Columbia '24
State College '16-'20
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

entropy wrote: Sun Jul 26, 2020 1:17 am
Mike Bentley wrote: Sat Jul 25, 2020 4:35 pm The biggest limitation was that I had to move teams around each and every round.
I'm not sure if this was the way you chose to run the tournament or if I made my help manual unclear [it's probably the latter], but users with the Staff role can also run this command. What I thought would happen, and what happened at CALISTO Online and PACT, is that moderators would transfer the teams in their rooms to their next rooms after they're done reading a round.
Nah it was clear from the documentation that this was the intended use case (mods moving teams). However, this seemed riskier to me than having the TD do it. The moderators might accidentally move a team out of a match in the middle of a game going on. Or use the command for the wrong round.

Another neat bot thing would to be automate determining when rounds are finished. It could be a command that mods run after they're done, although I'm guessing people would forget to do this a lot. A more reliable way might be to examine chat activity. If you haven't seen a "buzz" in the last few minutes that's a strong indicator that a round is finished. Which maybe could displayed (for all rooms) by a !roundstatus command or something like that.
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

Cross-posting the PACE online tournament guide here for those who don't check the high school forums: http://www.pace-nsc.org/online-tournament-guide/
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
User avatar
Cheynem
Sin
Posts: 7219
Joined: Tue May 11, 2004 11:19 am
Location: Grand Rapids, Michigan

Re: Running Zoom Tournaments

Post by Cheynem »

Having played several Discord tournaments and one Zoom tournament, I can say that the quality for me, who has a bad Internet connection, was much better on Zoom, at least for having my camera on and being able to see the videos of all the other participants in the match. I could do this on Zoom, whereas on Discord, having video really creates lag. Obviously, it's a small sample size, tonight might have just been a good night for my Internet speed, and I'm sure others have different experiences. But it's something that I had no trouble viewing the video streams of 20+ people tonight, whereas in Discord, when I start to video chat more than like three people, it's mega laggy.

My general take is that I felt Zoom worked better for my Internet connection, but I liked Discord's interface more (particularly the chat).
Mike Cheyne
Formerly U of Minnesota

"You killed HSAPQ"--Matt Bollinger
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

I'm becoming more convinced that Zoom tournaments need something other than the Zoom chat to handle buzzes. I was trying my hardest to notice buzzes but Zoom's minimalist chat interface makes it really hard to see them without just taking your eye from the packet every few seconds.
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

I've heard some tournaments are going with an approach where each room (and room/round pair?) is a separate Zoom meeting which is linked on the schedule. Does anyone have details about how that works?

To me, it seems like such an approach would alleviate some of the headaches with moving people between breakout rooms. But I'm guessing it makes it harder to do cross-tournament communication and requires more people having paid Zoom accounts.
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
User avatar
Zealots of Stockholm
Tidus
Posts: 622
Joined: Fri Jul 10, 2015 3:28 am
Location: Atlanta, GA

Re: Running Zoom Tournaments

Post by Zealots of Stockholm »

Mike Bentley wrote: Sat Sep 26, 2020 12:44 pm I'm becoming more convinced that Zoom tournaments need something other than the Zoom chat to handle buzzes. I was trying my hardest to notice buzzes but Zoom's minimalist chat interface makes it really hard to see them without just taking your eye from the packet every few seconds.
Yeah, from reading a full tournament on Zoom and several times at practices, I'm at least convinced that for Zoom tournaments a player should also just say buzz when they buzz in chat, as soon as possible. Of course players should still be allowed/perhaps encouraged to stay muted during tossups, especially if they expect background noise from their end (I personally just prefer to stay muted during tossups in general), so there may be some lag time in this, but I find myself missing buzzes 1-2 times per round, especially since my laptop screen is very small.
Chandler West
Staff, Emory
Vanderbilt University '22
Auburn University '20
Good Hope High School (Cullman, AL) '16
Full Member, ACF; Member, PACE
Writer/editor, ACF, PACE, IQBT
User avatar
Snom
Lulu
Posts: 53
Joined: Tue Oct 18, 2016 5:52 pm

Re: Running Zoom Tournaments

Post by Snom »

Mike Bentley wrote: Sat Sep 26, 2020 12:44 pm I'm becoming more convinced that Zoom tournaments need something other than the Zoom chat to handle buzzes. I was trying my hardest to notice buzzes but Zoom's minimalist chat interface makes it really hard to see them without just taking your eye from the packet every few seconds.

A kind of ridiculous and impractical solution I've found to this is running a userscript on the Zoom web interface (could be turned into an extension) that listens in on the websocket and pings whenever a message with "buzz" is sent. Zoom changes their web code way too much for this to be viable blanket solution, but I'd be willing to polish something up and distribute it to individual moderators who are having trouble with detecting buzzes.

*Note that for any zoom invite link https://blah.zoom.us/j/1234567 you can access the web interface by going to https://blah.zoom.us/wc/1234567/join. It seems to work just as well as the desktop app most of the time.
Albert Zhang
Columbia '24
State College '16-'20
vbrej
Kimahri
Posts: 5
Joined: Mon Oct 22, 2018 4:23 pm

Re: Running Zoom Tournaments

Post by vbrej »

As of version 5.3.0, Zoom provides the option to let call participants move between rooms by themselves -- IKEA Open in the UK ran well this way. The original guide will be updated soon.
Vitalijs Brejevs
Glasgow
User avatar
Mike Bentley
Sin
Posts: 6461
Joined: Fri Mar 31, 2006 11:03 pm
Location: Bellevue, WA
Contact:

Re: Running Zoom Tournaments

Post by Mike Bentley »

Came across two articles today on how to setup equipment for optimal online meetings:

https://jonpurdy.com/2020/03/how-to-imp ... cing-game/
https://www.benkuhn.net/vc/

They're both overkill for meeting the basic requirements of reading/playing an online tournament but have some useful tips if you want to provide a better experience to people.
Mike Bentley
Treasurer, Partnership for Academic Competition Excellence
Adviser, Quizbowl Team at University of Washington
University of Maryland, Class of 2008
Locked