Function Repository Resource:

TimerTable

Source Notebook

Create a table of consecutive countdowns

Contributed by: Michael Sollami

ResourceFunction["TimerTable"][<|label1timespec1,label2timespec2,|>]

creates a notebook object with a dynamic display of countdown timers.

Details and Options

Each label is a string and each timespec is a positive real number of minute (to specify other units of time use Quantity).
To display within the evalutation notebook instead of creating a new window, set the option "Palette"False.
To enable spoken notifications at the completion of each subtask set "SpokenCue"True.
By default, a gentle audio ping is issued. To disable this, set "AudioCue"False.

Examples

Basic Examples (2) 

Create a list of consecutive countdowns:

In[1]:=
ResourceFunction["TimerTable"]@<|"\!\(\*
StyleBox[\"Step\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"1.\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)Collect underpants" -> .1, "\!\(\*
StyleBox[\"Step\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"2.\",\nFontWeight->\"Bold\"]\) ???" -> .1, "\!\(\*
StyleBox[\"Step\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"3.\",\nFontWeight->\"Bold\"]\) Profit!" -> .1|>
Out[1]=

The generated table show progress along with the total time left, and has a pause/resume button:


You can use Quantity to specify time in units other than minutes:

In[2]:=
ResourceFunction[
 "TimerTable"][{{"chug coffee", Quantity[10, "Seconds"]}, {"review resumes", 2}, {"work on patent", Quantity[2, "Minutes"]}, {"respond to emails", Quantity[3.14, "Seconds"]}, {"debug code", Quantity[1.5`, "Hours"]}}, "VoiceCues" -> True]

Options (3) 

Display TimerTable within a notebook (not in a separate window):

In[3]:=
ResourceFunction[
 "TimerTable"][{{"Three", .05}, {"Six", .1}, {"Twelve", .2}}, "Palette" -> False]
Out[3]=

Have notifications spoken when each task completes:

In[4]:=
ResourceFunction[
 "TimerTable"][{{"Three", .05}, {"Six", .1}, {"Twelve", .2}}, "SpokenCue" -> True]
Out[4]=

By default a Beep-like sound is make when each subtask completes:

In[5]:=
ResourceFunction[
   "TimerTable"][<|"A" -> 1/60, "B" -> 1/60, "C" -> 1/60|>, "AudioCue" -> #] & /@ {"Beep", "Chime", "Soft"}
Out[5]=

Publisher

Michael Sollami

Version History

  • 1.2.0 – 05 January 2024
  • 1.1.0 – 24 June 2022
  • 1.0.0 – 28 February 2020

Related Resources

License Information