For nearly as long as The eLearning Guild has been around, we have been publishing articles on JavaScript and offering concurrent sessions about it at our conferences. And yet, many eLearning designers and developers have not added this ultra-important scripting language to their skillsets.
I recently asked Mark Lassoff a few questions about JavaScript. Mark frequently writes articles on coding and JavaScript in Learning Solutions. Here is what he shared.
BB: What is JavaScript?
ML: JavaScript is the DNA of everything we do as eLearning developers. JavaScript is a programming language that enables the creation and customization of dynamic content.
BB: What are some examples of customization a developer might need to do?
ML: There are many examples of customization that are beyond the ability of current rapid eLearning development tools. JavaScript enables augmented reality, virtual reality, and gamification. What if you needed to simulate a complex piece of avionics for a training client (as I have), or wanted to incorporate real-time financial data in a learning exercise? JavaScript is the answer.
Sadly, I think we've been stuck in the "box" presented by rapid eLearning tools for so long that we rarely consider what we could do with JavaScript and other tools. We look at the tools in Captivate and think that's the ceiling. The ceiling is artificial; we can empower ourselves by using the same development model used by every other digital field that has passed us by.
BB: Don't authoring tools provide all the capability needed?
ML: There are many good reasons eLearning developers should learn JavaScript.
The rapid development tools that are in use now can't do everything. JavaScript can be the engine behind simulation, mixed reality, artificial intelligence, and robotics. In a larger sense, coding enables all of the advances that people love talking about in online learning. xAPI is JavaScript. Deep search for performance support is enabled by JavaScript. Gamification and games themselves... you guessed it: JavaScript. Even the rapid authoring tools are writing JavaScript under the hood.
In the end, we're just creating web content. I've always been curious about when and why eLearning veered off into a different direction, but the content we develop is viewed in some form of web browser—whether that's on a mobile device, laptop, or full-sized television. There is no practical reason for us to be using rapid eLearning development tools except for the fact that most eLearning developers haven't learned the tools everyone else uses to create web content.
And, in my opinion, the rapid eLearning tools are the reason that the development of eLearning has lagged behind the development of other types of digital media content. We've limited ourselves to what these tools can do and have refused to look outside the box.
If we had, like all other digital media developers, availed ourselves of the power of coding and specifically of JavaScript, our content might have developed along a parallel course, and engaging eLearning content would be a given.
As it stands now, traditional learning organizations are beginning to lose learning development contracts to companies that simply do digital better. That's a shame. Some of the best developers in our industry don't use rapid eLearning development tools. They write code. If you look at the work of any learning presentation that seems "outside the box," almost 100 percent of the time they've used the standard coding stack of HTML, CSS, and JavaScript to create it. Freeing yourself from the limitations of the tools, and from the old "PowerPoint metaphor," allows you to create anything you can imagine. No limits.
Finally, do you want to be working in 10 years? I think that learning JavaScript future-proofs your career. As I mentioned, many of the best developers are using the HTML development stack instead of opening a rapid development tool to create learning content. Not to mention there's been parallel growth in an entire direct-to-consumer eLearning industry that is not based on SCORM and rapid development tools. Employers and prospective clients increasingly look for learning experience designers. They are insisting on HTML, JavaScript and other coding skills. They are going beyond the use of Articulate, Captivate, and other environments. Learning JavaScript prepares you for these jobs and opens new avenues for your career.
BB: Are there any particular authoring tools that should be mentioned as potentially benefiting most from some script?
ML: The choice to use JavaScript for development or rapid eLearning tools doesn't have to be binary—many rapid development tools allow you to integrate JavaScript into an online learning presentation to augment learning content developed there. Articulate, Storyline, and Captivate all have some capacity to integrate JavaScript.
Also, complete modules can be built in HTML5 and JavaScript and "wrapped" with a rapid eLearning development tool so that you can include the advanced content developed with the HTML5 stack, but still have the advantages allowed by rapid development.
Want to know more?
At The eLearning Guild’s DevLearn Conference & Expo 2019, Mark Lassoff will present a full day, hands-on workshop, BYOD: JavaScript Coding for eLearning Pros. In this pre-conference session, you will learn:
- How to create JavaScript
- How to store information using JavaScript
- How to output content to the user using JavaScript
- How to manage media using JavaScript
- How to process data using JavaScript
- How to make decisions (branch) when coding
- How to integrate JavaScript into your scripting environment
Participants will need to bring a laptop with a free text editor (such as Notepad) and a web browser installed. No prior experience with coding is needed, and you'll be able to take advantage of JavaScript both inside and outside your traditional authoring environment after completing this program. You'll also take home several resources that will allow you to keep learning.
Register for DevLearn 2019 before July 19, 2019, and receive a $200 discount on the Conference!