iOS custom course player bug

Dec 17, 2015

Hello everyone,

My name is Kamil Burczyk and I'm iOS developer of Scandlearn iOS app ( https://itunes.apple.com/se/app/scandlearn/id1005031282?mt=8). We are using courses exported from Articulate Storyline in the app and we're facing one player/cache problem.

In the app I'm receiving a course in a format shown below:

course format

then I'm launching a local web server (https://github.com/swisspol/GCDWebServer) and serving story_html5.html file in a web view.

First course works well, but after switching courses sometimes we get strange artifacts. You can see one below:

iPad bug

There is a text saying probably "To summarize ..." and we have no idea where it comes from. The problem is not strictly iOS related, since this is just a web server we can launch localhost in a real browser and check/investigate the same issue.
In desktop Safari or Chrome problem still exists:

safari bug

I was trying to investigate this element, since this is just an HTML (Flash-free) view, but it appears it's a <canvas> element without any particular content, so it must be dynamically populated from JS code (player.js ?).

canvas

console

My guess is that it might be HTTP cache related because this particular course works fine when launched for the first time. Server is restarted between consecutive course launches but when we check Network tab in web browser it gets HTTP 304 (Not Modified) response for many files, which means they are not served again (which is fine in most cases).
On the other hand we cannot disable cache completely because course progress mechanisms relay on that, so if we do the course will stop launching at last played slide.

Have you ever saw something similar and can point us in right direction?

1 Reply
Christie Pollick

Hi, Kamil, and welcome to the community! So sorry to hear you are experiencing difficulties, and as this is not something for which I believe we'd be able to provide support, I will need to go ahead and defer to the community to assist you further. As you mentioned JS coding, I did want to stop in to share our JS Best Practices sheet in case you had not come across it as of yet. Best of luck with your project! :)

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