Skip to content

Custom JavaScript Programming

Personalise Captivate's features, functionality and appearance

In January 2009 Adobe Captivate 4 released with a new feature - Widgets. These bite sized custom programs allowed you to extend Captivate with custom behavior. Thus began Infosemantics' foray into the field of Captivate extensions. We built over 10 widgets for sale on our website, while also providing tools for other developers to use free of charge. Today, we sell the most powerful and popular widget in the world: CpExtra.

We've built our business around customizing Captivate to do whatever our clients need. Now we're making our experience available to you.

What would you like to build today?

What sort of features have you built for clients?

All sorts of crazy stuff. It generally falls into two categories:


Captivate is a very flexible program. However, it does lack certain common sense features.

For example, let’s suppose you were making a Try Me style software course. You want the learner to enter some text into a text entry box, and then press tab to trigger an action and continue to the next slide. Although Captivate allows you to set the TAB key as a text entry box’s shortcut key, if you publish the project you will find this does not work. One of our clients required this for his course. He contacted us and we built a solution which is now available as the xcmndPreventTabOut feature in CpExtra.


Captivate does not allow you to change the appearance of everything within it. There is only so much you can change about the table of contents, the playbar and certain quiz questions.

For example, multichoice questions show a rollover under each answer. Out of the box, Captivate does not allow you to change the color of that rollover. One of our clients reached out to us about this. At his request, we built a solution by adding the xprefMultichoiceRolloverColor feature to CpExtra.

…and there are many, many more examples. We’ve done things such as changed the behavior of the Closed Captioning window, embedded fonts into the Captivate export, synced Captivate variables with remote databases, and so much more.

Can you build ANY behavior?

Experience has taught us: Anything is possible, but not everything is practical.

Do you want the Captivate playbar to run vertically down the left side of the screen? That’s definitely possible, but the amount of hours it would take to build that feature would hardly make it a worthwhile investment.

The following circumstances may severely limit whether we’d deem your desired feature to be ‘practical’.

  • Will your course be viewed on Internet Explorer?
  • Is your feature related to responsive design?

In addition, if you have a extremely security conscious client, we may not be able to deliver the code in a manner that would satisfy their requirements.

How is the code delivered?

Usually in one of two ways:

A JavaScript File

With a few hacks, Captivate can load custom JavaScript from a JavaScript file. 

This method allows us to tap in to third-party open source JavaScript libraries and you will also retain ownership of the code.

However, as we have no way to know how Captivate will change from one version to the next, any maintenance on the code will need to be paid for at that time.

cpextra logo

Included in CpExtra

CpExtra has been designed to make it quick and easy to add new features. Including your feature in CpExtra allows us to borrow from its existing code base, often reducing the cost of building the feature.

If you don’t have CpExtra, we’ll include a discounted license as part of your quote.

If agreement is made on this delivery method then you will not be the owner of the code. It will be included in the next version of CpExtra for the benefit of the entire Captivate community. However, if the feature breaks in later versions of Captivate you will not be responsible for paying for maintenance. Just like all other features in CpExtra, we’ll fix it for free.

How do we pay for the service?

After we have come to agreement over a quote, we will explain how to purchase work hours as a product on our website.

It’s rare, but there is always a possibility we will complete work before the estimated number of hours are complete. Under those circumstances we will keep track of the ‘unspent’ hours should you wish to have further work done in the future.

I'm interested, how do I get a quote?

Just fill in the contact form below and we’ll get in contact with you.

Please include the following details:

  • A clear description of your desired behavior.
  • Your industry (Medical, Oil/Gas, Military, etc)
  • Whether your Captivate project is responsive.
  • What browsers will your learners use to view the course.

Depending on the request, we may quickly be able to give you a quote of how many hours it would take to complete.

If the feature is not practical to implement, we should also be able to tell you right away. In which case, no harm done.

If the desired behavior is somewhat intricate, we may require a conference call before we can give a quote.