Adobe Captivate 5 – Widgets and the Widget API


One of the things that has recieved an overhaul in Adobe Captivate 5 is the Widget API. I’ll try and give you some examples of the new things and the changes here in this post.

Adobe Captivate Widget Picture

Changes / Enhancements in Adobe Captivate 5 with Widgets:

AS3 only

Adobe Captivate 5 will only be able to use AS3 widgets. Actually it will only be able to use AS3 anything so this will give you a problem if you are using third-party content from for example Articulate or Rapitivity since they are pure AS2 at the moment.

New Widget classes

One of the biggest changes in the Widget API are the new events. These event based classes will allow you to access and use information from Captivate much better than with the old structure.

The classes are imported into your widget along with the flash.external.ExternalInterface and then you are ready to start coding

import com.adobe.captivate.widgets.*;

The com.adobe.captivate.widget classes are:

com.adobe.captivate.widget classes

The classes are:

Basically these classes lets you communicate with your widget and Captivate but it will now also be possible to have individual widgets communicate with eachother. This is a very interesting perspective and can open up for a lot of interesting developments.

Widget Parameters

The Widget parameters are now called Widget Properties. One of the good things about this is that it is no longer a small box in which you had to stuff all your parameters inside. Now the Widget Properties is a self contained window that “floats” on top of the stage when you insert the widget. This makes it easier for the developer to work with the widget in Captivate but also makes it easier for the widget developer to create a nice interface.

Additional changes / enhancements / restrictions

– The updating of an existing widget used in a Adobe Captivate 5 project is now easier than what it was in CP4.

– The new Widget API uses proxies to prevent widget developers to access objects on the stage / slide at runtime. This was implemented to prevent Widget developers of gaining too much control of a Captivate project and potentially delete and mess up other peoples projects. In my personal opinion it’s a wrong move but luckily it won’t be such a big problem after all as this can easily be circumvented according to Whyves. I’m sure that he will post more details on this on his blog here.

Adobe Captivate 5 stock widgets

Adobe Captivate 5 will also ship with a number of stock widgets. Some of them are actually pretty good and prove to be useful in your projects. Personally I really like the new Arrow Widget. I would probably still create my arrows in Photoshop using shapes and styles as I am used to do, but this widget does give a pretty good idea about the capabilities of Widgets in Adobe Captivate 5.

Click the image below to see some more information about the Widget API and stock Widgets in Adobe Captivate 5.

Click here to see a demonstration of widgets in Adobe Captivate 5

Buy Adobe Captivate 5 here on the Adobe website



  1. Thanks for these, Michael. Just spoke with my boss yesterday about eLearning Suite 2. Looking forward to upgrading to Cp5 (from Cp4 and Flash CS3).

  2. Hi Michael,

    Nice presentation! I like the fact that you created a presentation to highlight the new widgets functionality. Another aspect I like about the chart widget is that it allows to upload a file directly from the disc.


  3. Pingback: Flash-Factor » Blog Archive » Captivate 5 Widgets and API

  4. Hi Wheat, CP5 is great and it will save you a lot of time production wise and you will be able to create much better content. I’m sure it will pay of both moneywise and content wise for you ;o)

    @Yves – Thanks Yves – I’m glad to see that you took the hint and wrote up a post about the more techincal aspects of the widget API in CP5 ;o)

  5. Michael,

    Great post! Thank you for taking the time to write about the API. One feature I’m looking forward to is the ability to tap into the events. This framework lends itself well to inter widget communication and async web services. Looking forward to the release of that Twitter widget which would display a great example of both.

    Jim Leichliter

  6. Nice Post!!! As we all may already know the help for CP out the is a bit thin on the net. Does anyone know where some good material is out there that talks about CP events? i need to communicate between two widgets on runtime and during authoring in CP. HELP!

  7. Hi Jerome,

    As far as I know there isn’t any documentation out about this yet. I just got back from vacation so perhaps I missed it but so far I haven’t found any. I recommend that you keep an eye on this blog as well as Flas-Factor and Jim Leichliters blog (both links can be found in the footer on this page).


  8. Hi! Is there a widget to create a “wrapper” for the flash output? Specifically, we want to display the video in one panel of the frame and have an interactive TOC in the left panel, with duration of section, etc. available. I’m not a programmLooking for something easy to use but professional. Thanks!

  9. @Keli – to my knowledge there isn’t such a widget available now. You would need to have that programmed for your needs specifically unfortunately.


  10. Good Morning,

    I finally got the elearning suite and I have been trying to play with the widgets, but everytime I try to insert or drag one to the stage, my program crashes, any suggestions, maybe my IT Dept installed my software incorrectly?? Everything else seems to be working well, just not the widgets, thanks.