double-character text entry ipad safari

I have a text entry field / form in my course.  It works fine in Windows browser.  When I view it in Safari iPad, almost every time I type using the pop-up iPad software keyboard (not an external keyboard) I get double characters.  So I hit the [a] key as lightly and quickly as I can and no matter what, most of the time I get "aa".  Same goes for any key. Once in awhile I get the intended single character.  I do not get this behavior when typing anywhere else on iPad, e.g., Safari URL/address field--iPad software keyboard works flawlessly as expected.  So this is specific to Storyline, iPad, Safari.  No, I can't use the iPad app because the LMS does not speak Tin Can.  Any help appreciated.  Thanks, David

35 Replies
David Kelling

Aha, almost in time but not quite, just found out I get the same behavior with an external keyboard.  And it is not specific to my iPad, it happens on a 2nd iPad.  The first is 7.0.2, the other where it happens with both software keyboard and external hardware keyboard is 7.0.4.  Thanks, David

Ashley Terwilliger

Hi David,

Do you have a .story course you could share with us here? I haven't seen this in my iPad before (iPad mini on iOS 7.0.4) and tested just a one slide course with a text entry and was able to type in fine while accessing it through mobile Safari. 

If you'd prefer not to share it in the forums, you can also send it along here.  

David Kelling

Thanks for the offer.  Turns out the issue is as follows, distinction coming:  If you launch the course in a new browser window/tab, you do not get the double-character entry in iPad Safari.  However, if you launch the course in an iframe in a new browser window/tab in iPad Safari you get double characters.  The "listener" is "hearing" the key entry twice: once for the iframe and once for the browser window.  This does not happen in Windows browsers, only in the iPad.  So it is something about the code included in the course export package that is specific to the iPad-Safari-Storyline-iframe combination.  It would be a considerable task to change our LMS to launch courses in the root of the browser window, not in an an iframe in the browser window.  Considerable regression testing would need to be done.  I would greatly appreciate any advice you could give about altering the the Storyline player javascript; it is obfuscated (understandably) and while the function that is happening twice can be found in the .js file it is pretty difficult to make heads or tails of what else is going on due to the obfuscation.  Thanks

Ashley Terwilliger

Hi David,

Changes to javascript code you've included is not something I'd be equipped to assist with, but there are a number of community members well versed in Javascript and I'll defer to them. It may help if you're able to post the portion of code you're looking to update here for the community to refer to. 

Ashley Terwilliger

Hi David,

Ahh, thanks for clarifying. Although we don't support modifying the published output, if your course is not working correctly within the iPad, that's something we'd want to look into. Have you tested to see if the course displays correctly within SCORM Cloud? There were a few HTML5 sizing issues with ios7 that were fixed as a part of Update 4 as well, but I've heard that some LMS's are still handling the HTML5 content within iOS7 differently. If you'd like us to take a look at your course as well, you can share the .story file here with us or here with us privately? 

David Kelling

Status; Summary: Articulate agreed it was a bug and added it to their list. We commented out some of the keypress listening code in mobile/storyline_compiled.js and theoretically disabled one of the two keypress listeners.  Now we have single characters when we type into Text Entry field in iPad Safari when course is launched in iframe to facilitate SCORM communication with LMS.

Christine Hendrickson

Hi Sue,

I just wanted to take a moment to let you know that we're still investigating this issue.

However, I have added this thread in the report, so we can be sure that it gets updated when we have more information. 

Please be sure to subscribe to this thread, if you haven't already.

We'll share any additional information as soon as we have it.

Thank you!

Lin Pang

Hi David, 

I'm also having the double-character issue. It is as you described - it happens only when viewing the storyline file from an iframe. You mentioned that you were able to comment out some of the javascript code to disable one of the two keypress listeners. Has it been working well for you? Can you share which part of the code to comment out? 

Thanks so much!

Lin

David Kelling

Here's what I can do.  Attached is our modified version of the storyline_complied.js file; you can do a file comparison between this one and the one created when you publish your course and see the difference.  Note that each time we publish we have to manually replace the file in the new published package before putting it in the LMS. Note also that this only worked when publishing from Storyline version 3.  When we published with Storyline version 4 this no longer worked.  So if you compare this to one generated by a version 4 or 5 publish there might be other differences that have nothing to do with the tweaks we made to get it to work for us.  All this to say this might give you some help on what to try but I assure you I'll have no other help for you as I'm not the developer and I can't make him available to help. When I use Beyond Compare to do the file comparison, our tweaks show up on lines 501 & 502. Good luck.

Lin Pang

Hi David! Thanks so much for sharing the javascript edits and the publishing notes! I had made another tweak in the storyline_compiled.js file before to disable the blue play button in the beginning of the course if you view it from Safari on the iPad. I noticed the same that the changes i made in the storyline_compiled.js (published from version 3 of storyline) did NOT work when i use it for published files from version 4 or 5. But I noticed that in the "mobile" folder, there's the addition of player_compiled.js file when i publish from version 4 and 5. So i made the same change in the player_compiled.js file and it worked for me. Note that this is for disabling the play button tho, so i'm not sure if it'd work for the double character issue. Just wanted to mention this in case that could be helpful for you. Thanks again for your help and i'll let you know what i find!

Lin Pang

Hi Connie, you can make the same change that David made, but it has to be in the player_compiled.js file. I attached the file that i corrected based on David's fix. Please find the commented out part on lines 503 and 504. I noticed that if i use Storyline 5, the fix would still be the same but on lines 516 and 517. As David said, you can do a file comparison between this and the auto-generated one when you publish. And make sure to replace this file every time you publish your storyline file. 

Connie Betts

Yes, thank you very much. But we spent yesterday and this morning testing, and when we replace the .js file we don't have ANY audio in the HRML5 version on the iPad in Safari. I can play songs in Pandora, so the audio works on the iPad. I have audio when I preview the course and when I play the same course on a laptop, but there is not any audio when I run the course on an iPad. Any ideas?

Dane Boyington

Question: I have a few hundred SL lessons on a server that are not published with Update 5. From a quick check it appears that you can just replace the player_compiled.js with the update 5 version and get the HTML output fixes.

Has anyone tried just replacing the player_compiled.js file to the new version and not re-publishing the rest of the file? (Yes, I know that the name changed from  storyline_compiled.js in update 3 also.)

Thanks.