Learning to use JavaScript can allow you to make projects that offer something with just a little more polish than the next developer. Here is a simple example of a subtle difference between using JavaScript vs native Captivate functionality.
At some point in your life you very well may have heard the phrase – “There is more than one way to skin the cat.” – not sure where or how that originated but I think most of us understand the meaning behind this idiomatic expression.
Creating projects with Captivate is no different. Arriving at your desired result could very well have taken any number of pathways. However, as much as those results might be the same, there can also be some subtle differences that can potentially make an impact on final presentation. I happen to think that it is good for us as developers to learn multiple ways to get the job done and then be able to choose which way provides the better impact. In many cases, there will be no marked difference, and so you may as well go with the method that is the quickest and easiest.
I think one of the areas where differences can be seen is when we compare state changes and animations. Now, you might feel differently and, to be sure, this is a subjective thing without any right or wrong answer per se. We’re merely talking about preferences here. Nonetheless, I find it to be an interesting topic for discussion and I will allow you to decide for yourself.
In my example, I have provided two of the seemingly exact same status indicator. The only difference between them is the manner by which they function. The indicator on the left uses the native Captivate ability to change states to move the bar while the indicator on the right uses JavaScript to animate the bar.
The premise of the interaction is simple – pick items on the list to take with you that do not exceed 25 pounds. Click on the ‘Check Weight’ button to see where you come in. As you do so, pay attention to how the status indicators respond. Which do you prefer? Here is the link to the working comparison.
**Please note that I have no idea what the weights of these things are. I just picked some values that I thought might be close so try not to hold that against me. **
https://s3.us-east-2.amazonaws.com/captivateshare/meterClimb/index.html
Same end result. Subtle difference in presentation. The snap versus the glide.
Don’t get me wrong. I love the ability to do state changes and use them often. However, I always think it is worth the time to learn new skills and develop one’s craft.
If you plan to develop for years to come, I encourage you to take some time to enhance your craft and learn a little JavaScript. It can help you to create some experiences that have a little something extra above your competition.
I understand, Greg, and I like to see multiple solutions for the same use cases. Learning to use advanced actions can be very useful before learning JS as well because the same logical structures are used. Maybe you could consider that as well. After all they are converted to JS on runtime and the developer doesn’t have to learn syntax rules which is a real treshold for may ID’s.
BTW: my final project long ago was an application developed to calculated grids of flexible foundations. Have been using lot of programming languages in my career, started on an IBM mainframe 🙂
Certainly, every project will have its own set of criteria to take into consideration. Whether or not the customer will want or need to be able to edit the material in the future is one such consideration.
My suggestion here comes from the notion of being a lifelong learner, of always improving, and striving for excellence. I am not advocating to switch from one to the other but advocating that having knowledge of JavaScript will provide the flexibility to offer more things. Learning it does not mean that you MUST use it but that you CAN use it.
I will always be an advocate of personal professional development.
If Effects could be applied to states, animations would have been easier to create in Captivate without having to use JS. I do use JS when necessary. My main concern is management by clients: editing an effect, a multistate object, an advanced or shared action is accessible to many users, JS is a different beast. I want to add that I do use CpExtra widget a lot as well, which extends the CP functionality – again without having to use JS.
You must be logged in to post a comment.