javascript
45 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. Launch