This page presents the changes that developers would like to see in the Captivate Widget API:
Every changes to variables or widget status (e.g. widget visibility) should be event driven. No more monitoring of variables … just events.
This page presents the changes that developers would like to see in the Captivate Widget API:
October 14th, 2010 at 08:40
1. It would be great if an event was dispatched when a quiz was completely finished and have the arguments for that event (or some easily accessible object) contain all of the quiz and resume data.
2. Intentionally expose the function to save and load resume data for Widget developers.
3. Allow us to interact with Cp at design time. For example, if a Cp Author is configuring a widget at design time, allow us to grab what user variables they’ve already created in Cp and populate a drop down control with those user variables in a widget properties panel.
4. Following #3, allow us to programmatically create USER variables when a Cp Author inserts a widget. These variables would be used to help the Cp Author control different aspects of the widget and it saves them time from having to manually create the user variables.
5. Following #3 again, allow us to have access to the objects on the slide (or just the names of those objects) AT DESIGN TIME so when configuring a widget, the Cp Author wouldn’t have to manually copy and paste object names into a widget properties panel.
6. Allow us to create true plug-ins to Cp. It would be great to allow a developer to have a custom button on the toolbar to perform an action inside of Cp at design time. Similar to how a Flash developer could extend Flash using JSFL.
October 15th, 2010 at 05:11
Jim, you have absolutely hit the nail on the head with nearly all my frustrations with building widgets in your points 3, 4 and 5.
Basically, if it is something that the author can configure in Cp’s user interface at design time, I would love to have access to that within the widget at design time. I’ve noticed silly things that seem to make no sense at the moment that would be fixed by such a leap. For example, unless you have at least one quiz slide in the project there is no way you can find a list of user variables, but with at least one question slide they are suddenly available?!?
I also totally agree with Yves in terms of the whole event management system being very flaky – we love events, they are clean and tidy, easy to deal with but they need to be reliable. So, more events please so we don’t have to listen to the system variables any more.
October 15th, 2010 at 09:18
Hi Jim, Fran,
Thanks for the comments. I too wish for a more opened IDE. It was my hope that by rewriting Cp, the developers would have opened up the IDE and allowed JSFL scripting as well as swf panels. I was too tired to write them down when I created the page
I will move the suggestion back to the main post when I have a minute or two.
Yves
October 27th, 2010 at 23:35
Time for my long list
1 – ACCESS LIBRARY OBJECTS
- Add linkage abilities to the Captivate Library. Same as you can with the Flash library works.
- Allow widgets to create a new instance of the linkaged Captivate Library objects at runtime.
- Allow widgets to access all Captivate Library objects when in the Properties Dialog.
- When in the Properties Dialog, allow widgets to set up library items linkage.
2 – ACCESS STAGE ELEMENT INFORMATION
- Allow the widget to request a list of elements on each slide.
- Give detailed information about each item. (Example: Is a Caption that says: “Hello World”)
3 – RESIZABLE PROPERTIES DIALOG
- Optional
- Min/Max sizes
I would also like to add my vote to being able to write properties at stage mode as well. But make this optional.
Also like to add my vote for widgets being able to create User Variables.
October 27th, 2010 at 23:41
This feature is a little complex to explain, but I think it will help big time.
When you make a .wdgt file, have it so that you can package two swfs. One to be pulled in at Runtime, the other will be used in every other circumstance (Properties Dialog, Stage, Widget Panel Preview). Usually it’s the Properties Dialog interface that’s the heaviest part of the widget while the runtime portion may only be a few killobytes.
If you could make it so that only the runtime part of the widget is imported into the Captivate Movie, then that would make widgets a lot lighter.
November 11th, 2010 at 21:38
I’d also like some events that allow you to listen for the movie scrubbing. Maybe a START_SCRUBBING and END_SCRUBBING event. Then you can tell if your widget has been scrubbed into.
November 11th, 2010 at 22:46
Hi Tristan,
Thanks for all the suggestions. I do share all of them! I’m glad that you took the time to write them down. Some other things that I would like to see on top of what you wrote:
- Capability to submit partial score for a question. It’s not always black and white! I want to be able to tell Captivate that the user got 5 over 10.
- Capability to send objectives. Captivate can publish in SCORM. We should be able to tap into this as well.
- Manipulate sounds attached to widgets. Right now, the sound starts as soon as the widget is visible. We should have control over this.
I know I have more in mind but cannot remember now. I’m sure one of you will come up with it shortly.
Yves