Debatekeeper is an Android app that times speeches in debates and rings bells automatically at the correct times. It supports most parliamentary styles of debating, including British Parliamentary, Australasian, Asian, Australian, American Parliamentary, certain forms of Canadian Parliamentary and all New Zealand styles.
The app rings a bell, vibrates and/or flashes the screen white (or any combination of the three) at bell times. It also rings overtime bells, which are configurable.
A small amount of documentation for this app is at https://github.com/czlee/debatekeeper/wiki/.
The app is available on the Google Play Store.
Version 1.4 was rolled out in June 2023. This update was mostly just to comply with Android's target API level requirements, so that the app doesn't get pulled from the Play Store. I don't intend to do any other work on Debatekeeper, other than maintaining the new online formats repository (whose main purpose is to make it easier to accept new debate formats without having to update the app) and further target API upd
I would love for someone new to pick up this project and run with it. It's licensed under the GPLv3, so any prospective developer would be bound by those licensing terms. You're welcome to contact me if you have any questions. See the notes for prospective developers below.
This app (and all source code, with exceptions noted below) is licensed under the GNU General Public Licence version 3. You can find a copy of this licence in the "licence.txt" file, or go to http://www.gnu.org/licenses/gpl-3.0.html.
The exception is the bell sounds. I bought the single bell sound from SFXSource (which appears to be now defunct), so I can't make it freely available. If you want to contribute and need this file, get in touch with me.
New debate styles should be submitted to the online debate formats repository at https://github.com/czlee/debatekeeper-formats. Instructions are in that repository.
I've written a page on how to write a debate format XML file. But it's probably easiest in the first instance to look in the formats repository for the XML files there, and modify one of those.
This app doesn't do the public forum, Lincoln-Douglas or policy debate styles. There are other Android apps that do this. The reason this app can't currently do this is that it doesn't currently support preparation time that can be used by teams between speeches at their election. A discussion of this is in issue #6.
I don't intend to work on this app beyond version 1.3 (October 2021), so if you're interested in helping with development, I'd love for you to dive in and possibly take over the project. Contact me if you want to discuss anything, or feel free to just fork the repository and get going.
Note: The master branch has legacy support code for version 1.3 that should be removed in the next version. I've done this on the remove-legacy branch, so for any non-minor development, please start from that branch (and merge it into master).
To build this project, you'll need to:
Check out this repository (and put it somewhere useful)
Add the bell sounds, called desk_bell.mp3
, desk_bell_double.mp3
and desk_bell_triple.mp3
,
all to the app/src/main/res/raw/
directory. The app won't build without a sound file of some
sort there. Any sound file will do. I'm happy to provide the file to interested developers, on
the understanding that it is not available under a free-distribution license (as discussed
above)—contact me at the details below. Of course, future developers may also use other sounds,
including more freely available ones, if they can find a satisfactory one.
If you wish to use your own sound files for the desk_bell*.mp3
files, here is some information
about them:
desk_bell.mp3
sound is about 2 seconds long, but this shouldn't in principle
matter; there is code that stops any existing playback if a new one needs to be started.desk_bell_double.mp3
and desk_bell_triple.mp3
sounds are just the desk_bell.mp3
sound,
but repeated at an interval of 0.5 seconds. Any sound editing tool should be able to do this; I
used Audacity. The purpose of these files is just to make the
interval more predictable and to avoid abrupt audio stops for common multiple-bell cases.If you work on a significant update, I'll encourage you to list it under a separate Play Store listing on your own account. To do this, you'll need to change the package name from net.czlee.debatekeeper to something else. Feel free to rename/rebrand it if you like. Don't forget that, under the GPL-3.0, you're required to make your code publicly available. Please credit me in your distribution (e.g. in the store listing).
For minor updates, I might consider pull requests and releasing it under the existing Play Store listing. Just be aware that some pull requests have sat around for several years before I got a chance to look at them, and this is likely to be longer in the future.
Please don't hesitate to email me if you have any questions about how to proceed with this. I'm likely to take forever with reviewing code, but I should be able to respond to emails about a developer transition much more quickly.
You can find my e-mail address by checking out this repository and looking at the commit authors, or alternatively message me on Facebook (czlee) or Twitter (@czczlee).