A full-screen countdown timer for conference presenters.
https://quuxplusone.github.com/CppConTimer
Original version by Jon Kalb.
Fully-client-side version by Arthur O'Dwyer.
The Timer Service is designed to generate pages that "count down" the time remaining in a session or a set of sessions.
The Timer Service can be used in One-Off Mode or Conference Mode.
In One-Off Mode, the Timer Service generates a page that counts down the time for a single session (as if it has already started) ending at a specific time.
In order to use the Timer Service in Conference Mode, you will need to create a JSON data file that can be loaded from a URL. Here is an example: CppCon2018.json.
The JSON file represents an array of sessions. Each session is a dictionary with the following keys:
Key | Required? | Data Type | Content | Meaning |
---|---|---|---|---|
begin |
required | string | datetime in ISO 8601 format | start time of session in local time |
end |
optional | string | datetime in ISO 8601 format | end time of session in local time |
duration |
optional | integer | positive values | duration of session, in minutes |
tracks |
optional | array of strings | track names | tracks in which this session should be included |
If the end
key is present, the duration is taken to be until that time.
Otherwise if the duration
key is present, the end of the session is calculated
using that value. Otherwise the session is assumed to last for one hour.
A single data file should be adequate for all the requirements of a single conference,
even if that conference has multiple tracks with different sessions times. Any session
without a tracks
key is assumed to be in all tracks. If a tracks
key is present,
then the session is only added to the specified tracks.
The timer service is invoked in one of these forms.
where:
track
is an optional track name (if not specified, only sessions withouttracks
will be used)json
is the URL of the JSON-formatted file containing the session schedule
- https://quuxplusone.github.io/CppConTimer/index.html?end=3:00pm
- https://quuxplusone.github.io/CppConTimer/index.html?duration=60m
where:
end
is the end time of the one-off sessionduration
is the length of the one-off session, in minutes
Times can be represented in ISO 8601 format (end=2018-04-01T01:23:45
), or in
"friendlier" formats (end=3:00pm
, end=15:00
).
The parsing is handled by Moment.js.
If you try something sensible and it doesn't work,
please file an issue.
Durations can also be represented as seconds (duration=10s
) and hours (duration=2h
)
for testing purposes.
By default, the time is shown as a number of minutes.
Optionally, for times longer than 59 minutes, time can be shown as hours and minutes.
Enable it by adding &show_hours=true
to your URL.
By default, the time is not shown with seconds (until the time remaining is less
than ten minutes), but can optionally do so.
Enable it by adding &show_seconds=true
to your URL.