Skip to main content
Participating Frequently
December 2, 2015
Question

Captivate 9 - Switching from SWF to HTML5

  • December 2, 2015
  • 1 reply
  • 639 views

Hey Guys,

For the past 2 years I've worked for a company that uses Captivate to produce online training simulations - theses simulations help train our customers how to use our software. Our training's range from the super simple to the fairly complex. They had been using Captivate 5 long before I was ever hired, so I've continued using Captivate 5 (exporting as SWF obviously.) We recently updated our training platform and my company wants to switch everything we've ever made (probably 40+ hours of simulations) from SWF to HTML5. I've noticed a lot of the methods we used to create these trainings are no longer available - but I'm hoping that it's just a matter of me not understanding the best practice for building simulations.

The first real problem I've noticed, is that we are no longer able to use rollover slides when producing into HTML5. In the past, we would have slides progress using rollovers - for instance, we'd tell you to "click the OK button," the user would then hover over the okay button, the rollover would then display the rollover slidelet exposing a new image of the button. We'd have a tiny click box with the "pause project until user clicks" checked just to freeze the slide and the On Success of the rollover would be set to continue to the next slide and that's how we'd transition from slide to slide. Now I have no clue if this is best practice, but that's how we've always made them. So the problem is that 99% of our customers access these files from a desktop computer and now I'm forced to replace every rollover we've ever used with a click box. Not only does it not look as nice, but it is a huge use of my time. I'm hoping that maybe I've overlooked something or there is a better way to do this moving forward.

The other problems are related to more complex functions. In the past my company has used 3rd party widgets (which I assume must be written in Actionscript or whatever flash uses) to do things like

  • Check for drag and drops / mouse up and mouse down events.
  • Hide the cursor and have an image element follow your mouse (a roundabout method of replacing the cursor.)

These widgets no longer work in HTML5, so I've been forced to write a pretty hefty javascript library to get around these things. I then have been editing the published index.html to include my library and then I call the functions using the On Enter: "Execute Javascript" from within the slides that need things like cursor changes etc.. Now I'm hoping there is also a better method to do this, because my process is really awkward and takes a lot of time (anytime I have to republish the project I have to edit the html with my scripts.) Is it possible to make my own javascript widgets and just include those in my project?

Lastly, I've noticed that when opening the exported files in Internet Explorer or Firefox, the browser throw warnings, which is not ideal. Is there any workaround for this?

As it stands now, I don't see any huge benefits from switching over to HTML5, and without things like rollovers - they don't look as nice and take much longer to build.

I would really appreciate any advice or insight you guys have, while I have lots of experience in Captivate, I probably don't use it to it's full potential and I'm probably overlooking some helpful features.

This topic has been closed for replies.

1 reply

RodWard
Community Expert
Community Expert
December 3, 2015

HTML5 content is usually intended for mobile devices where rollover is simply NOT one of the events that gets used.  Yes the same content COULD be used for desktop devices that are simply viewing it in the browser as HTML5.  But the usual intent is that you build the course content so that it would be 'mobile first' compatible, or in other words, that the MAIN target platform was mobile, not desktop.

So Adobe Captivate assumes that if you're publishing to HTML5 you would NOT be using certain types of objects that are incompatible with mobile devices.

Rollover slidelets, rollover captions, and rollover image objects are not going to work for your HTML5 output.  If you ARE migrating all of your courses to HTML5, then you need to redesign the content so that it is universally using click or tap events.

As you have found, SWF widgets are not compatible with HTML5 output.  You will need to either switch over to equivalent HTML5 versions of the same widgets (if you can find them) or else ditch them entirely.

There IS a new JavaScript widget platform that is currently in BETA testing that replaces a lot of the things only previously possible with SWF widgets.  But that is not as yet released for purchase.  It gets inserted into a project as a widget and adds its own JS library that way.  It's ingenious and VERY powerful, but takes a while to learn all the ins and outs of what it can do.  It's called CpExtra.

You should also be aware that although you CAN upgrade your current Cp5x CPTX files to later format (if you purchase Cp9 for example), and then publish them to HTML5 output, you CANNOT turn those same project files into Responsive projects.  That would require entirely re-developing all of your courses again from scratch.  And if you're not liking the limitations that using HTML5 incurs, you would definitely HATE the extra design limitations imposed by going responsive.

And finally: If your company DID happen to need extra incentive to start using HTML5 output, take a look at the latest news release from Adobe that tells all developers to STOP using Flash.

Flash is finished: Adobe tells developers to switch to HTML 5 (Wired UK)

Participating Frequently
December 4, 2015

Even with a mobile first mindset, I find it odd that rollovers are just completely not allowed on desktop. In an ideal world, wouldn't you want to build it first for mobile and then include things like rollovers for when the course is used on a desktop browser? That's how normal responsive websites work - we don't say "hey don't put ::hovers on your nav bar because people might use it on a phone." It makes desktop projects look more rigid and less interactive.


So it sounds like the best course of action is to build a widget with my Javascript library and bite the bullet and replace our rollovers with plain click boxes.

Thanks for the prompt feedback!