Tracking time spent on a slide

Dec 06, 2015


I've been searching for this subject on these boards but couldn't find something that was 100% relevant, so here goes:

Our LMS provides tracking information per unit but we're uploading our 6-module course as a single unit. We are interested in tracking duration on certain slides, to assume whether or not a video was viewed in its entirety (these slides also contain markers that pause the video).

With a lot of help from Norm C on these boards, I managed to successfully track the use of said markers through Javascript variables being reported through xAPI, I was wondering if there is a similar solution (i.e. retrieving a timestamp at timeline start, and another one when the user navigates away from the slide in question). 

Any help will be appreciated.

Thanks in advance,


9 Replies
Erez Goren

Hey Walt,

Thanks for that example, well done.

Unfortunately that doesn't completely meet our needs. I'm reading up a bit on Javascript timestamps (hh:mm format), and I do believe there is a way to set/get a variable using said format at the beginning of the video, and get it once the user navigates away, assuming there is also a way to calculate the difference.


Any help would be appreciated.

Thanks in advance,


Erez Goren

Hey Walt,

Apologies, your example is actually very practical and I did recreate it. Unfortunately, our video slides contain layers which are shown by clicking on a marker (that appears at a certain point in time). This means that even if I set my timer layer to show when the video starts, I'm unable to click the marker(base layer) and show those additional layers. I did check each layer's settings to make sure they don't conflict, but I'm afraid this solution can't work for our application.

I would love to hear any ideas for a workaround.

Praveen Dixit

HI Walt,

I can understand your requirement exactly, we did it in on of the our course. So you can bit relax because it is possible thing.

Now, I left that organisation me (Graphic Designer) and my colleague (.net and Javascript developer) we together did this I will take a inputs from her if possible and update you on the same.



Erez Goren

Found a workaround which revolves around duplicating the base layer and clearing it (this lets all of the other layers work simultaneously...)

I now have another problem - I can't seem to get the perfect loop to run at exactly 60bpm... Has anyone else had trouble with that?

I need this to track videos that can get up to 20m in duration, and I'm getting (at best) an ~8 second offset after 40s


Walt Hamilton

I have also put the timing layers on the master, which allows other layers to work.

The timing problem comes from the overhead. It takes SL a small, but real amount of time to show and clear the base layer before it starts the next timeline, and that is what throws things off. Mine is off a bit, but not so much I can't live with it. Obviously, 12% is too much to live with. I don't show that large of a discrepancy (more like 1% or 6 sec in 10 minutes), but that may vary according to how much work the program has to do.

I like elegant solutions, but I also know when to grit my teeth and take the brute force approach, and I think this might be one of those times. I would watch the video enough times to get a predictable pattern of how much the time is off, and mathematically massage the results.

My fear is that it may depend on processor capability or browser type, even when it is published.

Good luck

This discussion is closed. You can start a new discussion or contact Articulate Support.