Giter Club home page Giter Club logo

debatekeeper's Introduction

Rough categories of things I've done that are on GitHub:

debatekeeper's People

Contributors

czlee avatar philcaonz avatar pmcheng avatar poussinou avatar res2k avatar tswsl1989 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

debatekeeper's Issues

Auto-rotation in FormatChooserActivity invokes weird scrolling

When the screen orientation changes while in FormatChooserActivity, the ListView scrolls to some other position. This is probably caused by the smoothScrollToPosition line in onCreate().

Sometimes it appears to be the original selection, but sometimes it's unclear how it arrives at the position it does.

Add profiles feature

Add feature: profiles are combinations of settings that can be saved and recalled as an entire set. Include "debater" and "adjudicator" profiles by default.

Auto-advance

Hi! I have read through the wiki and can't seem to determine if there's an auto-advance feature for speeches. Essentially, a modification of this line:
<bell time="finish" number="2" next-period="normal"/>
I can't determine if there's a type of "next-period" that will send the program on to the next speech without manual intervention by the user instead of having it stay on the current speech and sit in an additional time queue. Is this possible?

Add "Share" feature for debate styles

It would probably work like this:

  • A "Share" button associated with any debate style would send the XML file (as the raw file) via whatever means, using a generic Intent
  • An intent filter would be added for all XML files, that give the option to be opened by Debatekeeper, and after checking that the first element is <debate-format> or <debateformat>, all it would do is copy it to the /debatekeeper directory
  • An "Import" item from the menu would launch a file chooser, and copy it to the /debatekeeper directory

Either that, or we invent a new file extension just for transfers. Would probably prefer not to do it this way though.

Probably not worth having files exchanged in a way hidden to the user.

Make downloads searchable or filterable

Currently, the downloads screen just downloads a single list of everything, and the user has to scroll through the list to find the one they want. At the beginning this is probably fine, but if the online repository grows, this might become unwieldy. In that case, it might be nice to allow the user to filter the downloads list based on search terms or something like that.

New icon

So, I made this icon, which I think it goes much better with the current design of the app since it uses the Google Material Design notification icon as a bell and not the one drawn in the current logo.

Of course this is just a suggestion and I still keep the SVG file in case you want me to change anything.

My proposal

Add American-style preparation time

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.

  • DebateManager#resetActivePhase() would discriminate prep times apart and not call DebatePhaseManager#reset() if it is a distributed prep time phase, but instead just set stop the timer and set the current time to the total prep time allowed less the sum of all other stages.
  • Prep time phases are specified by <prep team="affirmative"> in the XML file, and as far as the app is concerned are just numbered from 0.
  • Would need to override the period info description with the name of the next speaker.
  • Would need new member mPrepTImes being a map of enums (for the teams) to a list of times.
  • You can always calculate the time for this phase in DebateManager by subtracting the sum of all other phases from the time elapsed in this phase.
  • Time elapsed in this phase is shown in smaller font where the POI button normally is, and always counts up, never down as that would make no sense.
  • No need to worry about length/overtime from GUI perspective, as these don't change. What changes is the initial value of the timer, as it is set to the time remaining of all prep time stages.
  • However, will need to update controls so that "Start" is displayed when the time remaining is equal to the total time available minus the time used in other prep time stages.

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

Add profiles feature

Add feature: profiles are combinations of settings that can be saved and recalled as an entire set. Include "debater" and "adjudicator" profiles by default.

Auto-rotation in FormatChooserActivity invokes weird scrolling

When the screen orientation changes while in FormatChooserActivity, the ListView scrolls to some other position. This is probably caused by the smoothScrollToPosition line in onCreate().

Sometimes it appears to be the original selection, but sometimes it's unclear how it arrives at the position it does.

Document bell sound "metrics" to aid future replacement

The currently used bell sound was obtained from a commercial source with probably restricted usage rights.
Contributors and/or forkers may want to use a sound that is licensed liberally (e.g. from https://freesound.org/, a repository of Creative Commons licensed sounds), or just some sound file.

Either way, in order to pick or create suitable sound files, it would be helpful to know some important "metrics":

  • Length of bell sound and/or sound file
  • Interval between bells for "2x, 3x" copies

I suggest to add these to the README part where the bell sound provision is discussed.

Spanish Academic - not sure why I'm having an error

This is my first XML I've made in my life and I copied/pasted other style to use it as a template. Obviously I'm missing something

 
<?xml version='1.0' encoding='UTF-8'?>
<debate-format schema-version="2.1">
  <name>Spanish Academic</name>
  <short-name>ACAD</short-name>
  <info>
    <region>Spain and Latin America</region>
    <level>University</level>
    <used-at>Spanish Debate Associations</used-at>
    <description>4 vs 4, POIs allowed, I: 4 min, 1R: 5 min, 2R: 5 min, C: 3 min</description>
  </info>
  <speech-types>
    <speech-type ref="introductory" length="4:00" first-period="normal">
      <bell time="1:00" number="1" next-period="pois-allowed"/>
      <bell time="3:00" number="1" next-period="warning"/>
      <bell time="finish" number="2" next-period="overtime"/>
    </speech-type>
    <speech-type ref="refutation" length="5:00" first-period="normal">
      <bell time="1:00" number="1" next-period="pois-allowed"/>
      <bell time="4:00" number="1" next-period="warning"/>
      <bell time="finish" number="2" next-period="overtime"/>
    </speech-type>
    <speech-type ref="conclusion" length="3:00" first-period="normal">
      <bell time="1:00" number="1" next-period="pois-allowed"/>
      <bell time="2:00" number="1" next-period="warning"/>
      <bell time="finish" number="2" next-period="overtime"/>
    </speech-type>
  </speech-types>
  <speeches>
    <speech type="introductory">
      <name>In Favour - Introductory</name>
    </speech>
    <speech type="introductory">
      <name>Against - Introductory</name>
    </speech>
    <speech type="refutation">
      <name>In Favour - First Refutation</name>
    </speech>
    <speech type="refutation">
      <name>Against - First Refutation</name>
    <speech type="refutation">
      <name>In Favour - Second Refutation</name>
    </speech>
    <speech type="refutation">
      <name>Against - Second Refutation</name>
    </speech>
    <speech type="conclusion">
      <name>Against - Conclusion</name>
    </speech>
    <speech type="conclusion">
      <name>In Favour - Conclusion</name>
    </speech>
  </speeches>
</debate-format>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.