Yet another new H5P content type that starts with a T

Didn’t I release a new H5P content type that starts with a T recently? I did. Well, here’s another one.

The Hochschule Hannover sponsored Timekeeper. Timekeeper is one of those small content types that are likely to support many use cases. You can use it as a timer or as a stopwatch.

Timer

When using Timekeeper as a timer, you have two options. You can decide to set a period of time that the timer counts down from – duh. Or you can set a date and a time that the timer should expire at. The latter features a brand new date picker widget in the editor. It uses the same visual design that you know from the metadata settings.

If you set a starting time, you can decide whether to let the user start the timer or to let Timekeeper to start on its own. You can allow or disallow the user to pause the timer. And you can allow or disallow the user to reset the timer.

No matter what starting time you chose, a timer can be set to play an audio sample when it expires. You can also add background music that can play as long as the timer is ticking down. Aaaand you can choose between displaying the time in verbose mode or as a time code.

Stopwatch

When using Timekeeper as a stopwatch, then you do not have any particular options. But you get a nice stopwatch 🙂 A user can start it, pause, resume and reset. And you can track laps and will get a table listing the laps, the lap time and the total time elapsed.

Under the hood

What you don’t see here: Every timer event triggers an xAPI event that platforms can track. This will in come handy if you want to record running times or react to a timer that has expired or … And the there are the usual H5P features. By passing custom CSS, you can customize the visual appearance if you don’t like the default. Also, you can contribute translations if your language is missing.

Want to use it already?

I will ask the H5P core team to review the content type. Afterwards, they should release it on the H5P Hub, but this process usually takes some time. If you want to use the content type right away, look for the Reuse button underneath the content. Use that button to download the demo content, and then upload the .h5p file onto your H5P platform in the H5P Hub. Please note that you will need to have permission to install H5P libraries. Otherwise, you cannot install the content type this way. In that case, your system admin will need to assist you.
The source code is available as well:

Any future plans for that content type?

You may wonder what I intend to add to this content type. I don’t know. Could be something, could be nothing at all. I am open for ideas either way. But please keep something in mind: I coded this content type, but it’s not mine. I coded it at a discount rate as I usually do if the result bears an open source license. I’ll take care of all the change requests that the H5P core team may have to bring the content type onto the H5P Hub. Additionally, I suppose that I will find time to help you on the H5P forum if you have questions. That’s what I usually do anyway. But if you claim free support as if it was your right, you’ll most likely get a “no” from me. The same applies if you expect me to add features pro bono to solve your specific problems. I may add things, but at my own time – or expect you to toss me a coin. I hope you understand that. Not all do, as I know from bad experience.

4 Replies to “Yet another new H5P content type that starts with a T”

  1. Hello, if I use this with the WordPress plugin, is the timer status persistent across sessions? Is it stored in the database so it would be consistent across devices/cookie wipes?

    1. Sorry, your question got caught in the spam filter.

      No, the time will not be kept, as it doesn’t make sense to use H5P’s “save content state” feature. The time would be completely inaccurate as H5P only stores the state in certain intervals – and no regular server would love to get multiple HTTP requests per second to store a value in the database anyway.

Leave a Reply

Your email address will not be published. Required fields are marked *