Display Time information

Update: if you use a recent version of Captivate, have a look at this updated post:

Display Time in CP2019

Intro

Again I want to post a detailed explanation to a question on the user forum, quote: ".... if there was anyway to insert running time".
The user did want to show the information that is normally in the TOC about the total duration of the project and the elapsed duration. This duration is the one that shows up in the Project Info panel (in Captivate 5.5) or in Project Info in the Preferences dialog box (Captivate 5.0). It is calculated as the sum of all the slide durations. Same for the elapsed duration that is calculated as the sum of the slide durations of the slides before the current viewed slide.

This is not the same as the real time spent by the user viewing slides, project.  This time can be made visible as well.

Example


Play this movie and watch the information I show on the slides:
  • in the first Text Caption top left, the total project duration like it is displayed in a TOC or in the Project Info
  • in the second Text Caption top right, the elapsed duration calculated as the sum of the slide durations before the current slide, with a percentage as well (how much of the movie has been viewed)
  • in the third Text Caption beneath the second one the real time already spent on the movie

Work flow


Variables


System variables used in this solution are:
  • rdinfoFPS : the framerate of the Captivate file (default is 30fps)
  • rdinfoCurrentFrame : the number of the frame where the playhead sits
  • rdinfoFrameCount : total number of frames in the project
  • cpInfoElapsedTimeMS : time elapsed since the published movie started, in milliseconds
 

I started creating some user variables
  • v_total : will store the total duration (in seconds) of the project 
  • v_total_min : will store the total duration of the project in minutes, I could have reused the user variable v_total, but the advanced actions will be easier to read
  • v_help : to store the frame number of the first frame of a slide (or when clicking the last 'Calc' button); this variable is reused a lot of times, contrary to the first 2
  • v_elap : the elapsed time (in seconds) calculated from the slide durations of the previous slides
  • v_elap_min : same elapsed time but in minutes; again I could have reused v_elap as well
  • v_perc : percentage of movie that has been viewed, calculated from v_elap and v_total
  • v_real : real time (in seconds) since the start of the movie; to illustrate what I mean by reusing, I used this variable if necessary also for the real time in minutes

Hide-and-Seek

Once I blogged: Playing Hide-and-Seek with Captivate objects and I used the information explained in that post to save time:
  • The first Text Caption, showing the total Project duration is really only on the first slide with a timing 'Display for rest of Project'; there are really 2 text captions:
    • NoMinutes: displays the information when the total duration is lesser than 60 secs, this caption is on top of the second Text Caption in the Timeline, thus hiding this caption that has exactly the same position and sidze (Transform accordion in Properties panel)
    • YesMinutes: displays the same information in minutes when appropriate, and will become visible by hiding the text caption NoMinutes
  • The text caption showing the Elapsed time and the Percentage is only on the second slide (see timeline of this slide in the Gallery), also with the timing  'Display for rest of Project'; again I have 2 versions of this caption
    • ElapMinNo : displays the information when the elapsed duration is lesser than 60 secs, this caption is on top of the second Text Caption in the Timeline, thus hiding this caption that has exactly the same position and sidze (Transform accordion in Properties panel)
    • ElapMinYes : displays the same information in minutes when appropriate, and will become visible by hiding the text caption ElapMinNo
  • The text caption showing the real time is also only on the second slide (see Timeline), with timing  'Display for rest of Project'; the 2 versions of this caption with same size and position are:
    • RealMinNo : for this information in seconds, sits on top of and hides
    • RealMinYes : for the information in minutes, will be visible when RealMinNo is hidden

Advanced actions

Only two conditional advanced actions are needed, I added them as images in the Gallery:

StartOne
This action will be triggered on entering the first slide, and its goal is to calculate the total project duration from the system variables rdinfoFrameCount and rdinfoFPS and show the appropriate Text Caption (NoMinutes or YesMinutes). Since this is a fixed time, nothing has to be changed later on. The action has two decisions:
  1. TotalCalc: which is really a standard action, where the total duration of the project is calculated
  2. Minutes: checks the value of v_total, if it is greater than 60, the duration in minutes is calculated and stored in v_total_min and the Text Caption NoMinutes is hidden, thus revealing YesMinutes
StartNext
This action is triggered on entering all slides except slide 1. It calculates both the elapsed and the real duration that will be shown  on entering each slide (like on the TOC). The system variable rdinfoCurrentFrame is used to store the number of the first frame of the slide in the user variable v_help. Both the duration in seconds and the percentage are calculated. The value of the real time is calculated in seconds. This action is also triggered by the Calc button on the last slide. It has three decisions:
  1. Elapsed: again a mimicked standard action that calculates the elapsed duration from the variables v_help and rdinfoFPS, the percentage from v_elap and v_total, the real time from cpInfoElapsedTimeMS
  2. ElapMin: checks the value of v_elap,  if it is greater than 60, the duration in minutes is calculated and stored in v_elap_min and the Text Caption ElapMinNo is hidden, thus revealing ElapMinYes
  3. RealMin:  checks the value of v_real,  if it is greater than 60, this variable is recalculated in minutes, and the Text Caption RealMinNo is hidden, revealing RealMinYes

Conclusion

I'm prepared to create a template with those advanced actions needed if you like my solution. My decision will be made based on the comments left on this blog :-)





 


Micro-Navigation in Adobe Captivate

Update

Fpr more recent versions, there is a new article available, accent on HTML5 output. Have a look at:

Introduction to Micro-navigation

This introduction is followed by an example where one shared action (was not yet available when this first article appeared) can be used both for Forcing first view on slides, or for playing slide audio only the first time.

Intro

One of my Captivate friends asked to show him by example the possibilities of navigation using frame numbers. Great idea for a blog post, hope it will help you too.
Every Captivate users does know how to navigate to the next, the previous or another slide. But navigation within a slide is a bit more complex, that is what I call 'micro-navigation'.

Example

Play this movie to understand what I will try to explain. It has 5 slides:
  1. slide Intro with an Effect on the Text Caption, try the button Replay to see the playhead returning to the first frame
  2. slide Choice where you'll be asked to choose a type of object; to illustrate the Replay again, watch the fading in effect on the Text Captions; Replay will not result in resetting the Radiobuttons widget, it is the widget coming with Captivate that doesn't have this functionality (as available in Jim Leichliter's extended version)
  3. slide Objects1 where the playhead will jump immediately to the chosen object, and stop; you can release the playhead by the Continue button or go to the Next slide; again I provided the Replay button, which will jump to the first frame of the slide and you'll be able to see all the objects 
  4. slide Objects2 where the playhead will jump immediately to the chosen object, and playhead will continue on the timeline
  5. slide End with an Exit effect that has again a Replay button

Frames and variables

Captivate's output is a movie, and like all movies it has a frame rate: during each second 30 frames are running before your eyes, and due to that speed it results in a continuous movement. You can change that framerate of 30fps but I'll keep with it in this post. This means that:
  • a slide with a default duration of 3secs has 3x30 = 90 frames
  • if you insert a default button or Text Entry Box, with its default duration of 3secs (90 frames), it will by default pause at 1,5secs which means after 45 frames
  • if you insert a default click box on that slide for the duration of that slide, it seems to pause at the end of the slide, but really pauses at frame 87 of that slide
  • if you have a long project, check the total number of frames in the Project Info panel (Captivate 5.5 only)
If you need information about frames during runtime, you have access to these system variables (belonging to my favourites):
rdinfoCurrentFrame: offers you the number of the frame where the playhead is at that moment; if you watched the sample movie carefully, you will have seen that I'm showing the value of this variable continuously, inserted a text caption with that variable on the master slide

rdcmndGotoFrame: allows you to move the playhead to a frame with a certain number and nothing else, the playhead will not continue

rdcmndGotoFrameAndResume: same as the previous one but now the playhead will continue its journey on the timeline

 

Fine, but mostly I will add a user variable v_startframe. Why? Because of my laziness, I do not want to calculate the absolute number of a frame that sits 1.3secs from the start of slide 45 of a project. First thing when needing micro-navigation: create a user variable that will store the number of the first frame of each slide. It can be reused for each slide, which means that the small advanced action that you'll need to create to store that value can be reused without any change as well.

Replay = navigate to first frame of the slide

It is as simple as that:
  1. store the number of the first frame of the slide in the user variable v_startframe by executing this standard advanced action on entering the slide:
       Assign v_startframe with rdinfoCurrentFrame
       Continue
    the second statement is a good practice for standard actions to avoid that the playhead just stops
    this advanced action is used in the sample file for the slides 1 (Intro), 2 (Choice) and 5 (End); it is incorporated in an advanced conditional action for slides 3 and 4.
  2. create another standard advanced action to be triggered by the button Replay:
       Assign rdcmndGotoFrameAndResume with v_startframe
    not necessary to add Continue here, because of the system variable

Micro-navigation

This is illustrated on the slides Objects1 and Objects2. Have a look at the timeline of Objects1 in the Gallery (Objects2 is constructed identically); from bottom to top you'll see those objects:
  • Rectangle with a duration, a timeline of 3 seconds; translated in frames: from frame 1 up to 90
  • Circle starting at sec. 3 and equally with a duration of 3 seconds: from fram 91 to 180
  • Triangle start at sec 6 with a duration of 3 secs as well: from frame 181 to 270
  • Polygon start at sec 9 with a duration of 3 secs: from frame 271 to 360
  • 3 buttons: Continue, Next and Replay for the duration of the slide, but pausing at sec11 (anywhere after the start of the Polygon was OK)
To navigate to the proper object, based on the Choice made by the user in the second slide, a conditional advanced action is needed to be triggered on entering the slide Objects1 (and Objects2). Because I also want to store the first frame number in the user variable v_startframe, this conditional action will have 5 decisions 1-3 have an image in the Gallery:
  1. a mimicked standard action StartFrame, to store the frame number 
  2. decision Rectangle that sets the playhead to the first frame of the slide, because Continue is lacking here, contrary to the Replay action, the playhead will not move on
  3. decision Circle uses an Expression to navigate to second 3 (because of the speed I used 89 instead of 90, watch the frame numbers on the slides)
  4. decision Triangle is similar to Circle, but with replacing 89 by 179
  5. decision Polygon is similar to Circle, replace 89 by 269
For the next slide Objects2, I used a similar advanced action with one big difference: the system variable rdcmndGotoFrame is replaced by rdcmndGotoFrameAndResume. That is the reason the playhead will continue, contrary to the slide Objects1.

Conclusion

Hope this has explained my view on micro-navigation? 

 

Auto-hide Playbar!

Intro

Today I worked out a solution for a user question on the forum:

 'Is there a way to auto-hide the playbar in the published files? I would like the playbar to appear only when the mouse is over the area where the playbar should be, something similar to 'auto-hide the taskbar' on the desktop"

Nice challenge, perhaps you'll find this also worthwhile? No complicated advanced actions here.

Example

Play this movie, it only has 2 slides, the playbar is at the bottom, when you hover your mouse over that region the playbar will show up and you can click the next button... Playbar hides when you move the mouse away from the bottom.

Work flow

Glad that I can refer once more to a Captivate friend, Chris Dorna (Dutch-speaking like me but we do not live in the same country). Grab a copy of Chris Dorna's widget to hide the close button on the slidelet, it is free, here is the link:

HideSlideletClosebox

 

Ready? Here are the steps:
  • Configure the playbar in overlay mode (will show on the slide, to make the rollover effect realistic) using the Skin editor.
  • Turn off the borders in the same skin editor, by default there is a bottom border for the playbar when not in overlay mode.
  • On the first slide, on Enter Slide replace the default action  (Continue) by  Assign cpCmndShowPlaybar with 0 to hide the playbar at the start
  • Configure one of the Rollover Slidelet styles using the Object Style Manager so that no border, nor runtime borders are shown (see image in the Gallery)
  • For each slide you'll need to
    • insert two rollover slidelets with the style you just edited
    • resize the first rollover slidelet (not the slidelet itself) to approximate the size of the playbar (see image in the Gallery); as action On Rollover attach  Assign cpCmndShowPlaybar with 1; when the user hovers over the playbar will become visible
    • move the second rollover slidelet as action On Rollover attach  Assign cpCmndShowPlaybar with 0; when the user moves away from the playbar he rolls over this second slidelet and the playbar will be hidden
    • insert Chris' widget and configure it to hide the close button for both slidelets - instructions are in the widget itself.

You have to repeat the last actions for all the slides,  use copy/paste but do not forget to edit the HideSlideletClosebox Widget properties to adapt to the new ID of the slidelets. In the last image of the Gallery you see those properties for the second slide, where I kept the default labels for the Slidelets: Slidelet_3 and Slidelet_4.

 

Report Custom Questions - part 1

Intro

If you are a 'fan' of my blog, you'll know that I blogged several times about creating custom Question slides, to have more control such as partial scoring, customized feedback, customized Retake features etc. And this was achieved using standard objects and/or widgets in combination with advanced actions. More than once I got the comment: 'is it also possible to report from those question slides, to have the score transferred to a LMS (or parallel solution)?' This is indeed possible, but not for everything and I promised to have some blog posts explaining the possibilities and the limitations. In this first part I'll try to explain the basic principles, the content of the 3 planned posts and some examples of the first type of custom questions. Of course - those are the easy ones. Part 2 and certainly part 3 (prepare your maths skills) will be more complicated, but...that is the challenge!
 

Basics 

From my observations and testing, I learned that:
  • Quizzing system variables are read only, you cannot change them
  • Scores can only be acquired using question slides and interactive objects/widgets - those are the scoreable objects
  • Only integers can be used as a score
  •  You cannot add a negative score
  •  All scores available in the project (Advanced Interaction - F9) can be added to the Total Score (cpQuizInfoPointsscored) in the Reporting accordion of the Properties panel

Based on this knowledge this are the possibilities for reporting, and will be subjects for the three blog articles:
  1. If you use interactive objects or widgets, the scoreable objects you can attach a score directly to them (part 1 - see below); 
    a question widget behaves like a default question slide, so will not talk about them in this article
  2. If you use static widgets, you'll need interactive objects to add a score for the question (will be treated in part 2)
  3. if you are using partial scoring or decrementing score in some situations as a guess correction, the situation is more complicated than if you have only a Pass/Fail possibility for a question (similar to the Default Question slides coming with Captivate) (possibilities and limitations - see part 3)
Those three situations will be treated in 3 articles, here you'll find the first one about using interactive objects and/or widgets for question slides 
 

Question slides with scoreable objects

Example

Play this movie, it has 5 custom question slides and a score slide. And in the image of the Advanced Interaction panel, you'll see which objects are scored and added to the total score. This total score will be reflected in the quizzing system variables cpQuizInfoPointsscored and cpInfoPercentage that can be reported to a LMS or by a parallel solution.

Description of the Question slides

No extra features were added to the question slides, they were created as simple as possible (no Review, no Retake, no resetting possibilities) since the purpose of this blog post is to illustrate only the reporting possibilities. There is only one advanced action on entering the score slide that will show the appropriate Text Caption for Pass/fail.
On the question slides you'll see the status of the system variable cpQuizInfoPointsscored inserted in a Text Caption placed on the master slide. This will only be functional for version 5.5, because in previous versions this system variable was not immediately updated with scores attached to scoreable objects. This is one of my favourite new features as I described in a previous blog post: What I (dis)like in Captivate 5.5.
  
Slide 2: MCQ
Each sentence is covered by a click box. The click boxes over a correct answer have a score of 5 points, to be included in the Quiz and added to the total score. The click boxes over incorrect answers have no score at all. Because the user has to be able to stay on the slide, the action on Success for the click boxes was changed to 'No action' instead of 'Continue'. Since each Click Box is reported individually, partial scoring is here functional contrary to the default MCQ-slides.
 
Slide 3: True/False
Here I used two customized Image buttons. The button with the correct answer has again a score of 5 points, is included in the Quiz and added to the total score, the button with the incorrect answer is not reported.
 
Slide 4: FIB
Text Entry Boxes with a default setting were used (Submit button for each of them), and they are validated. Each TEB has a score of 5 points, included in Quiz and in the total score. No action is used again to avoid that the playhead continues after submitting an answer. Again, because of the individual reporting of each TEB we have the possibility of partial scoring for this question.
 
Slide 5: Hotspot
A click box with a score of 5 points and included in Quiz and score, is used as hotspot area. More than one hotspot is also possible.
 
Slide 6: Drag and Drop
The DragAndDrop Interactive widget (InfoSemantics) was used here once and it has a score of 15 points to be included in the Quiz and total score. Here no partial scoring because I used the widget only once, and all answers have to be correct to get the score. It would have been perfectly possible to use this widget multiple times on the slide to have real partial scoring as well (see previous blog post: Playtime with Audio and Widgets)
 
Slide 7: Score
You do not get the score slide automatically, because I do not have any default question slide. You can get the score slide by activating 'Show Score' in the Quiz settings, but here I preferred to create a custom results slide, using Quizzing System variables. And a conditional action on entering this score slide shows the appropriate Text caption. The PassPercent is set at 80%.
 

Playtime with Audio and Widgets

Intro

Holiday time means playtime, travelling to me. For personal reasons not travel for me this year. So thought it a good idea to offer you some information and fun about a small country that I visited several times being the home country of my husband. In this text I will not try to explain everything. If you want explanations about some of the techniques I have been using, please post a comment. Just know that I used of course Captivate but also enjoyed the roundtrip functionalities with Audition and Photoshop in the eLearning Suite 2.5 extensively. 

In several previous articles I have been using widgets that are included with Captivate. Those were all static widgets. But recently two great widgets were published by friends, and I had a lot of fun including them in this movie.

Since months I planned to offer some tips about audio, will try to keep them really simple (KISS) and as promised without long texts.

Playtime

Watch this movie and try to have a high score playing with the widgets described further. You'll need some patience, due to the many audio clips it is bigger than the files I normally add to these posts. You can also download it if you want.

Widgets

I used two widgets, one is an interactive widget and the other is a question widget. This means that both can be (and were) used to include scores in a quiz. Here is a short description of the widgets and of course a link to the sites where you can find them. Highly recommendable, both of them!

Drag and Drop Interactive Widget 
This interactive widget was released by InfoSemantics (by Rod and Tristan Ward) and can be found here: Drag and Drop Interactive Widget. Rod explains very well the functionalities of an interactive widget and offers also a comparison with their previously released Drag and Drop Lite Question Widget. Of course, I used Advanced actions to construct the Question slides created with this recent widget. Let me know if you want me to explain those actions in a more elaborate article. I love this widget for its great range of functionalities, especially in combination with advanced actions.

Jumbled Word Widget
This question widget was released by another Captivate-friend, Yves Riel (Flash-Factor) and can be found here: Jumbled Word Widget. Because it is a question widget, it takes over all functionalities of question slides. Just one example: here I used Captivate 5.5 and the new Review feature is automatically attached to the slide with the question widget. No need for advanced actions to add scores to the Quiz in this case. But of course you also get the limitations of question slides : no way to have a partial score (as I created with the other widget for dragging the names to the map). I love this widget for its great design and it confirmed what I suspected since a while: Yves is a perfectionist!

Audio

A lot of audio was used in this movie: background (drums music), slide audio (some of the Voice overs are attached as slide audio) but the most powerful way to add/control audio is using object audio. Some reasons with examples:
  • Object audio allows you to have more than one audio clip playing simultaneously without having to create a multi-track audio file. 
    Example: slide 8 with the rollover slidelets; each slidelet has two audio clips, the first is attached to the image, and the second (Voice over) is attached to the Text Caption that appears later. This allowed also to fade out the first music clip, without effect on the Voice over.

  • You can manipulate object audio by (advanced) actions: hiding the object results in the audio not playing, showing the object plays the audio. If you want an audio to play only the first time that a slide is visited, this is a solution: attach the audio to an object that is visible to Captivate but not to the user. To myself I call those audio clips "audio objects".
    Example: the question slides constructed with the widgets have a Voice over that plays when the user takes the quiz, but not when he is reviewing the quiz. Moreover some question slides have a music clip as well, that will only play during the Quiz time, but not when reviewing. This was realized by attaching each music clip (VO and music) to a rectangle with a stroke width of 0 and a Fill with Alpha=0, thus making it invisible to the user. With an advanced action I hide those rectangles when reviewing, resulting in not playing nor the VO nor the music.

  • Same technique can be used to play another music clip in different situations.
    Example: I did not imply it in the movie because it was already very heavy, but this can be used to replace the Text Captions (Review Messages) in the Question slides created with the Drag and Drop Interactive Widget by Voice overs, or to add a Voice Over to those text captions.

I do feel that you have more questions, but I promised a no-text-heavy post this time. If you want me to explain something more in depth, please post a comment.

Have fun! 

List with Effects in Captivate 5/5.5 - Thanks, Col!

  Col Day, AKA Colday213 (User Forums) asked if there was a list of Effects (in Captivate 5.0 and 5.5) available somewhere (http://forums.adobe.com/thread/858775?tstart=30). The answer was negative and promptly he proposed to add his 2 cents to the Captivate Community by the redaction of such a list. The list is ready, and he asked me to spread its access in our Community, which of course I accepted. The list is stored on workspaces.acrobat.com, either you watch it online, or you download a copy.  The format is Excel (xls). In the list you will find a short description of each effect, the standard duration of the effect and some additional (personal) notes (see screenshot).

 

For the motion effects, where you'll often find 'customizing the motion path' in the additional notes, if you are a newbie to Effects, check out this blog post: 

In case you are wondering: this is version 5, because.... Col asked me to give some feedback and  'fine tuned' it several times. Consider it as a dynamic list, Col is eagerly waiting for your comments: captivate@essex.pnn.police.uk. You can post comments on this blog as well. 

Here is the link:

Waiting for your comments!

What I (dis)like in Captivate 5.5

 
A lot has been published already about the 'big' new features of the release 5.5: publishing to YouTube, gradients, shadows, rotate, Quiz templates. In this post you'll find my list of less obvious new features that are however very useful. And I will also mention what I do not like of course!

What I like

  • When you import Object Styles with the same name as existing styles in the active project, now you are the one who decides what should happen! In version 5.0 Captivate decided, with or without your consent, that the imported styles should get another name (and added a number to that name). And I do never like the situation where an application is deciding for me. Now you get a dialog box 'Overwrite existing style' with a warning and a choice (see screenshot): either you answer Yes to overwrite the existing style, which means that all objects with that style will immediately be updated, or you answer No and will get the same situation as in version 5.0. I like this changed feature, not only because I'm a control freak, but because it is a real time saver when you want quickly to change a number of styles for all objects in a project at once.

  • If you use Slide video, and have to synchronize the video with other objects on the slide, you'll probably use F3 (or the buttons on the Timeline) to play/pause the slide. In previous versions, when pausing the video jumped back to its first frame, now it stays on the frame where you pauses, which makes it much easier to sync of course.

  • New Project Info Panel: when Captivate 5.0 was release a lot of users did complain about missing the global project information, available in previous releases in the StoryBoard view: resolution, number of slides & frames, hidden slides, total project time.... The Adobe team added this information with the patch (released December 2010) to the Preferences dialog box, Project Information.  You will still find this project information in the Preferences, also directly available using the File, Project Info option. But the total project time was given in seconds. In CP5.5 there is a new Project Info panel (see first image in the Picture Gallery), providing the same information, but properly 'translated' to minutes (or hours if necessary)  and it has a Refresh button! This means that you do not have to preview the project before having access to all information (like in CP4), just click the Refresh button to update the information.
    I do regret that this new panel is not available in the default Classic Workspace, because I think some users are always using that workspace. But it is in the all the other workspaces, in the group docked to the right side of the stage. Moreover I believe more valuable information could be included such as the framerate (fps), filesize (CP-file), Audio and Video settings,etc. Perhaps you have more ideas about information for the panel, please take the time to fill in a feature request (Feature request).
     
  • New Effects Workspace: in CP5.0 I created a similar customized workspace like this one, but now it is available out of the box. At the bottom of the stage both the Effects and the Timeline panels are visible which makes it easier to create and synchronize Effects (see second image in the Gallery).

  • Alpha setting is now removed from the swatches dialog box and in the Fill&Stroke accordion of the Properties panel for objects. It drove me nuts that I always had to open twice the dialog box, once to choose the color, and once to change the alpha. Quite a lot of mouse clicks less now. Have a look at the third image in the Gallery.

  • Small ergonomic improvements to the interface: colors of the bars on the Timeline are now more apparent, in the Effects panel, the tiny 'fx' symbol has a Text indication 'Apply Effects'. Both are visible in the second image that shows the bottom dock of the Effects Workspace.

  • In the dialog box for Advanced actions, type conditional action, the operator "is equal to" is now top of the list, which is more logical since it is often used. But I hoped for more enhancements in this dialog box.

  • I do love the added Reporting possibilities by using another SCORM template: being able to report from a PDF (eLS 2.5 only I believe) is great, and the template SendTrackingDataAtEnd is really improving student's experiences if a lot of students are taking an assessment at the same moment because it will not 'overload' the LMS with data.

  • Great news: the system variables cpQuizInfoPointsscored and cpInfoPercentage are now updated after each score obtained by user, almost immediately (after Submit click, or click on the interactive object)! This means that now you can use those system variable at each moment to give feedback to the user. In versions 5.0 they were only populated on the Score slide. If you wanted the score obtained and the percentage, you had to calculate the total score in a user variable, using the system variable cpQuizInfoLastSlidePointScored that was (and still is) updated after each question slide. 

  • Same system variables will now be updated with scores of scored objects as well (click boxes, buttons, Text Entry Boxes), so that it has the same value as the Total Score and the Percentage, visible on the default Score slide. In 5.0 cpQuizInfoPointsscored/cpInfoPercentage had only the total score/percentage for the question slides, not for the other scored objects, whereas the score shown on the default Score slide did take into account all scored objects. This was rather confusing.

  • Reviewer is now functional on Windows-OS in another language than the available Captivate languages. This is very important for me, because most of my colleagues have a Dutch OS, and Captivate is not available in Dutch. Now I'm able to send them files to review,  great!

Changes I do not like:

  • The "button" widget, a static widget in Captivate 5 had unique properties:  although it was static, it had a pausing point (at 6,5secs) and it allowed to attach actions, mostly navigational. This was THE workaround to add navigation to Master slides and question slides, that do not accept interactive objects like normal buttons. I blogged about those possibilities: 'Using the button widget: some ideas'.
    This button widget has disappeared in Captivate 5.5, it has been replaced by a static and an interactive version. The interactive one has the only advantage over default buttons that it has a little bit more formatting, but cannot be used on master slides/question slides because it is interactive. The static version can still be used, but... it will not pause anymore which is frustrating when using on master slides/question slides. So if you still have version 5.0, please keep the original button widget, it will be functional in CP 5.5.
    Another reason for my dislike: I have to update my blog post....

    Will keep you informed, because my intuition tells me that this 'dislike' will soon be solved by the Adobe team. They rock!

    For those who share my opinion about this new static widget, here is a surprise! The Adobe team did not like my 'dislike' and provided me with a new Static button widget, WITH A PAUSING POINT. The pausing is not set at 6,5secs like the previous widget in Captivate 5.0 but at the 1/2 of the slide duration, relative to it. And Suresh Jayaraman kindly accepted that I offer this improved widget to the readers of my blog. Here is the link:

    Static Button with Pausing

    Thanks, Suresh and Sudeshna Sarkar!


  • The former Size&Position accordion in the Properties panel for objects has changed to 'Transform' because it has not only the Size and Position (of the registration point), but also the new Rotate feature. Why my dislike: the option 'Apply to all' in this accordion will now apply not only size and position but also the rotation to all similar objects. I really would have preferred to have the possibility to apply only size changes. And even better: to have also the location separated from the size. Align, Resize to same size is great for objects on the same slide, but not for objects on different slides.

What about you?

I'm sure to discover other functionalities/features to like or to dislike, this is my list with 'first impressions'. Later on I will try to publish a similar list about the eLearning Suite 2.5. For the moment just want to tell that I'm 'captivated' by the roundtripping with Audition, a 'super' audio editing application.

What do you like, dislike in CP5.5? I would love to hear about your first  ideas. 

Widgets&Questions - source list

You will not find a tutorial in this small post, sorry. Because I have been writing multiple blog posts and articles about using Widgets, coming with Captivate or available for free, for question slides, I thought it to be useful to post a link to a list with those resources. Similar to the list about Advanced Actions, I published this one on acrobat.com and will keep it updated whenever I do publish something about this subject.

 

Please, check this link. I repeated the warning posted in one of those articles: NEVER DUPLICATE A WIDGET, if it has an associated variable that you want to use in an advanced action.

 

Widgets and Questions  - list

Customizing Review Messages in Captivate 5.5 or 5.0

Intro

This is the first post since the release of Captivate 5.5 and eLS 2.5. For this reason I worked out an example for both versions. I suppose the work flow used for 5.0 will also be functional for 4.0 but honestly I did not try it out. As you probably already know, the default Question slides did change with 5.5 but are the same for 4.0 and 5.0.

This post is (again) meant as an answer on yet another question on the user forum that pops up regularly: 'How can I have an individual Review message per slide?' Indeed, whereas it is perfectly possible to customize the Success and Failure captions for each question, this is not the case by for the Review Messages. The only control you have are the small sentences (see screenshot Review Messsages for CP5.0 in the Gallery), but with the exception of the mentioned given answer and correct answer for incorrect results the phrasing will be always the same on each question slide.

I will have to use advanced actions to achieve this goal, but they are very simple standard actions. You really do not need programming skills, be reassured.

Control of Question slides: what is (not) possible?

You are perhaps aware of the limited control concerning Question slides: if you watch its timeline quite a lot is contained in that single gray line! Let's try to enumerate:

  1. all the necessary text captions (you can format them after selecting on the stage but they do not appear separately on the timeline) for title, question, answers
  2. buttons you choose (Clear, Back, Skip, Submit)
  3. success/failure/hint captions
  4. functionality to show the proper captions when the user clicks on Submit and to pause the slide until
  5. user clicks again on the slide or enters Y
  6. this last action triggers the Success or Failure actions you'll find in the Quiz Properties (see screenshot 3 in the Gallery), default setting is to Continue

The playhead will only be released by the last user's activity (6), and execute the action set in the Quiz Properties based on Success or Failure. All other activities are before that pausing point, set by default at 1,5secs.

If you delete the Success/Failure captions, 3-5 will be skipped, and the click on the Submit button will immediately release the playhead and execute the proper action set in the Quiz Properties. In this thread on the user forums, I explained how you can use this possibility to show images instead of the Success/failure captions during the remaining time after the pausing point:

Using custom correct/incorrect images

For normal slides one has the possibility to execute an advanced action on Enter and on Exit of the slide. For Question slides this is only possible on Enter (used that in previous blog posts). But you can execute an advanced action both on Success and on Failure, that will be executed either:

  • on clicking the slide or pressing Y if the Success/Failure captions are present and will be shown
  • on clicking the Submit button is there are no Success/Failure captions.

This last functionality will be used in my work flow, both for CP5.0 and CP5.5.


Work flow - general

I did not use the Success/Failure captions to simplify the work flow but deleted them for both versions in the example Quizzes. But everything will functional as well if you keep those captions.

  1. On each question slide create two Text Captions (or Shapes with text), initially set to invisible in the Properties panel; those are the customized review messages on Success/Failure. I preserved the default Review Message for skipped or uncomplete answers. I used the labels OK1, NOK1 (for Question 1),OK2, NOK2, OK3,NOK3
  2. Setup the Quiz preferences: be sure to check the Review possibility
  3. Do not show the Back button (because in this simple work flow, the review messages are set to be visible on when exiting the question slide, going back by the user would show them before reviewing); that is also the reason why I did not use a playbar.
  4. Set up the Review messages - different tips for the 2 versions, look below in the specific work flows
  5. Create two Advanced actions for each question slide, I labeled them Correct1, Incorrect1 (for question 1), Correct2, Incorrect2, Correct3, Incorrect3
  6. In the Quiz Properties, Actions accordion (screenshot 3) replace Continue by those advanced actions

Work flow - Captivate 5.5

Please, play this movie to see the result. Be sure to click the Review button on the last slide to see the customized review messages.

I used a customized Radial gradient as background on the master slide, with 4 stop colors, Reflect as Pattern and I edited the Gradient handle. Shadows are applied to the Captivate title and all buttons in this movie.

Typical settings here, referring to the steps described in the General workflow

  • Step 1: I used a rounded rectangle with a radial, customized gradient fill (two color stops and Reflect as pattern) and inserted Text for step 1

  • Step 4: In Default Review settings, the correct/wrong answers are indicated by checkmarks, not by a Review message like in previous versions, with the exception of the Incomplete message. I kept the default settings here.

  • Step 5: Both advanced actions are visible in the Gallery: Correct1 and Incorrect1. The first statement shows the appropriate shape (OK# or NOK#). The second statement is 'Go to Next Slide'. If you do not include this statement, on executing this action, the playhead would continue through the rest of the slide timeline after the pausing point. The user would then see the Review message during that time, which is not what is wanted.

  • Step 6: This step is illustrated in screenshot 3 of the Gallery.


Work flow - Captivate 5.0

Play the movie to see the result, please. Be sure to click the Review button on the last slide to see the customized review messages.

I used one of the default Background Images 'DryPaint' but changed its Hue and Transparency. I replicated the shadow feature from the previous movie by applying the Dropshadow effect to the title Captivate on the intro-slide.

All steps are similar to those for 5.5 with these exceptions, be sure to check my discovery for step 4!

  • Step 1: Used the Ivory Text Captions here. 

  • Step 4: Contrary to version 5.5 review messages are now displayed in all circumstances. But I didn't want to display the default Correct message, since I already had a better Text Caption. And this is where I discovered something about 5.0 that I want to share!
    I deleted the Correct Message in the Review Messages (screenshot 4 in the Gallery) and what happened? When reviewing all questions and answers disappeared, only my proper Review Text Captions and the Skip button were visible! I thought the project became corrupt, and recreated it, with the same result. The solution is to enter at least one space in the Review message you do not want to show up. You are warned, do learn from my problem, please.

NEVER DELETE A REVIEW MESSAGE, USE SPACES


Conclusion 

Why didn't I use the On Enter event on the next slide to trigger an action to show the message on the previous slide? This is not possible, you can only show objects with an action on the slide where this object is really.

If you want to allow Backwards movement, the situation will be a little bit more complicated, because you will need conditional actions to show the messages. I wanted to keep this solution as simple as possible. And it allowed me to illustrate the difference in Review between versions 5.0 and 5.5

As always, I really would appreciate feedback. Is this post too basic, do you like it, do you want me to extend it with possibility to have Backwards navigation enabled, please let me know!


Be unique! (labeling actions)

Intro

 
OK, I already confessed about being a labeling freak. A while ago I have tried to list all the advantages of labeling slides, objects, variables, actions Some reasons for labeling. But I never imagined that this would cause me troubles one day, make me bumping my head because I couldn't figure out what was going wrong. I owe it to you, loyal reader and follower, to avoid the same pitfall and will try in this blog post explaining what I will hopefully never forget again.
 

Unique labels

As you can detect from the title, the issue I had was linked with a label not being unique. I will first list up the rules to keep in mind for this uniqueness, for the different categories of items. Do not forget as well that all labels are case sensitive: 'One' is considered different from 'one' and from 'ONE'.
  

Object labels

Each object needs a unique label, even though it has already a unique ID. That is not really a problem, because when trying to assign a label to an object that is already attributed, Captivate will show this message
is either a reserved keyword or is already assigned to another item. Provide a different name for the item.
This means that Captivate is checking object label uniqueness all the time, and I feel safe.
 

Slide labels

You can assign the same label to different slides, Captivate doesn't apply this rule to slides. You can even use a label that already has been used for an object, a variable or an action. No problem.
 

Variable labels

Trying to apply the same label to a second variable will also result in a checkup and message by Captivate:
This variable name is already in use. Enter a new name.
Fine, feeling safe again, isn't that what software is meant to do? And Yes, you can assign the same label to a variable that is already assigned to an object. A typical example is a Text Entry Box. If you keep the default labels assigned by Cp both the TEB itself as the associated variable have the same label: Text_Entry_Box_1
 

Action labels

If I assign an identical label to a second advanced action, at the moment I want to save or update the script, my guardian angel Captivate tells me politely :
The script name is already in use
It will stop the saving operation and leaves the script intact, I can change/edit the action name and save it successfully. This rule is applied to all actions, no difference between conditional or standard actions they all need a unique label. As for the variables, you can use a label that is already given to an object and/or a variable safely. That can help identifying them if you have a large bunch of actions. Examples:  if you need an advanced action for each slide on entering, you could assign the same label to the slide and the action; if the action has to be triggered by a button use the same label etc.
 

Decision labels

In a conditional action you can have different decisions, also called 'internal actions' in contrast with the complete advanced actions that are called 'external actions'. Default label here is Untitled, but I like to change that to a more meaningful one. And like for slide, apparently here it is possible to have identical labels, no checkup by Captivate. But why should one use identical labels?
 

External actions - internal actions

I'm smiling because now I see virtual question marks in your eyes: "What was the issue then?'. Let me try to explain, what I was told by the Adobe team as an answer.
 
The external actions are the total advanced actions, conditional actions as well as standard actions. Captivate will always check if a new label is unique and offer you the message I described above under 'Action labels'.
 
In a conditional action, each decision is considered an internal action. When you create a new decision in an conditional advanced action, and label it, Captivate will also check something:
 Captivate checks if the label attributed to a new internal action isn't already attributed to an external action !
This seems strange to me, because it doesn't even check the uniqueness for the different internal actions in one conditional action. It would have been OK however if I got a similar message as for the actions, that told me that 'the script name is already in use'.
 
BUT!!! Captivate doesn't tell you anything, from the second decision on it just deletes the internal action that you wanted to save without any warning. This is a bug, that is still there for the moment.
 
Two examples for you to try out and to understand the problem better :

Example 1 (if you are lazy, watch the recording of this scenario)

  1. Create a standard action, label it test
  1. Create a conditional action, label it TEST: no problem, due to the case sensitivity, Captivate will accept this label when saving.
    1. create a first decision, default label will be 'Untitled', save the action
    2. change the label of this decision to TEST,  same name as the total conditional action, try to save and you'll get a message (great!) "Script update is not successful", Captivate did his homework.
    3. since the label was rejected, change it again to test (which is already attributed to another external action); again message appears, change to another label and save.
    4. create a second decision with name test and fully script it, choose Update, you get the message 'Script update successful', you trust CP and clicks on OK: and your second decision disappears...Captivate when checking did detect that the name already existed for an external action, but gave you the wrong message and deleted without warning.
If you revert 1 and 2, create the conditional action before the standard action, everything will work fine: when creating the standard action test Captivate only checks the other external actions, not the internal action etest that already xists in the conditional action.
 

Example 2

  1. Create a standard action, and label it Untitled
  2. Create a conditional action, leave the default name for the decisions set to Untitled
    1. create the first decision (Untitled), save the action and you get the message 'The script name is already in use', change the decision name
    2. create a second decision (Untitled), try to update, you get the message 'Script update successful' and when clicking OK, second decision is deleted.

Conclusion - tips

  • Never create an advanced actions with the label Untitled
  • If you have to create a conditional action with multiple decisions - internal actions, be sure to have a list with the names of the already created actions ready. I tend to keep that list in the scratch area of Captivate.
  • If you can cope with it, do not have too much decisions, leave their labels to Untitled (do not like that as you know)
  • If you label decisions in a conditional action, starting with the second decisions PLEASE check your list with existing action labels before clicking on Update.

Update: new features in release 5.5 that I used

Since Captivate 5.5 has now been officially released, I can tell you that the splash screen of my video was created with the new Gradient feature of this release. This gradient tool is fully customizable and a great way to enhance objects. In the movie I also used the new Shadow and Rotate features that are now available for all kind of objects. Both of them were used on the end slide: the Text Animation 'Where is my internal action'? is rotated with the Transform Accordion and I applied a shadow to the characters. There is a screenshot below. BTW: in the SWF published in the post Extended widgets for custom MCQ and T/F Questions I used the shadow feature a lot of times, explore...