Schlagwortarchiv: H5P

A Babel fish for H5P?

It’s so sad. The Babel fish still has not been found on earth. If we want to present videos to a wider audience, we have to rely on dubbing, voice-over, or captions. Unfortunately, the Interactive Video Library of H5P doesn’t support the latter yet. Someone gave it a shot late last year, but it seems it never got implemented.

Well, YouTube offers to augment videos with captions. Also, H5P supports to use videos directly from YouTube. I took the liberty of digging into some undocumented features of YouTube’s API, and I wrote some code. As a result, I have something that seems to be working. Start the video and see for yourself…

UPDATE: YouTube changed its API. My implementation won’t work anymore.

Make it cute and cuddly!

As I mentioned on Twitter already: We want it to be cute and cuddly, right?

First of all, I am not sure if it runs smoothly on all the major browsers and platforms. Maybe you could have a look on your system and report your findings in the comments below?

Secondly, the video has to be started before you can choose a language (if there are captions available). The same is true for choosing the video quality by the way, and that’s why both icons are ghosted before playing. A workaround would be to start the video automatically, wait for a certain signal from YouTube, and then stop playing and jump back to the start. This shouldn’t take too much time, but it might be visible. I still have to check that.

Furthermore, we slowly but surely might run into trouble with all the icons down in the player’s toolbar. It’s becoming quite crowded, although here on this blog the content width is so small that H5P switches to its alternate mode anyway. It hides options behind the button with the three dots. What do you think? Is it user friendly enough? Should the alternate version become the default? Just leave me a comment!

Oh, and if you happen to come across any other bugs, please just let me know!

Add an H5P-Timer to your assignments, maybe?

A while ago, I noticed that the memory game of H5P uses a timer that is tied to the library closely. It cannot be used for anything else. I decided to create something like a general purpose timer for H5P and here it is! You can  check it out it on github.

What is it good for?

The timer is not intended for time critical applications, but it can easily be used to keep track of time in games, to set a time limit for tasks, or to create other innovative content libraries that need triggers based on time. What about a mod-player that can handle ProTracker files for example? ;-) Also, it might reduce some redundancies across different h5p libraries under the hood.

You could build a stopwatch with the H5P-Timer

What can the H5P-Timer actually do?

First of all, the H5P-Timer can can count up and down. Wow, right? :-) Additionally, it can be paused. Really! More interestingly, it keeps track of three different types of counters:

  • clock time (can be modified even if running, e.g to give a time bonus)
  • playing time (the amount of time that the clock has been ticking when not paused)
  • running time (the total running time ignoring pauses)

I am not sure if there’s a use proper use case for all of them, but maybe you have something in mind?! Furthermore, the timer offers three types of notifications using callback functions. All three counter types can be used as a trigger. You can set up:

  • a notification at a particular point in time,
  • a notification after a certain time period has passed, and
  • recurring notifications in fixed intervals.

For example, you could set up a two minute warning for a countdown with a notification at a particular point in time. Or you could remove special powers that were granted a game character after 30 seconds have passed. Or you might just add a ticking noise to a clock every single second. It’s up to you! Apropos clock: the timer can use milliseconds internally but only „displays“ tenths of seconds and above. Everything else wouldn’t make too much sense, I guess.

Hmm, what else can the timer do? It will dispatch events for play, pause, stop and reset. You might want to listen for them.

Finally, the timer offers some static utility functions. You can

  • check if something is a timecode,
  • convert timecodes to milliseconds and vice versa,
  • extract single time elements like days or seconds from timecode or milliseconds.

Help, I need sombody, help!

I think that someone else should have a closer look at the H5P-Timer because it may still contain some bugs. While I have not completed my documentation, I hope that my comments are good enough to guide you. Your feedback is highly appreciated! Also, please let my know in the comments what content libraries you can imagine to use the H5P-Timer for!

Teaching H5P to present automatically

Have you stumpled upon a nice piece of software called H5P yet? It allows you to embed a large variety of interactive content into websites running Drupal, WordPress or moodle. You should definitely have a look at all the fine examples.

One of the content types of H5P is called Course Presentation. It allows you to combine slides with videos, multiple choice quizzes, and some other shenanigans. This is the standard example:

Hier klicken, um den Inhalt von h5p.org anzuzeigen.

Last Wednesday, someone asked if it was possible to go to the next slide automatically after a certain amount of time. It is not. So no scenarios such as Pecha Kucha with H5P? Luckily, the software is open source and I had some spare time to kill this weekend :-)

With my contribution you can activate an auto presentation mode that will show each individual slide as long as you want to – or you simply set a global time period like 20 seconds for Pecha Kucha. You can also decide whether you want the presentation to loop indefinitely or not.

Where is it then? Well, it’s not totally finished. You can already get it from github and use it, but the presentation editor still lacks the option to set a time period for a slide conveniently. Until now, you will have to edit the H5P file manually if you need individual settings. But, when that is done, you may be able to create something like this… Isn’t that nice?