javascript
35 TopicsCase: Operation Dopamine - A Noir Comic Mystery
Hi E-Learning Heroes! 👋 For this week's Comic Book-Inspired Challenge, I decided to go full "Noir Detective" graphic novel style. 🕵️♂️✨ In my project, "Case: Operation Dopamine", the learner steps into the shoes of a private investigator exploring a ransacked laboratory. The mission? To find the 6 stolen components of Gamification (such as Engagement, Customer Lifetime Value, and Emotional Connection) and restore color to a black-and-white corporate world. 🔍 Play the interactive demo here: > Play Operation Dopamine I had so much fun blending storytelling, visual design, and instructional concepts into this one. I would love to hear your thoughts and feedback!Perfect Match?
Hello! Typography is a big part of elearning design. And being a total font nerd, I love it when I find the 'Perfect Match'. This interaction is built around two dials and has been optimised for mobile phones. Javascript randomises the starting position of the dials at the start of each game. It also controls how far the dial turns with each tap. When the value of Dial1 and Dial2 match, a feedback layer is shown, and the score increases. When you hit 4/4, the game resets. The AI voiceover is 'Liam' with the style exaggerated to ~70, and I used Suno to create the game show-style theme tune. This plays on repeat until the score hits 4/4, when it is stopped and replaced by applause. But you can also mute the music during the game if it's not your jam. The content is based on this article. I had a lot of fun making this one! Let me know what you think. If you have any questions, please ask. PLAY HERE: https://bit.ly/elhc54054Views2likes0CommentsTurn That Light Off
Hello! Non-human characters can be a strong choice for your e-learning courses. They're often more popular with users than AI avatars. My characters always come across as a bit grumpy, for some reason... Believe it or not, this is a regular 'pick one' freeform question slide. The character was created using Nano Banana, and I manipulated it in Pixlr to create the different mouth shapes. The animation is achieved through rapid state changes, synchronised to the waveform of each bit of narration. This is controlled by Javascript that I wrote with the help of Claude.ai. The voice is Dave, one of my favourite Storyline AI voices, with the style exaggerated to 75 😀 Switch my demo on here: https://bit.ly/elhc539
2025: The Year AI Landed
If you're hearing this message, the machines have won, and Instructional Design is dead as we know it... Hello! For this week's #ELearningChallenge I've created an interactive video portfolio to highlight four projects I built this year with the help of artificial intelligence. Despite the apocalyptic tone, I'm excited about the creative possibilities of generative AI. I certainly couldn't have made this last year. Videos created using Powtoon's AI Text to Video feature and edited with Camtasia. And just like my recent coffee-making demo, this is also fully accessible from the keyboard. Anywhere you see an underlined letter in a button, that key will perform its function. If you're wondering how I changed the colour of the captions from white to black, and back again, to improve legibility during the intro... Code to change captions to white // Stop any existing observer first if (window.captionObserver) { window.captionObserver.disconnect(); } // Monitor for caption changes and force white color window.captionObserver = new MutationObserver(function() { var allCaptionElements = document.querySelectorAll('[class*="caption"], [class*="acc-"]'); allCaptionElements.forEach(function(element) { element.style.setProperty('color', 'white', 'important'); var children = element.querySelectorAll('*'); children.forEach(function(child) { child.style.setProperty('color', 'white', 'important'); }); }); }); window.captionObserver.observe(document.body, { childList: true, subtree: true, attributes: true }); Code to change captions back to black // Stop the white observer if (window.captionObserver) { window.captionObserver.disconnect(); } // Apply black once var allCaptionElements = document.querySelectorAll('[class*="caption"], [class*="acc-"]'); allCaptionElements.forEach(function(element) { element.style.setProperty('color', 'black', 'important'); var children = element.querySelectorAll('*'); children.forEach(function(child) { child.style.setProperty('color', 'black', 'important'); }); }); And yes, AI helped me do this! Sift through the wreckage of my career here: https://bit.ly/elhc534 Oh, and shout out to any fans of SILO.
Learning Science Update
Challenge Submission – Minimal, Review-Friendly AI-Assisted Animation For this challenge, two slides from the Opportunity theme in the content library were selected as a focused demonstration of AI-assisted animation approaches. This submission explores how AI-assisted JavaScript prompting can be used to create effective motion design while remaining easy to review, understand, and reuse across projects. Slide 1 intentionally uses the first AI-suggested JavaScript animation without modification. The goal was to evaluate the quality of a default AI-generated timeline. From prompt to result, the animation was implemented in approximately two minutes, demonstrating how AI can quickly establish a clean, professional entrance sequence with minimal effort. Slide 2 introduces a hybrid animation approach, designed with readability and adaptability in mind: A simple JavaScript entrance animation handles the vertical timeline dots. Text boxes rely on lightweight opacity transitions. Manual time-shifting aligns text entrances with dot interactions. Instead of one complex JavaScript timeline controlling everything, the interaction logic is distributed: Motion is broken into small, understandable pieces. Timing relationships remain visible and adjustable. Reviewers can easily trace how each interaction affects the UI. The resulting experience still feels animated, but the perceived motion comes largely from: Delays and offsets Layer changes Consistent spatial relationships between dots and text This makes the approach easier to follow during review and simpler to apply to similar projects, especially compared to a single, tightly coupled JavaScript animation. The design demonstrates how thoughtful timing and minimal motion can deliver clarity, responsiveness, and polish—without increasing implementation complexity. View project here: #533_AI_Animations.story150Views2likes0CommentsRise notes utility
I added a global utility bar to my Rise course to add a simple 'notes' piece, data is kept in the browser's local storage and it will not write to SCORM. Because of the global nature of this addon, it can be a handy way to make the functionality, and even some branding, always available to users across your entire course.
552Views10likes12CommentsSimple Tabs
That’s probably the most accurate way to describe this submission, possibly the most boring interaction I’ve ever produced for an eLearning challenge. Ironically, it’s built around tabs, which can be pretty useful when done right (keep them simple, clean, and don’t overthink it). But here’s the twist: If you manage to stick around for 2 whole minutes, you’ll unlock a reward, a downloadable Storyline file. Because if you’ve got the stamina to survive two minutes of my "creativity," you deserve something. Inside: 🕒 A global timer built with JavaScript 🎞️ Image transitions powered by the Web Animation API 🎁 And who knows, maybe a surprise or two. LaunchAn AI-Powered Knowledge Check in Storyline
I've been wrestling with this challenge for a while: How do we get learners to reflect without relying on quiz after quiz? How can we use open-ended questions to encourage deeper thought? I've long considered AI for this, but there were hurdles... How do you integrate it into an Articulate Storyline course without paying for tokens or setting up contracts? And how do you do it without leaking credentials in the course itself? Can it be done without having to modify code after exporting the course? I learned recently that Hugging Face Transformers provide a solution. You can now download an AI model to the learner's machine and run it locally in their browser. I've managed to get this running reliably in Storyline, and you don't have to modify the code after export! In the final slide of the demo, your goal is to recall as much as possible from the podcast/summary. The AI will then check your response and give you a percentage score based on what you remembered. Live demo & tutorial here: https://insertknowledge.com/building-an-ai-powered-knowledge-check-in-storyline/ If you want to learn how I recommend starting with the sentiment analysis because it's easier to get started. I've also provided a file to download in that tutorial if you want to reverse engineer it.Spookily Accruate
Hello! For this challenge, I reused a character I created way back in 2020, for Challenge #292 (Using Variables). In case you wondered, Zardoz is a cross between Sean Connery and the Zoltan machine from Big. I've upgraded Zardoz with a few tricks I've learned in the meantime, including live polling, a speech animation cycle, and some sneaky Javascript. If Zardoz doesn't successfully read your mind, he can still surprise you with what he does know about you. Does Zardoz know what you're thinking? TRY IT OUT HERE