HTML5 Playback Synchronization

I've written on this problem before. It's getting hotter now. Timing of audio and imagery is screwed up in Chrome. Now I'm getting feedback from major accounts that includes iPad/Safari is also blowing the timing.

Here is a direct quote from a major client: "iPad on Safari browser: video lagged pretty far behind the audio and the course kept crashing. She took this course from the head office" (meaning bandwidth is plentiful in the head office).

Articulate Storyline has had problems like this (and the ligatures problem of "t" and "f" not displaying) for more than a year now. I don't see other authoring systems reporting these issues in their forums.


6 Replies
Steve Flowers

Hey Sam - Are you using the classic player or modern? I just came to the forums to ask if anyone else had seen performance issues in the classic player.

Classic player HTML5 - Animations running less than 1 frame per second on a 4K monitor expanded full (powerful machine.) Mere mortal machines crashing with the same content.

Modern player HTML5 - almost normal, very little performance hit with the same content.

The modern player feels much snappier than classic. 

Sam Carter

Some more about crashes and freezes...

Our LMS  catches Storyline JavaScript errors and presents the learner with a JavaScript alert: "An error occurred. May be a good idea to exit and restart the course". Troublesome on every page turn.

A few customers of ours have LMS which crash the course when app.min.js fires an error. This is a bad situation. 

Some LMS ignore these errors which is good, but the errors might freeze the course playback.

In the absence of fixing  errors there is one line of code: onerror=function(){return true;} ... when added to the frame hosting the course could trap the error and not let it percolate up to the LMS. Crashes prevented, learner experience improved.

Our LMS got the above modification and additionally silently captures the full error description and logs them to a file with the IP, full URL of the page generating the error (always app.min.js). We get several hundred errors every month.