czlee / debatekeeper

Android app for timing debate speeches that rings bells automatically.
GNU General Public License v3.0
20 stars 19 forks source link

Add American-style preparation time #6

Open czlee opened 11 years ago

czlee commented 11 years ago

Suggested approach: The main counter always represents the total prep time elapsed (including all stages), and the prep time used in this stage is a new set of methods. The brainwork is all done in DebateManager, i.e. DebatePhaseManager doesn't require modification.

Then the phase index logic will have to be written to accommodation for distributed prep time.

irohthepyro commented 7 years ago

Curious if you've added this enhancement to prep time or not.

I wrote a custom debate format file for a US High School style of debate that has separate prep for the opposing sides, as well as multiple periods of prep pulling from the same 4 min pool for each competitor (e.g. The Affirmative side uses 2:13 of their 4:00 of prep time in the first period, and then has 1:47 of prep time remaining for their second period of prep, while the Negative side has a separate 4:00 that operates the same way).

The closest I can come to creating this currently is making two speeches (not prep time) in the speeches section, pausing them when a competitor stops using prep time, and scrolling back to those speeches when I want to resume their prep time.

Something that would work just as well for me as creating an entirely new feature for prep time would just be an ability to recall previous speeches in the flow of the round. Currently speeches move in an A to B to C to D format. If the speeches could move A to B to C and then back to A before proceeding onto D that would solve the issue I'm having as I could simply use speeches instead of prep time to create the desired effect.

I know virtually nothing about programming, just enough to get by using your guide to create a custom debate file, so I don't know if this feature already exists or not, but thanks for your help and for making a quite useful debate app.

czlee commented 7 years ago

Hi, thanks for your interest! I agree that your approach is the best that can be done with the current set up. My idea is to have something similar, but to do it so that it always scrolls through prep times between speeches, so the "speech order" would be (for example)

  1. Affirmative prep time
  2. 1st Affirmative Constructive
  3. Cross-examination
  4. Negative prep time
  5. 1st Negative Constructive
  6. Cross-examination
  7. Affirmative prep time
  8. 2nd Affirmative Constructive
  9. Cross-examination
  10. Negative prep time
  11. 2nd Negative Constructive and so on.

The idea is that all of the prep times would be linked, so when you scroll to step 7, it shows the same timer as step 1. This is the part that's missing from the current implementation, which is why Debatekeeper doesn't support the American styles. If I understand correctly, the only difference between what I have and what you have in mind is that I'd model these as a specially marked "prep time" rather than a speech, so this "returning to prep time" feature only works for prep times (though the distinction is mainly one of labelling).

Implementing it would be quite nontrivial, which is what's prevented me from doing it so far (along with other higher priorities that I've had in debating software more generally), but if you have thoughts on the above I'd really appreciate them! I'm not familiar (at all) with the LD/CX/PF formats.

irohthepyro commented 7 years ago

I'd be happy to help! Anyone creating free software for the debate community deserves it.

We're pretty much getting at the same idea with what the prep time needs to be like. Unlike in many international/parliamentary forms of debate (I'm most familiar with World Schools) where resolutions are given just prior to debate beginning, LD/CX/PF all have their topics preset a month in advance for 2 months of competitive season giving competitors time to prepare prior to the tournament(s) they will attend in that 2 month span. Therefore prep time is given exclusively for competitors to construct rebuttals prior to their rebuttal speech(s) beginning.

This means that prep time is not at the beginning of the round as is currently the default/only way to set prep in debatekeeper. The reason I used speeches for my "prep timers" instead of the designated prep timer was to allow 2 seperate timers (Aff and Neg) to run in the same debate timer.

My custom timer setup is for LD Debate and has the "speech order" like so:

  1. Affirmative Constructive
  2. Negative Cross-Ex
  3. Negative Prep Time
  4. Negative Constructive/Rebuttal
  5. Affirmative Cross-Ex
  6. Affirmative Prep Time
  7. 1st Affirmative Rebuttal
  8. Negative Rebuttal
  9. 2nd Affirmative Rebuttal

Now ideally there would also be a Neg Prep before 8 and an Aff Prep before 9 but I understand why the interface won't allow this.

So basically I agree with you on what needs to be done, the only reason I was using speeches instead of the designated "prep time" was to create 2 timers, and to decrease the amount of scrolling back I have to do in round to get back to the correct prep timer.

czlee commented 7 years ago

Ah, I see, thanks, this is extremely useful! If you think you're up to a pull request obviously I (and I'm sure many users) would very much appreciate it, otherwise I'll try to get to it soon, though with what I know I have ahead I'm not optimistic about anything happening before summer.

Question: Should the prep time ideally start as soon as the speech timer stops, or can things happen (even just a few seconds' worth) in between the end of cross-ex and the start of prep time? And similarly, should prep time continue until the next speech actually starts, or can things happen (e.g. calling or introducing the next speaker) after prep time and before the start of the next speech?

irohthepyro commented 7 years ago

I went ahead and attached the file for the LD Debate timer to this post (had to zip the file otherwise it would not let me upload it). I was hardly expecting you to see this post so I'm not too concerned about the time frame of implementation, just wanted to let you know there was still interest.

In terms of prep time starting, it would actually be better if there is a gap between the end of the speech and prep time beginning as there is almost always some kind of shuffling of papers, moving from a podium to a desk to write, etc. LincolnDouglas_v2.xml.zip