Simulations on a Shoestring

Robert N. Bilyk
President, LodeStar Learning Corporation

Introduction

With artificial Intelligence, new tools, and new standards there is a sea change that improves our ability to create simulations efficiently.  I’ll take a moment to reprise my summary of the benefits and types of simulations and then dive into what we can do now that we could not do before — efficiently.

Why simulations

Simulations help learners draw upon their knowledge to make decisions in a ‘real-world’ setting.  They stimulate recall of recent learning and past knowledge.  They demonstrate how knowledge can be applied.  They can simplify situations to support learning or they can tax learners with the complexity of challenging environments.

The term simulation can apply to a broad range of instructional activities.  It can mean role-playing, a virtual lab, a decision-making scenario, a game, a diagnostic exercise, an immersive reality environment, and more.  A simulation can range from a simple demonstration of how things work, like an electrical circuit, to a complex problem that invokes the learner’s critical thinking and analytical skills.

I’ll limit this discussion to decision-making scenarios, which can include simple simulations (or ShortSims) and highly complex interactive case studies. 

Behavior mindset shift

AI, new tools and new standards dramatically lower the cost of building simulations.  But it takes more than technology to turn the tide.   Chrisopher Lind (host of Future-Focused1) and Michael Vaughn (CEO of The Regis Company) captured the issue in their recent conversation about simulations.

Michael Vaughn has been working in this space for years.  In his conversation with Christopher Lind, he notes that:

“The first thing we realized when we put instructional designers into it [simulation] the reaction is always the same, they loved it because it was fresh, it was new, it was a new way of thinking about building things, and all that stuff was really exciting and then when they had to sit down and actually start building a simulation it was almost the deer in the headlights.”

He and Christopher agree that a lot of design has really been about information architecture and not the design of learning experiences.   A simulation is a learning experience. They acknowledge that for years building simulations seemed beyond the capability and budget of learning and development professionals.

But that is no longer true. 

A simulation project

For my courses at Metropolitan State University in Learner Experience Design3, I have been contemplating a simulation that helps students apply what they’ve learned from my presentations, the texts, and the examples.  So, I’ve been building a prototype.  I’ll describe the prototype, what skills I needed, and how new tools and standards have helped me.

Let’s begin with the purpose of the simulation.

In my simulation I challenge students to develop training that helps a company solve a problem.  As Paul Matthews2 writes, sometimes learning experience designers need to play the role of a performance consultant and dig for the root cause of a performance issue.  In my simulation, you are asked to develop training for a residential solar panel installer.  The fictitious company installs and services solar panels.   The first tier of technical support for customers is the customer service technician.  If the tech can’t solve the problem over the phone with basic problem-solving strategies and tools, then a truck and field technician are dispatched to the customer site.   The company goal is to reduce what they call truck rolls.  The goal is to save the company money.

The simulation randomly selects a scenario from a bunch of scenarios, each with a different root problem.  Learners must interview technicians, the L&D director, and the dispatcher.  They must look at field notes and the tool metrics to decide on the learning outcomes that will make a difference.  Finally, they pick from a list.  The outcomes on the list are a strong or weak match depending on the randomly selected scenario.

Let’s review some of the actions that are critical to an interesting simulation.

Defining a Challenge

So, the first mindset shift is to think it terms of a problem and a challenge to present to the learner.  That’s a little different than a presentation on an ADDIE Analysis or a presentation on Design Thinking Empathy.  We’re not developing a presentation that competes with a hundred YouTube videos.  We’re developing an experience.

Creating Context

It’s been more than a year since AI was democratized by ChatGPT, DALL-E, and BARD.  Now there are dozens of tools that allow us to generate text and images, convert text to speech, synchronize animations with sound, and more.

For my prototype, Bing Image Creator generated images related to solar panel installation.  I tried to choose images that were both illustrations and stylistically consistent.  That proved to be very challenging but the tools improve each week and, at this stage, I’m only developing a prototype.

I used ChatGPT to help generate common problems that homeowners experience with their solar panels.  I didn’t use the ChatGPT content but it gave me ideas to dig into. The problems can range from decreased energy production to complete system failures.  I gathered information from ChatGPT, solar panel installers, and my own experiences.

Graphics generated by DALL-E

I asked Bing Image Creator (powered by DALL-E) to generate images of a customer service timeline and specific pieces of equipment like the inverter – a device that converts the current produced by a solar panel to one that will work in the home.

I assembled these images in my video editor and combined them with a script that was fed into a text-to-speech synthesizer.  I used Amazon Polly at no cost, but there are dozens of inexpensive synthesizers available.  They use AI to produce naturalistic sounding speech.  The inexpensive ones aren’t perfect but for prototyping or for projects on a shoestring budget, they may be acceptable.

Creating randomly generated scenarios with datasets. 

I used the LodeStar Dataset Widget to generate data.   I first defined the properties or data fields (upper part), clicked the ‘Generate’ button to create the dataset and then filled in the values.   In the screenshot below, I picked problem 1 and then identified the media that represents what each of the employees will say.  Three of the fields also control the level of tool usage that is displayed in the scenario screen.

Dataset widget in LodeStar enables author to both define a dataset and then populate it

Scripting Randomization

In my case, LodeStar randomly pulls from the dataset so that these characters say something different each time,  providing clues to the root problem.  The level of usage of the tools (KMC, Dashboard, and Ticketing system) is also drawn from the dataset.

This is accomplished with a single line:

var scenario = getDataSet(“scenarios”, “-1”);

The -1 causes the engine to randomly select from a group of scenarios.  Each subsequent call will return a new dataset from the remaining unused datasets.

LodeStar makes it easy, but the same thing can be accomplished with script that essentially does these things:

  1. Describes the scenario data in a machine readable format
  2. Adds each scenario to a collection
  3. Generates an unused random number and uses that to pull a scenario from the collection
Once a scenario is randomly selected, all of the elements give clues to the underlying problem: employees, tool metrics, and field notes

Using Voice Synthesis and Character Puppets

I used voice synthesis and animations to represent the technicians, dispatcher, and Learning and Development director.

I had a little fun with the next step.  I added character puppets. 

Character puppets are composed of rigging.  Character rigging is a skeletal structure made of bones and joints.  The puppet creator skins the structure with artwork. The more rigging a character has, the more complex and subtle movements they’re capable of.

The puppet artists create the skeletal structure, the joints and the artwork for these puppets as well as the visemes. A viseme defines the formation of the face and mouth while a person is speaking. 

Adobe Character Animator imports a puppet created by GraphicMama.com

Here is where AI comes into play again.  AI supports the analysis of the audio file and chooses matching visemes.  In short, lip synching.  In the past, there were several hokey tools that attempted lip synching.  In the 90s when I lip synched characters to recorded speech, I needed to painstakingly morph visemes in a complex tool like 3D Studio and its predecessor.  Today, the technology has improved and the effect is appearing less and less mechanical.  In the coming years, along with the use of avatars, this technique will be more and more refined. 

Character tells his part of the story.

Displaying randomly generated elements

I displayed a list of learning outcomes in random order.   I will challenge learners to choose the top five outcomes that address the underlying training problem out of list of 20.  Their answers are evaluated based on the current scenario and the outcomes that are listed in the dataset.   An outcome might be correct in one scenario and completely wrong in another.  Just like real life.  Also, as in real life, some of the information provided by the employees might be misleading.  One technician may be performing correctly while the others may lack the knowledge, opportunity or motivation to perform correctly.   

Learning outcomes are randomly ordered and judged according to the currently selected scenario

Coding for greater control

I added code (simple script) to evaluate the learner’s answers based on the scenario rather than answers that are hard-coded to be right or wrong.

LodeStar provides a simple scripting language that makes it fairly easy to evaluate the learner’s answers.   For those designers who wish to avoid scripting altogether then LodeStar offers a Gate page type and branching options.   The branch can direct learners to a batch of questions and answer options that are aligned to the scenario.

The use of simple scripting enables the designer to create one engine that will evaluate learner choices based on the scenario.    The use of branching enables the designer to create sets of questions and match those sets to each scenario.

In the example of simple scripting, the code would do the following:

  1. Ensure that the learner only selected five outcomes.
  2. Retrieve the dataset and parse out the right learning outcomes for that dataset.
  3. Loop through the outcomes and check if the outcome is contained in the set of learner’s choices.  If yes, append score and change the displayed outcome to green.

Here is an example of LodeStar Script accomplishing the above.  LodeStar Script follows JavaScript in the way that it declares variables, evaluates conditional statements, and loops through an array.  But LodeStar Script is not JavaScript.  It features high level functions that make it very easy to perform tasks, change properties, animate, play sound and video, and fifty other things.

Trainers and instructors can start with simple branching and slowly build on their scripting ability to increase their power to generate dynamic simulations that change every time the learner returns to them.

LodeStar Script also supports the generation of xAPI statements as do the branching options.

LodeStar Script offers high level functions that make it easy to perform tasks. Dozens of lines of code are reduced to a single line.

Controlling animations programmatically

In my simulation, I wanted a visual indicator of how the learner was performing.  I created a meter with the SVG editor, an animation timeline with the animation editor, and then controlled the animation with some script.  I also programmatically controlled the usage graphs for each of the tools – again, based on the dataset.

Simulations are often supported with animation that can be programmatically controlled.    The following screens show how I did this in LodeStar.

First, I created the meter with five bars in the SVG editor.  I also added a triangle indicator.

The SVG editor enables the creation of SVG elements that are assigned a unique ID

Then I opened the animation editor and changed the timeline for each bar.  I made the first bar fully opaque at 1 second, the second bar at 2 seconds and so on.

If a learner performed at 60 percent, the first three bars would be fully opaque.  The triangle indicator would appear just right of center.

The SVG graphics are brought into the Animation Editor and animated.

Now, I needed to control the animation play head.  Once I evaluated the learner (user) score I did the following:

  1. Set the system score for the user
  2. Set the total score for the user.
  3. Move the animation playhead to the 60 percent mark with the following function: changeAnimation(“meter”, 0, percentage)
  4. Change the text to show 60 percent
  5. Disable the check button.
  6. Send an xAPI statement to the learner record score that states what outcomes the learner chose for the given dataset problem.
LodeStar Script can be tested inside its Script Editor

Conclusion

Simulations are an effective tool to engage your audience and promote learning.  With artificial intelligence, we can research and write content, generate images, synthesize speech, and synchronize speech to lip movements.   With advances in HTML standards baked into authoring tools like LodeStar we can generate datasets and randomly draw from them.  With advances in standards, we can create SVG graphics, animate them, and control the animations programmatically. 

The biggest challenge is in finding authors who are willing to learn these techniques and use them to engage learners.  Thinking back on Christopher Lind and Michael Vaughn’s comments, we can become more than information architects.  We can become learning experience designers. 

References

  1. Future-Focused with Christopher Lind
    https://christopherlind.substack.com/
  2. Paul Matthews
    https://paul-matthews.com/
  3. Metropolitan State University, Learner Experience Design Graduate Certificate Program
    https://www.metrostate.edu/academics/programs/learner-experience-design-graduate#about

H5P

Robert N. Bilyk
President, LodeStar Learning Corporation

Introduction

LodeStar Learning now supports the import and playback of H5P activities in its LodeStar eLearning authoring tool.  This is a new feature that is made possible mainly by the ‘openness’ of H5P and its creators. 

This article will unpack the importance of this announcement and tease out all the instructional technologies that make it possible.  I’ll talk about H5P, its openness, its current uses and briefly describe all of the related technologies.  Then I’ll dig into how you can use LodeStar and H5P together.

H5P accordion and Image Collage displayed on LodeStar page

H5P:  What is it?

In their introduction to H5P, the H5P Group (Joubel) acknowledge that

‘There are lots of barriers for creating, sharing, and reusing interactive content. There are copyright issues, technical issues, complex authoring tools and huge problems with compatibility between different types of content formats, authoring tools and publishing plattforms. H5P is breaking down these barriers.’ 1

We’ve heard altruistic rhetoric before from Ed Tech vendors but, in the case of H5P, their claims hold water.  The H5P Group has truly broken down a lot of barriers and that’s evident in the open nature of their practices.

For those new to H5P, here is a quick background: 

H5P is interactive HTML 5 content presented in the form of quizzes, timelines, accordions, videos, drag and drop, ordering, interactive videos – in total, more than fifty different activities.

H5P playback is supported by plugins for Drupal, Moodle, WordPress and other platforms.  H5P content can be housed in the H5P.com software as a service (SaaS) for a fee or, with limitations, content can be authored and housed in H5P.org for free.   

Many universities subscribe to H5P.com and support a Learning Tools Interoperability (LTI) connection to the Learning Management System.  If you’re new to the concept of LTI, don’t worry.  Your learning management system administrator will be well-versed on that technology.  It is the primary way that learning management systems integrate publisher material and other add-ons to their system.

H5P captures and communicates learner performance through xAPI.  (I’ll describe xAPI in more detail in the next section.) As of this writing, H5P.com doesn’t include a Learner Record Store (LRS) to capture the xAPI statements but it passes those statements to platforms that may have their own LRS. 

About the connecting technologies  

If you’re new to the concept of xAPI, H5P is a great way to learn more.  For more than twenty years authoring systems like LodeStar, Storyline and Captivate sent learner performance data to their host learning management systems through SCORM.  SCORM is a set of specifications that allow authoring systems to a) package the content so that it will run in a variety of LMSs, b) capture learner performance in pre-defined data categories and send that information to the LMS, and c) sequence content. 

xAPI, on the other hand, is a far more versatile specification.  First, the activity does not need to be housed in the Learning Management System.   It can sit in a repository.  Activities can communicate learning performance data from anywhere in the internet.  Most importantly, xAPI can capture and send anything about the learner performance and not just what fits in pre-defined data categories.  xAPI can capture what the learner experienced, attempted, attended, answered, started, completed, passed, interacted, created and more — in short, anything that the learner experienced. And, of course, xAPI can capture and transmit details of how the learner performed.

H5P uses LTI and xAPI technologies.

The openness and modularity of H5P

Much of the code for many of the H5P activities actually sits in GitHub and can be publicly viewed.  The significance of this is that H5P is being built by not only a single entity but the instructional community at large.  

The H5P architecture is modular.  I’ll illustrate the modularity by describing two different activities and their dependencies.  One of the activities is a simple accordion display of content.  To play back that activity one needs some core libraries plus the following modules:

  • Accordion
  • AdvancedText
  • Fonts

In addition to the core, the libraries weigh in at under 1 MB.

A sorting exercise is a little more complex.  It needs:

  • Sort Paragraph
  • Fonts
  • JoubelUI  (for pop-up boxes and other user interface elements)
  • Transition
  • Question

The two activities together weigh in at 1.6 MB. 

When an author imports an H5P activity into LodeStar, LodeStar handles all of the dependencies automatically.

In addition to the playback of H5P activities, the H5P package also includes the code that supports the editing of the activity.  As of this writing, LodeStar only supports the playback of H5P activities and therefore discards the editing code.  Authors can easily make changes to their H5P activities in the H5P cloud and re-import into LodeStar.

The H5P activity follows a very specific open format.  The H5P.json file lists the main library of code and all of its dependencies (code that the main library needs).  A content folder holds media such as images and the content.json file that holds the content that loads into the activity. In the case of a set of questions, content.json holds each of the question stems and all of the answer options.

The combination of all of these things enables the community of developers to support H5P.  The code behind the activities sits in a publicly visible GitHub repository.  The .h5P file format is simply a zip file that follows a specific folder structure and includes the h5p.json and content.json that I mentioned earlier. 

Downloading an H5P

I’ve been at this game for a good number of years. So often I’ve listened to vendors describe the ‘openness’ of their systems or outline an ‘exit’ strategy should you choose to switch away from their platform, only to discover that content is, in effect, trapped.  

H5P.com and H5P.org offer a ‘Reuse’ button that sits just underneath the content player.  In this example of an Interactive video found at Interactive Video | H5P  , when I click on the Reuse button a dialog offers the option to ‘Download an .h5p file.’   Again, the .h5p format is simply a zip file that contains all of the code that I need.

So let’s see what we can do with the Interactive Video Activity in the LodeStar Authoring tool.  In LodeStar 10 Build 14 (or later), I selected the ActivityMaker template, created a new page and then clicked on the Widgets sprocket in the HTML editor.

Since LodeStar 10 Build 14, the list of widgets includes the H5P widget.

I select the widget and get this dialog:

The H5P widget dialog enables me to import a downloaded .H5P activity.  I click on ‘Get H5P Activity’ button and select the previously downloaded Interactive video activity.

LodeStar then extracts the contents of the H5P file and looks for the list of dependencies in the h5p.json file.  Our program then transfers all of the needed dependencies into a common library so that multiple H5P activities can draw from the common library.  In other words, only the files that are needed are added to the LodeStar content package payload.

Once LodeStar has imported the .h5p activity, I set the following properties as needed:

Point Value: 10

Preferred Height: 500

xAPI Verb: completed

Scoring Type: scaled

Selecting the correct xAPI verb and scoring type needs a little explanation.  First, it is important to note that all xAPI statements generated by the H5P activity are forwarded to the Learner Record Store.  Everything is captured and forwarded.

In addition, for scoring purposes, LodeStar listens to the xAPI events that use the verbs ‘answered’ and ‘completed’.    LodeStar then integrates xAPI performance data into its own reporting mechanism.

For each of these, there are two choices for scoring method: raw (meaning raw score) or scaled (meaning a percentage from 0 to 1).  If raw is chosen, the raw score is added to the accumulated points.  If scaled is chosen a percentage of the total points is assigned.

Appendix 1 dives deeper into two scenarios that capture H5P scores differently.

Benefits

H5P offers a wide variety of activities.  LodeStar offers a rich framework that supports branching, SVG graphics, animation, a library of functions, and a variety of page types and widgets.  The combination of the two technologies is truly synergistic.

A second benefit applies to those whose institution does not support an LTI connection between H5P.com and their learning management system.  As of this writing, H5P does not support SCORM.   With LodeStar, an author can import an H5P activity and export the entire package in any flavor of SCORM as well as CMI5.

Lastly, a LodeStar activity with imported H5P can be placed in a repository and made freely available to Open Education Resource libraries without the dependency on H5P.com.

Conclusion

LodeStar’s import and playback of H5P activities expands LodeStar’s repertoire of activities.  As importantly, authors benefit from placing H5P activities in LodeStar’s rich framework enhanced by page types, widgets, LodeStar script, media, animation, themes, designs, characters, backgrounds and more.

We look forward to future collaborations and further exploring how LodeStar Learning can leverage the openness of H5P for the benefit of students.

H5P Interactive Video imported into a LodeStar page and displayed with LodeStar background, themes and design style applied.

Appendix 1

Here are the two typical scoring scenarios involving an activity with 5 questions and a ‘Finished button”:

Scenario 1:

 (In LodeStar the verb and scoring type are set to Answered – Raw)

Total Points is set to 5.

If the learner answered all questions correctly, except for question 3, this is what LodeStar would record.

Question 1  — 1 point

Question 2 – 1 point

Question 3 – 0 points ❌

Question 4 – 1 point

Question 5 – 1 point

Finished – 0 points (finished generally sends an xAPI statement with the ‘completed’ verb.  ‘Completed’ does not match ‘answered’, which is what LodeStar is listening for.)

Score is 4/5

Scenario 2:

(In LodeStar the verb and scoring type are set to Completed – Scaled)

Total Points is set to 10.

If the learner answered all questions correctly, except for question 3, this is what LodeStar would record.

Question 1  — 0 point (Individual items generally send an xAPI statement with the ‘answered verb.  ‘Answered does not match ‘completed, which what LodeStar is listening for)

Question 2 – 0 point

Question 3 – 0 point ❌

Question 4 – 0 point

Question 5 – 0 point

Finished – 4 points (finished generally sends an xAPI statement with the ‘completed’ verb.  ‘Completed’ does match the ‘completed’ setting in the LodeStar scoring method.)

4 points out of 5 is a scaled score of .8 .  .8 multiplied by 10 total points is 8.

Score is 8/10

Reach out to supportteam@LodeStarLearning.com with any questions.

1  https://h5p.org/about-the-project#

State Response Engine

Robert N. Bilyk
President, LodeStar Learning Corporation

Kjrsten Holt
Faculty, Minneapolis Community and Technical College

Introduction

I’ve written about a ‘Thinking Activities’ continuum that categorizes the skills needed by an instructor or trainer to develop various levels of thinking activities.

At one end of the continuum, trainers and instructors can promote thinking with reading assignments and discussions; at the other end, they can use realistic simulations that immerse students in a real-world environment.

Creating a realistic simulation can be daunting.  It requires time, effort, and a specialized skill.

Therefore, in my opinion, we need to uncover and discover more thinking activities that fall in the middle range – activities that trainers and instructors can create given their time constraints and skill level.   This article proposes one such activity.

An introduction to the State Response Engine

A “State Response Engine” (SRE) randomly selects a “state” or situation and presents responses to learners in the form of actions. This approach is designed to promote higher-order thinking by presenting learners with different scenarios and challenges based on the randomly chosen state. The SRE allows for a variety of responses, some of which can be correct in one situation but incorrect in another. It introduces an element of unpredictability and adaptability to the learning process, encouraging learners to think critically and make decisions based on the presented context.

In a composting problem example, the SRE randomly selects states like “You are presented with bags and bags of brown leaves” or “You are presented with bags and bags of vegetable produce” and then provides corresponding response options. This dynamic and adaptable approach to learning is what defines the State Response Engine, making it an appropriate name for this type of activity. It offers a state-based framework for presenting challenges and responses to learners, promoting engagement and problem-solving skills.

Let’s see one in development from start to finish:

The need

Kjrsten Holt is a faculty member at Minneapolis Community and Technical College.  She teaches web and graphic design.  Originally, she created a ShortSim1 script for her class on web design fundamentals, part of a two-year program in graphic and web design.  This article takes her original design and translates it into a State Response Engine activity.

A little more background in Kjrsten’s own words:

Students in the course are a mix of print design and web design majors, ranging from high-school age to adults with previous degrees. One of the course’s learning objectives is to be able to successfully optimize images for various publishing formats. Upon completing this learning experience, students should be able to choose the correct image size and export format for print images, and web images.

The ShortSim strategy was an excellent choice for Kjrsten’s learning outcome because students would be presented with a situation and required to make the right choices related to technique, image size, filetype, compression type, and so forth.

I proposed that we try the SRE strategy to accomplish the same objective and Kjrsten agreed.  The SRE isn’t a better strategy than ShortSim.  It simply offers the following:

  • Easily generated – A little more difficult than setting up a multiple choice but not much more difficult
  • Quickly generated.
  • Largely text-based thus saving time although images can be used.
  • Randomly chooses a situation.  The students’ selections are judged right or wrong based on the randomly chosen situation, thus creating another element of challenge.
  • Uses delayed response, which means that students’ responses are evaluated after they’ve completed the entire scenario.  They get feedback and are then encouraged to improve their score.  Students are encouraged to read and remember the feedback to improve their score on the second round. 

Why is this important?

We need strategies that make students think but don’t require a disproportionate amount of time to generate.    Students get tired of discussions that seem perfunctory.  They also tire of strategies that have worn out their welcome from repeated use.  We need new strategies!

How do we use the SRE strategy?

We’ll use the LodeStar eLearning authoring tool to illustrate the SRE.  LodeStar makes configuring an SRE easy, but with a little ingenuity the same can be accomplished in StoryLine or Captivate.

The first step in LodeStar is to choose the Challenger Page Type in the ActivityMaker Template.  The Challenger Page type is based on the SRE strategy.

The Situations (States)

The next step is to construct the randomly selected states.

In our example, the State Response Engine randomly chooses a state from two possible situations: 

State 1:  Your task is to take a portrait of a musical band for a print poster.  Decide what device to take and, if needed, set it to an appropriate resolution.

State 2:  Your task is to take a photograph for a social media post for a band.  Decide what device to take and, if needed, set it to an appropriate resolution.

This is what it looks like from the author’s point of view:

The ‘Situation’ category will either display “Your task is to take a photograph for a print poster.” or “Your task is to take a photograph for a social media post.” 

The ‘Situation’ category can be assigned two or any number of randomly selected states.  This is what it looks like to the student:

In the screenshot, the student has chosen the situation category and is presented with the task as well as some choices to make that are related to type of device and resolution needed for the task.

Based on the situation, the student chooses the appropriate photographic device, sets the correct resolution, and then conducts the photoshoot and editing accordingly.

For example, for a print poster, the correct actions are:

  • Choose an 18-megapixel digital SLR.
  • Set device to shoot at 5184 x 3456 pixel resolution at 300 dpi.
  • Shoot a lot of images (always true).
  • Bring extra batteries or a charge cord (always true).
  • Consider the purpose and goals of the photoshoot. (always true)
  • Convert Image to TIFF.
  • Change color space to CMYK (optional).

The author sets the SRE options from one of the following:

  • Always correct
  • Never correct
  • Correct if dependency exists
  • Not Applicable

This is how it looks:

The selection option is the title:  Choose an 18-megapixel digital SLR.

The option will be displayed under the “Situation” Category.  Categories can be steps in a procedure or phases or categories or whatever.

We’ve already crafted our random states and so we select ‘No’ or leave the option blank.

Choosing an 18-megapixel camera depends on the task.  The prerequisite task must be to create a print poster.  This option is only correct if we’re shooting for a print poster. Therefore, the dependency is set to “Take a portrait of a band for a print poster…”

We then assign points.  If the student correctly selects this option, they gain 10 points.

We select the condition for which this choice is indeed the correct response. It is correct if the dependency exists.  The dependency is “Take a portrait of a band for a print poster…”

We indicate any resources that should be made available to support the student in making the right selection.  The resource is another page in the project that displays when we click a resource button.  In the screenshot above, “Resolutions” appears as a resource.

Finally, we provide feedback.  Feedback A is feedback that is displayed if the item is incorrectly selected.  Feedback B is feedback that is displayed if the item is incorrectly omitted.  (The tooltip shown on mouse-hover reminds us of this.)  In our example, if the student doesn’t select an 18-megapixel camera, we provide feedback that the student needs a high-resolution camera.

In our example we kept it simple.  We have 18 selections, which include the two random states.

Optionally, we can add more random states to the other categories.  For example, the SRE can randomly choose good or bad weather conditions.   The choice to use artificial lighting is correct only if a) we are doing a photoshoot for a print poster and b) we’re forced indoors because of the weather.  Here is how we configure the option:

In the above example using artificial lighting is dependent on the task of taking a portrait for a print poster and shooting inside because of the weather.  If those two dependencies are not present, the selection is judged incorrect.

The artificial lighting option was just an example that we did not include.  We kept our prototype simple.   The emphasis was really on resolutions and file types according to the stated learning outcome.

In our example, once the student completed all three categories ‘Situation’, ‘Photoshoot’ and ‘Editing’, they are shown the ‘Submit’ button.  When the student submits, the SRE offers feedback.  Here is a snippet.

You incorrectly omitted ‘Reduce image size so that it fits on your monitor’. Reducing file size is useful when handling images for the web.

You incorrectly omitted ‘Compress file with software and select JPG format’. JPG is a good choice when you need a smaller file size.

Also, in our example, we display the score and give the option for the student to try again.

Conclusion

The skill level needed to configure the State Response Engine is just slightly higher than constructing multiple choice or fill-in-the-blank questions in an authoring system.   The added value comes from mixing it up – putting students into different situations so that they exercise their thinking with different propositions or rules. 

If A, then…  

The SRE practices students on what Smith and Ragan2 call procedural rules and relational rules or principles.   

These relationships are often described in the form of an if-then or cause-effect relationship.

If we want students to think, we need to place them in situations where they can practice thinking.  The SRE makes it possible for trainers and instructors to construct these situations with a reasonable level of skill, time, and effort.

To view the prototype, visit Photoshoot

References

  1. ShortSim is a term coined by Clark Aldrich in his book ShortSims
    Aldrich, Clark (2020) ShortSims, CRC Press
  2. Smith, P. L., & Ragan, T. J. (n.d.). Instructional design. 1999.

The Teaching Machine – Past, Present and Future

Robert N. Bilyk
President, LodeStar Learning Corporation

I’ve been reading Teaching Machines, The History of Personalized Learning by Audrey Watters1, who may be best known for her “Hack Education” blog.  Teaching Machines is a great read.   It was published in 2021.  Since then, Audrey Watters posted her last on ‘Hack Education’ and, according to her post, no longer writes about Tech Education. 

The Past

A good part of Teaching Machines is dedicated to B.F. Skinner’s Teaching Machine.  By today’s standards, it’s a crude mechanical device.  The early versions were wood boxes that displayed questions through a small window and required students to write answers on a paper strip.  Once students submitted their answers, they pulled a lever to display the answer and advance the paper strip.  The questions and answers were printed on a paper disk partitioned into pie wedges.

For fun, I simulated an early prototype of B.F. Skinner’s Teaching Machine.  I used our LodeStar Authoring tool to simulate how the early machine worked.

An early prototype of B.F. Skinner’s Teaching Machine

See the simulation at https://lodestarlearning.github.io/Teaching-Machine/index.htm

Films from that era (the 50s) conjure up rows of students working on the machines – a setting not unlike a factory floor with row upon row of workers at their sewing machines.

And yet, as Watters writes, the impetus – the motivation – behind the design of these teaching machines was largely, in the opinion of their inventors, altruistic and intended for the benefit of the student.

Watters recalls how Skinner visited his daughter’s 4th grade math class.  The teacher wrote math problems on the board.  Some students finished quickly and squirmed in their seats as they waited for the class to progress.  Other students struggled to complete the problem and perhaps never successfully finished.

Fast forward thirty years.  I was a high school language arts teacher in the 80s.  One of my classes consisted of students who could not read or write very well.  I’ve spoken about this a dozen times.  The underlying reasons for their inability to read or write very well had to do with who they were:  some students were newly immigrated from non-English speaking countries; other students had learning disabilities; and others hated school.  I was handed one curriculum that treated the class as one homogenous body.  I really needed materials and strategies that addressed the needs of at least three populations.  I needed some form of teaching machine.

Skinner, in response to his daughter’s class, decried that “something must be done”.  I approached our Instructional Materials Center Coordinator and asked if, in any way, the Apple IIe machine in the library could help me ‘individualize’ the instruction.  For Skinner, the realization led to his idea of a teaching machine.  For me, I began a career-long journey into the world of technology-assisted personalized learning.

Minnesota Educational Computing Consortium’s (MECC) Oregon Trail on an Apple II.

From time to time, I’ve challenged myself to take a hard look at the principles that drove my pursuit to help students with technology.  As a starting point, I was interested in the following ideas:

For the student:

  • Go at your own pace, where the learning objective is constant, but time is variable.
  • Get quick feedback.
  • Have fun.
  • Pursue lesson branches based on your interest, choices and performance.
  • Be challenged.

For the instructor:

  • Free up time for individualized help.
  • Get information on what questions students are consistently getting wrong. 
  • Inform future lesson plans.

I used computer programs on the Apple IIe, but I wanted to write my own.  Several years later, I was headed home on a dark country road, listening to Minnesota Public Radio.   I was listening to a story about interactive video discs – and I became smitten.  At this point in my career, I worked at a college.  I asked my dean (who had a background in instructional systems), what I needed to learn to program interactive discs.  He answered, “Learn C”.  And so I began my study of both learning theory and computer programming and camped out at their crossroads.

At the University of Minnesota, I studied curriculum and instruction.  At Saint Paul College, where I worked, I took classes from programmers who made their living at Unisys, Honeywell and other industries.  As I soon discovered, my dean’s advice was both bad and good.  It was bad because, by the 90s, one did not need to learn a low-level programming language, like C, to control a video disc player.  The TenCore Language Authoring System could do that with a much higher level language (thus easier).   It was good because I became proficient at programming and could extend authoring systems with lower-level code. In short, I was never limited by the authoring tool, only by my imagination. Later I worked on teams to design a content management system, several instructional products and two authoring systems.

The Tencore Language Authoring System (LAS)
was a TUTOR (PLATO) derivative developed by Paul Tenczar 
The Interactive Videodisc was a laser– readable random-access disc that contained both audio and analog video. The videodisc’s full motion video was displayed on a computer with the help of a video overlay card that superimposed the analog video on a digital monitor.

Authoring systems like TenCore, Authorware and Toolbook enabled designers to program the computer to send commands to the player via serial communications.

In the early 90s, the University of Minnesota introduced me to Course of Action, which was later renamed Authorware.  Authorware was a game-changer.  With this system, I could finally efficiently realize all the ideas I had started out with and that now took the form of:

  • Individualized instruction
  • Immediate feedback, or strategically delayed feedback, based on the design.
  • Fun interaction with analog video, high-fidelity sound, dithered graphics (256 color displays), three-dimensional animation (yes, in the early 90s), simulations, games….
  • Branched, non-linear instruction.
  • Data collection and reporting. (The installed computer program could gather data and, using an early standard from the aviation industry (AICC), report it to the instructor.)

It was a great start and a step toward the present. 

Authorware, designed by Dr. Michael Allen and his amazing team, changed everything. The work shifted from arcane computer commands to the design of learning experiences. Authors dragged icons onto a flowline that commanded the computer to present graphics and text, animate, play audio and video, branch instruction and execute simple scripts.

The Present

The promise of personalized instruction is partially realized today.  Our current teaching machines are programmed by smart authoring systems that can present and control media, animate, branch instruction, simulate real-world conditions in various degrees of fidelity, and report student performance through standards like SCORM, xAPI and CMI5.  We also have virtual reality, which can immerse learners in some ‘real-world’ or imaginary context, and augmented reality, which can add a digital layer over one’s interaction with the physical world.

We also benefit from gamification, adaptive learning, learning experience platforms, learning management systems, microlearning, digital story-telling, three-dimensional graphics, and 360 imagery and video.  In short, Teaching Machines have come a long way from questions displayed in a tiny window.

And yet there is still something significantly missing that would have benefited both Skinner’s daughter and my high school students…or any learner.

The Future

When it comes to the future, I’m on thin ice.  I offer this up more as an invitation to hear from others who have greater insights than I. There is so much happening in academia, industry and in academic-commercial partnerships that I’m just not aware of.  But I’ll briefly touch on what has been nagging me for years – and return to this theme in a later post with, perhaps, your contributions.

The problem, in my view, is in the finiteness of our present- day teaching machines.  As an example, years ago, my colleagues put out a math series on interactive video disc, then later on CDROM, and then later on the web.  The lessons were well presented and followed by numerous exercises in various topics like college-level algebra.

I observed students working through the math programs in Saint Paul College’s Instructional Technology Center.  If students didn’t ‘get it’ from the presentation or the exercise feedback, they had little recourse.  Fortunately, in some settings, a qualified instructor would then take over and help the student with a different tactic.  I observed settings, however, where similar programs were being used but with underqualified tutors.  If the students didn’t comprehend the lesson, that was the end of the line.  The lab monitor was unable to help them.

A lot of topics rely on a student’s prior knowledge, which may or may not be present.  In short, prerequisite skills. 

Several years ago, a fleet of‘adaptive learning’ platforms appeared on the market that proposed to remedy this short-coming.  (examples of adaptive learning systems include CogBooks, Acrobatiq, Knewton).  A lot of investment and effort went into assessing student’s performance and confidence with the subject matter and providing alternative instruction.  Some of the platforms catalogued open educational resources and used, what they called, semantic engines to match students with open resources to help them.

Adaptive learning systems are software platforms that optimize the content to adjust for the learner’s goals and current state of knowledge. They are designed to address challenges such as slow pace, difficulty, lack of practice, and insufficient mastery of content. In traditional e-learning courses, students linearly follow the path an instructor creates. They watch videos, read articles, take quizzes, and practice interactive modules often in a predetermined order. An adaptive learning system contains the same types of material but the order, pacing, and content may change for each learner. The system decides which content to show the learner based on the learner’s goal, performance and confidence level.  If the system determines the current path is too easy for the learner, it can branch to more challenging material. If it finds out the current path is too difficult, it may intervene and review prerequisite content, reduce the challenge, or slow down the pace. 

Most of these systems are proprietary and operate through subscription or a pay wall.  Presumably, students who use them benefit from them but the modern teaching machine (i.e., authoring systems, Learning management systems, learner experience platforms) needs to tap into the same technology and benefit from open systems.

Work is being done to open-source systems that use such approaches as Bayesian Knowledge Tracing.  Bayesian Knowledge Tracing is used in a number of Cognitive Tutoring systems.  This approach develops a model of a student’s knowledge in a given domain and constantly updates that model based on the student’s performance.  Probability of skill mastery can be computed from the student’s current knowledge and the proposed learning material.  Efforts are underway to use these systems to link learning management systems with open content repositories.

 A possibility in the future is that the entire web becomes the new teaching machine.  In the past, several concepts and specifications rose and fell in popularity.   We may see their renaissance.  One concept was Tim Berners-Lee’s Semantic web.

The goal of the semantic web as it relates to education is to make content on the web machine readable – and therefore categorizable and discoverable.  To support the description of educational resources several specifications exist including the Resource Description Framework, and the Web Ontology Language. 

A recently published article titled ‘Investigating the potential of the semantic web for education: Exploring Wikidata as a learning platform’2  explores the application of the semantic web in academic pursuits. 

In short, if one could accurately describe educational content (which may reside in an open educational repository), then authoring tools, Learning Management Systems, adaptive systems, etc. could discover and propose the content to a student who is struggling to achieve an objective.

The key is in an accurate and meaningful description so that its appropriateness can be evaluated for a given student and a given objective.

In the past, we haven’t done well with descriptions, ontologies, taxonomies, metadata and the like.  (By we, I mean the teaching profession.)  Even the concept of the re-usable learning object (RLO) fell to criticism.  A learning object was described by IEEE Learning Object Metadata specification.  The LOM standard defined the attributes required to describe learning content. Unfortunately, learning objects were created without adequate descriptions (after all, what was the point?) and their reusability was called into question.  In general, it’s possible that content authors don’t have the knowledge or the means to properly describe their content in a way that is meaningful to authoring, tutoring or adaptive systems.

The game-changer will probably be machine learning.  Blogs have been filled with examples of how artificial intelligence has supported content generation.  Another important use of AI will be to scan and describe open learning content.

For fun, I asked ChatGPT to parse some educational content on an electrical circuit and then provide me with a description that followed both the Resource Description Framework and then IEEE Learning Object Metadata.   I then asked ChatGPT to come up with its own machine-readable schema that included keywords and reading level.   The simple schema (markup in XML) is shown in the appendix.

The future Teaching Machine may be the semantic World Wide Web

Conclusion:

In my view, to personalize learning, the future Teaching Machine needs to tap into the World Wide Web as a resource to shore up prerequisite knowledge needed to achieve an educational objective.  The systems can’t be proprietary.  They must be open and available to a variety of platforms through an application programming interface (API).  The platforms include authoring systems like LodeStar eLearning authoring system, Captivate, and Storyline as well as learning experience platforms, adaptive learning systems, cognitive tutors and learning management systems. 

As importantly, the resources should remain in their repositories, but still report performance to a learning management system or learning experience platform.  That is now possible through standards like CMI5, but — as I’ve lamented in the past — few learning management systems support CMI5.

The teaching machine began with limited content printed on paper disks.  It progressed to include all of the affordances of the modern computer.  Its future promise might lie in open standards that connect learner needs to appropriate content scattered across the globe.

References

1Watters, A. (2021). Teaching machines the history of personalized learning. The MIT Press.

2 Evenstein Sigalov, S., Nachmias, R. Investigating the potential of the semantic web for education: Exploring Wikidata as a learning platform. Educ Inf Technol 28, 12565–12614 (2023). https://doi.org/10.1007/s10639-023-11664-1

Appendix

ChatGPT generated XML schema for a learning resource on electrical fundamentals.

<educational_resource>
    <title>Understanding Electrical Fundamentals: Voltage, Current, and Resistance</title>
    <keywords>
        <keyword>Voltage</keyword>
        <keyword>Current</keyword>
        <keyword>Resistance</keyword>
        <keyword>Electricity</keyword>
        <keyword>Electrical Power</keyword>
        <keyword>Ohm’s Law</keyword>
        <keyword>Circulatory System</keyword>
        <keyword>Electrical Concepts</keyword>
    </keywords>
    <reading_level>High School / Early College</reading_level>
    <content>
        Just as your heart produces the pressure to make blood circulate, a battery or generator produces the pressure or force to push electrons around a circuit. …..(the remaining content omitted for the sake of brevity)
    </content>
</educational_resource>

Designing with Animation

Animation can enrich the learning experience and, when used appropriately, improve learning outcomes.  New standards and new technology under the hood of the modern browser give learning experience designers a whole new set of tools and techniques to apply to their designs.  I’ll parse out the different types of animations and their uses, discuss the underlying technologies and present examples. 

To start, let’s reprise Richard Mayer, the author of Multimedia Learning. 

Mayer defines a concise narrated animation.  He explains that concise refers to a focus on the essential steps in the process. If the objective is related to understanding how a four-cycle engine works, then a concise animation would include only the details that related to the objective.  For example, I might include a simple animation of a piston traveling up and down a cylinder, compressing gas, power stroking from the combustion, exhausting the spent fuel and then refilling with fresh gas.

Wikimedia Commons ((CC BY-SA 3.0)

Concise in this example means that we focus on the crankshaft, the traveling piston, the ignition, the intake and the exhaust.  The learner is not distracted by anything not related to the objective

The image above is an animated GIF.  Most authoring tools can easily import an animated GIF. This technology, however, has its uses and its limitations.  It is difficult to use the animated GIF in a concise narrated animation because it is difficult synchronizing the 4 cycles with the narration.  If you understand four-cycle engines, the GIF makes sense.  If not, then narration will help learners understand each cycle of the process.  Fortunately, there are easy ways to sync animation with narration.  This brings us to the timeline animation.

Timeline Animation

The basic idea behind a timeline is that you control animation effects according to time.  In tools like Storyline, each row of the timeline represents a different screen element.  You can then apply entrance and exit animations to the screen element at specific times.

The timeline in our authoring tool, LodeStar, works differently.   LodeStar displays one timeline per graphical element.  Each row represents a different property such as left, top, opacity, rotation and scale.   With these five properties you can control the position of an element on the x and y axis at a specific time and you can control fade-in and fade-out, rotation and size.  These are the properties that designers typically want to animate.

In the screenshot below, you can see that I have two gears.  A left gear and a right gear.  When I select a gear or choose it from the lower right pull-down menu, I get its corresponding timeline.

As you can see on the timeline, each row represents a different property.

LodeStar Animation Editor with SVG graphic

To understand the positioning properties, we need to understand the difference between the SVG image and its sub-elements.  We also need to understand other types of images like PNGs, GIFs, and JPEGs.  These are called bitmapped or raster graphics because that is precisely what the graphic is:  a map of binary digit (bit) values for every colored pixel.  The rules for positioning bitmapped graphics and SVG elements differ.

To understand this, let’s first tackle the SVG graphic.

SVG

SVG stands for Scalable Vector Graphics. It is a vector image format that can be scaled up or down without losing any image quality. This is different from the bitmap or raster graphics which are made up of pixels and can become pixelated or blurry when they are resized.

SVG graphics are great for logos, icons, and other types of graphics that need to be scalable and look crisp at any size. They can also be easily edited with text editors or graphic design software, and they support interactivity and animation through script.

We can think of an SVG graphic in two ways: as a whole image or as a collection of elements.  Examine the SVG image of an old Buick below.  The automobile can be animated from left to right, for example, like any bitmapped graphic.

SVG Graphic on a LodeStar page

We can do that with a timeline:

Timeline applied to graphic

The timeline shows a duration of 5 seconds.  At 0 seconds the car’s left property is 1.  That means 1% of the width of the window.  At 5 seconds, the left value is 100%.  This means that the left edge of the graphic will be at the right edge of the window – in other words the car rolls off the screen.

This animation would be less than satisfactory because the tires don’t rotate.  So, if we only animated the entire graphic we’d get an inferior result.

That now brings us to SVG elements.  Loosely described, these are the sub elements of the SVG graphic.  They consist of polygons, lines, rectangles, ellipses, paths, layers, groups, and more. In the screenshot below of LodeStar’s SVG editor, we see that the rear tire is selected.  It has a cryptic id, which we can change to an easier name.  Whatever the name, this element is both programmatically addressable (meaning we can change it with a simple script) and it is separately animate-able.  For example, we can rotate the tire.  Now we can move the whole graphic from left to right and rotate two of its sub-elements to improve the animation. (You will see this in an animation sampler introduced in the conclusion.)

SVG graphic with element selected

Bitmapped Graphics

Bitmapped graphics, also known as raster graphics, are digital images made up of tiny colored squares called pixels. Each pixel represents a small portion of the image and can be assigned a specific color value. Generally, only programs like Photoshop allow us to manipulate bitmapped graphics at the pixel level.  Examples of bitmapped graphics are PNGS, JPEGs, and GIFs.

With bitmapped graphics we can animate the entire graphic’s position, opacity, rotation and scale.  But we can’t take one of its subparts (a small sub-section of pixels) and independently animate that section.  At least, not without sophisticated code. Nevertheless, bitmapped graphics have their advantages. Any photorealistic image is best captured in a bitmapped graphic.

The animate-able properties

In LodeStar, the meaning of left and top differ between SVG graphics and bitmapped graphics.  To best explain this, we need to place images in three categories:  the entire SVG graphic, an SVG element (sub-element) and bitmapped graphics that are not inside an SVG graphic.

For SVG elements, left means a translation or change along the x axis.  1 means that the graphic has shifted 1 pixel to the right.  100 means that the graphic has shifted 100 pixels to the right.

For images (including JPEGS, PNGS, GIFS and the SVG graphic as a whole), left means the percentage of the window.  0 means that graphic is painted at the very left of the window.  50 means that the graphic is painted half-way across the window on the x axis.  The reason for the difference is that LodeStar projects maintain their responsiveness to different devices with different screen widths whenever possible.

Technically, when we reposition an image, we are removing it from its normal place in the HTML document.  When we assign a timeline to an image, we are removing it from the HTML flow and assigning it an absolute position. 

If you didn’t want to remove the image from the flow (its position in the document), then you can lock the image position in the image dialog.

An absolute position means a position relative to its parent.  If its parent is 1000 pixels wide, a left position of 10 places the image 100 pixels to the left of its parent’s left edge. If the image is positioned beyond its parent’s boundaries, it is hidden.

SVG elements are displayed inside a viewbox.  We transform the position, scale and rotation of these elements without removing them from the flow. They are painted or shown inside the viewbox.  If we shift the position beyond the boundaries of the viewbox, the element is clipped or hidden.

For SVG elements it is important, when adding a left, top or rotate keyframe to also add a keyframe at the same time offset for the other two properties. SVG transformations (change of position and rotation) are defined by all three properties.

Controlling animations with script

LodeStar animations can be controlled by the timeline, as we’ve seen in the example above.  They can also be controlled by script or by a combination of timeline and script.

Let’s return to the gears example. In this example there are two SVG elements inside an SVG graphic.  In the example, the SVG graphic is not animated at all.  However, its elements (the gears) are positioned and rotated.  One gear is rotated from 0 to 360, the other gear is rotated from 35 to -325.  This causes the gears to rotate in opposite directions at a slight offset from one another so that they mesh.

A separate timeline for each graphic or SVG element

In the example we also positioned a rectangle with rounded corners at the bottom of the viewbox.  We are treating this graphic as a button. We added a branch option to the rectangle, which converts it into a button that responds to clicks.

The branch option that we applied to the rectangle is called a ‘Select Branch Option’.  When clicked, the button executes the following script:

appendValue(“rate”, 1);
var rate= getValue(“rate”)
updateAnimation(“1681686408319”, “play”, “”, “”,10, rate);

In this script, we are adding 1 (appending) to a stored value named “rate”.  We then get that value from storage and assign it to a variable named ‘rate’.  ‘var’ means variable. 

In the third line we use the variable in a function called updateAnimation().  This function allows us to

  1. Identify a page by a page unique identifier called a UID.
  2. Set the state of the animation:  play, pause, or reverse
  3. Optionally we can set the current time in the animation.  By default it starts at 0 seconds. That is why we use “” in the function and don’t bother setting the current time.
  4. Optionally, we can also state the duration of the animation.  By default, the duration is set by the timeline.  We therefore use “” in the function.  We could shorten or lengthen the duration.
  5. We set the number of iterations or the number of times the animation repeats.
  6. Lastly we set the rate. A rate of 1 is standard. A rate of 2 is twice as fast. Every time we click on the button, the animation speeds up.  The gears turn faster.
Controlling animation with LodeStar Script

Animation synced with narration

In the next example, graphics are synced to different points in the narration with the use of the timeline.

Modern browsers now offer us fast and efficient animations and audio support with the ability to synchronize the two.  This is a significant development in the web platform.

In the example below, the author added a narration and a SVG graphic to the same LodeStar page.  In the SVG graphic, the piston, connecting rod, crankshaft, valve, etc. are all SVG elements.  As you can see in the screenshot, the crankshaft is selected and shows an ID of ‘crank2’.  This helps to identify the element in the animation editor.

Synching animation to narration

After the audio narration was imported and the SVG graphic created, the author launched the animation editor.  The play button now plays the audio narration and the animation.  The author can pause the narration and add keyframes to control the position of the piston, the position and rotation of the connecting rod and so forth.

The pivot point or anchor point of the connecting rod is changed with the following buttons TL, TR, C, BL, BR.  These buttons place the pivot point top-left, top-right, center, bottom-left, and bottom-right respectively.  Essentially, we are pinning down the center or a corner so that the rotation happens around this point.  Under the hood, we are really changing the transformation origin.  The transformation origin is the point around which a transformation such as a rotation is applied.

Listening to narration in Animation Editor and adding keyframes to control position, opacity, scale and rotation

Finally, once a timeline is created for an element it can be given a unique identifier and applied to any element with script. For example, if I rotated a rectangle with a timeline on one page, I could apply that animation to a triangle on another page — with the use of script. The script function is webAnimate. (See appendix A)

Conclusion

In the sampler linked below, we can see multiple uses of animation.  On page one, we see a simple decorative animation of an attitude indicator or artificial horizon used in airplanes.  You can easily imagine how this can be applied to a simulation.

One page two, we illustrate how an SVG graphic is moved from left to right while its elements (the tires) are rotated.

On page three is the gear example.  Click on the faster button repeatedly to see a demonstration of how we controlled speed programmatically by changing rate..

On page four we have a simple graphic with foreground and background synced to an audio file.

One page five, we can immerse the viewer in a scene with the use of parallax. Parallax is a visual effect where the background of a web page appears to stay still or move in the opposite direction of the foreground.

Finally, on page six we show a narration synced to an animation.  Pausing or replaying the narration causes the animation to pause or reset.  The narration and animation are synchronized.

(Best viewed in Chrome, Edge, and Safari)

Animation Sampler

https://lodestarlearning.github.io/Animations/index.htm

Author’s Note:

Animations were done in LodeStar 10 (Beta Build 5). Secondly the script for the 4-cycle engine explanation was generated by ChatGPT, and the narration was text-to-speech using Amazon Polly.

Appendix A

webanimate(elementid, timelineid, duration (optional), direction (optional), currentTime (optional), position (optional), callBack (optional))

animates the element’s css properties based on a timeline creating with the animation editor, where id is element ID (no hashtag), timelineid is the id of an existing timeline created in the editor, duration is the length of the animation in seconds, currentTime is where to start the animation in seconds, position is the css position property which is usually set to ‘absolute’ to support top and left movement, and callBack is the name of a page whose branch options will be called when animation finishes.

Top Influences on the Development of LodeStar 10

Introduction

Modern web pages offer designers a rich palette of media types and standards to create engaging learning experiences. The web page has become an amazing success story.  It started as a battle ground of competing standards and self-interests and has arguably matured to become a meeting ground. 

If you aren’t on the bleeding edge, you’ll benefit from the convergence of standards. In CanIUse.com, browser support for many enabling technologies such as SVG and WebGL (explained later) shows up as green tiles across the table of browsers.  Green means these technologies are commonly supported, which is good news because learning experience designers can put these technologies to work.

caniuse.com by Alexis Deveria, available under a Creative Commons Attribution 4.0 License

Many of today’s eLearning projects are essentially webpage applications with additional standards that support communication to learning management systems or learner record stores. Many of the technologies that make the web interactive, responsive, accessible, and expressive are the same technologies used in eLearning applications.  Most of the major eLearning authoring systems are web page design systems for web pages that are hosted in learning management or content management systems.  There are many exceptions, of course, which include augmented reality systems, gaming engines and environments, and other virtual spaces that are not built on HTML5.  But let’s stay focused, for a moment, on the web.

For maturing standards, the web has become a place of agreement.  In the not-too-distant past, basic HTML markup and styling had to address the many differences between browsers and how they interpreted the World Wide Web Consortium (W3C) standards.  Even a technology that most of us take for granted, the audio file, was once unsupported by a single file format that every browser could play.  Designers had to choose both an audio format and a fallback format. Thankfully that has changed.  All browsers can now legally play the .mp3 file or the HTML5 Ogg Vorbis audio format.

caniuse.com by Alexis Deveria, available under a Creative Commons Attribution 4.0 License

Soon the .m4a audio file (AAC) will be supported by all browsers and offer even higher quality audio at less the data cost.

caniuse.com by Alexis Deveria, available under a Creative Commons Attribution 4.0 License

But audio is only the beginning.  All modern browsers (IE 11 excluded) support GIF, animated GIF, JPEG, PNG images, animated PNG, and motion video in the MPEG-4/H.264 video format. 

All browsers support the language features of the last major revision to JavaScript.  JavaScript is the code that makes the web interactive.  It is the code that makes eLearning projects interactive.  Standardization allows all of us to benefit from the interactions that eLearning authoring tools produce with less worry about browser and device differences.  (I emphasize less worry because there is always something to worry about.)

Interactive 3D has become a new frontier for eLearning.  All major browsers support WebGL, which is a method of generating 3D graphics using JavaScript and hardware acceleration.  In the early 90’s, when I first created 3D worlds, I needed an entire lab of computers dedicated to rendering three-dimensional meshes into an animation of three-dimensional images that we would transfer onto a laser disc.  Today, WebGL enables us to render a mesh into a rotatable, scalable image in real-time, all in a browser.  If you’re not familiar with WebGL, please read on.

In short, Learning Experience designers, instructors and trainers can now use audio, video, imagery, text, three-dimensional graphics, scalable vector graphics, math mark-up, interactivity, and logic to realize their grandest designs and create engaging experiences for their learners.

On the eve of LodeStar 10’s release, I am taking stock of these standards and other influences that had a strong bearing on where our product is headed.  Like all toolmakers, I am keeping an eye on effective strategies as well as emerging and maturing technologies and am imagining the opportunities for designers as we work to make these technologies practical and accessible.

Here is a list of standards and strategies that are central to LodeStar’s current development.

Scalable Vector Graphics

A lot of our development has focused on Scalable Vector Graphics.  SVG offers the designer many benefits.  Simple graphics such as the famous SVG tiger pictured here keep their sharpness regardless of the display size and the resolution. They are scalable.  They also offer more opportunity for accessibility.  Scaling can help learners with low vision.  The SVG title is readable by most screen readers. Also importantly, the SVG graphic is made up of individual elements whose properties can be changed by program code or user interaction.

LodeStar displays SVG graphic

In the screenshot below, the tiger graphic is opened in an SVG editor in LodeStar.  The author has right-clicked on an eyeball and can now choose branch options based on selection, deselection, drag, hover over and hover out.  All of LodeStar’s branching options and script can be executed based on any of the above events.  For example, based on the click of an eye, things can happen: the eye color changes, an audio description plays, an overlay appears with a complete description of a tiger’s vision and so on.

With LodeStar, designers edit SVG graphics and add interactivity

Importing PowerPoint as SVG

We’ve never been huge fans of starting an eLearning Project as a PowerPoint.  That hasn’t changed, but LodeStar10 does support importing a single PowerPoint slide or an entire PowerPoint presentation as a series of SVG pages. 

PowerPoint supports exporting a slide or series of slides as SVG.

PowerPoint Presentation

LodeStar 10 adds support for importing a single SVG image or an entire folder of SVG images.  LodeStar interrogates each slide and looks for things like Base64-encoded images.  PowerPoint converts imported images to a long string of characters called Base64.  This is a great format for transporting images inside a single file but browsers tend to load and render Base64-encoded images very very slowly.  LodeStar detects the Base64 encoding and then translates the characters back into an image file that is loaded into the project. 

The result is that vector graphics are editable as SVG elements, and embedded images load and display quickly.  The designer can display the slide as is, edit elements and add branch options to elements.

Designer edits a PowerPoint slide in SVG editor

MathML

For a short while, all browsers supported the MathML markup language, enabling markup without the need for add-ons.

Rendered MathML in LodeStar HTML editor

But there have been setbacks. We’re looking forward to when MathML is once again available in all browsers. Given the likelihood of that, LodeStar continues to support MathML.

Support for MathML

MathML (Mathematical Markup Language) is supported by W3C as the preferred way of displaying mathematics on a web page or eLearning application. MathML describes structure and content of mathematical notation and provides for a higher level of accessibility than simply displaying an image.  Designers can quickly edit and manipulate the size of a MathML expression.  This is an improvement over taking a picture of an equation, for example, and pasting the image into a presentation.  In the past LodeStar automatically converted expressions into images or it used the MathJax library to convert expressions written in Latex to MathML.  But now we’re banking on full support for MathML in the near future.

SimpleSim

For years, LodeStar offered the Interviewer Page Type to support what we called decision-making scenarios and simple simulations.  We continue to offer that page type but have expanded the number of layout options for interactive decision-making. 

For starters, we added a new page type called the SimpleSim.  This page type supports graphics, interactive widgets, text and whatever else is needed to set the scene.  At center stage is the situational prompt and three decision options (as pictured below).   All of LodeStar’s branching options can be invoked based on the learner’s choice.   For example, the ‘Jump to Page’ branch option can bring up a scene that matches the choice and advances the narrative.   Branching options also allow us to add feedback, keep track of points, collect user responses and so forth.

To style the scene shown below, the author used a palette for the color scheme, added a header graphic through Tools>Themes, selected a layout style that set the window width and navigation at the top, and added a background graphic.   The use of palettes, themes, layouts and page types enables the author to control every aspect of this simple simulation, including the interactivity.

Look and feel is controlled by Layout, Theme, and Palette

CCAF

It’s no secret that we are huge fans of Dr. Michael Allen’s Context-Challenge-Activity-Feedback model.  In a project that was intended to improve employees’ social sales index (SSI) in LinkedIn, we set the context as a simulated LinkedIn.  For the challenge, the learner must improve the main character’s SSI score by providing the right advice and interacting with a simulated profile, notifications, messaging, etc. – just like LinkedIn!

LinkedIn Simulation

CCAF projects are not page turners or Present-and-Checks.  They can be quite advanced.  To support a more sophisticated interaction than the display of content and multiple-choice questions, LodeStar offers LodeStarScript, which can be written in the Execute Command branch option.

LodeStarScript enables designers to change the properties of graphics on the fly, including SVG graphics.  Properties can include color, position, image source, rotation, opacity, etc.  LodeStarScript offers the designer the power of conditional logic, loops, local and global scoped variables, and a long long list of functions.

In the simulation below, the learner can select a camera aperture and control exposure.  The effects of exposure are simulated with the simple change of the color and opacity properties of an SVG element.

Camera simulation with LodeStarScript

xAPI/CMI5

Megan Torrance, a veteran of learning design, authored a research paper sponsored by the Learning Guild.  I won’t steal her thunder and encourage you to read the paper for yourself, but I’ll cite two statistics from her research that tell the story of xAPI.

In a survey of 368 respondents, the majority of whom belong to organizations that create or purchase learning solutions, 44.9% of the respondents indicated that ‘We are interested in xAPI but have not used it at all.” 

Version 1.0 of xAPI was released way back in 2013, and yet 10 years later adoption is not widespread.

So what is xAPI, how does it relate to CMI5, and why are we so interested in it?  In short, xAPI and CMI5 are game changers.  They are not the same thing but they are close cousins.  An eLearning activity that uses CMI5 can generate an xAPI statement, which gets recorded in a Learner Record Store.  CMI5 can also tell the LMS whether the learner passed or failed. 

So, let me be a little more specific.

With these technologies, I can store my eLearning projects in my own repository — GitHub for example.  I can then import a very lean and simple file to the Learning Management System, which tells the LMS from where to launch the activity.  The LMS then passes to the activity learner information and a token for secure communication.

CMI5 uses xAPI technology but it also understands the vocabulary that LMSs require.  Pass/Fail.  Incomplete/Complete.  xAPI reports to a learner record store any statement that the designer has added to the eLearning activity.  ‘Learner has reached Level Two.  Learner completed a video.  Learner attempted Level Three four times.’  CMI5 can generate any kind of xAPI statement in the form of learner actions.  In addition, CMI5 can tell the LMS whether the learner passed and/or completed the module.

 But among the reasons why people don’t yet use it are:  lack of knowledge, lack of Learner Record Store, and LMS does not support it.

I am extremely fortunate in that our Learning Management System is Prolaera.  It is designed for the CPA industry.  Prolaera can import a CMI5 activity.  As a result, I can do the following:

  1. Send a statement about the learner reaching Level 5 to the learner record store.
xAPI statement

2.

Read a list of learner experiences from the Learning Management System’s Learner Record Store. (the learner’s name has been erased from the screenshot).

Learner Record Store

From the screenshot above, you can see that we can report on any learner experience.  For example, the learner first experienced the results page with a score of 200 points.  We can also see that the learner passed, satisfied the requirements, completed the module and terminated the activity.  These are all terms that the Learning Management System understands.

It may take time but CMI5/xAPI will eventually be widely adopted.  These standards are incredibly important to the advancement of eLearning.  It begins with awareness. The more designers learn about it, the more they can encourage their learning management system vendors to support it.  In the meantime, we are ready for it!

3D

Glen Fox’s Littlest Tokyo is a great example of what is possible with Three Dimensional objects viewed jn a browser.  The object is beautifully detailed with a running streetcar animation as an integral part of the 3D object.

Littlest Toyko, by Glen Fox

Designers will be able to use free tools like Blender, TinkerCAD, Sketchup or even their smartphones to produce 3D meshes.  

Smartphones like iPhone 12 come equipped with LIDAR.  LIDAR emits a laser pulse that reflects off of solid surfaces and returns to a sensor on the smartphone.  The round-trip duration is noted. From that, the software can accurately position the solid surface in three-dimensional space. LIDAR has been available in specialty instruments for a long time but for designers to be able to use this technology practically, the software needed to improve.

In whatever way the 3D model gets created (3D graphics software, downloaded from a warehouse, generated by LIDAR) it can then be loaded into a viewer and manipulated (scaled, rotated, navigated) by the learner.  Imagine vital organs or historical places or complicated machines as manipulable objects. 

Currently, we’re working on a loader and viewer for 3D Models.  The first LodeStar 10 release won’t include a 3D model viewer, but we’ll introduce it later in a minor release.

In the meantime, we do support photospheres.  Photospheres use the same underlying technology: WebGL. WebGL enables hardware-accelerated physics and image processing and rendering onto the HTML5 canvas.  The hardware is a dedicated processor called the Graphical Processing Unit or GPU.

The photosphere that appears in the screenshot shows a distorted view of an art gallery.  The first art gallery image (shown below) was produced in Blender.  The second art gallery image was taken with an iPhone at the Minnesota Marine Art Museum in Winona.

Photosphere created in Blender
Photosphere created in iPhone

The image appears distorted – in fact, spherical.

Once in LodeStar, the designer can add images, markers, and hotspots to the photosphere.  All of these things get correctly positioned on the sphere.

In the LodeStar editor below, I am adding Lawren Harris’ paintings to the gallery as well as hotspots.  A hotspot click takes the learner to another room in the gallery.  A click on the painting brings up an image overlay.  A click on the video graphic starts a video. 

LodeStar editor adds interactivity to Photosphere

The end result:

Interactive Art Gallery on the Group of Seven

Conclusion

2023 marks the twentieth anniversary of LodeStar Learning.  We filed with the Minnesota Secretary of State on March 11, 2003.  I’m pleased that LodeStar has adapted to all of the technology changes over the years.  LodeStar began as code embedded in Lotus’ LearningSpace.  It then enabled instructors to create rich learning activities in ActionScript and Flash.  In 2013, LodeStar Learning pivoted to a whole new generation of software that used HTML5.  LodeStar10 continues that progression and harnesses the power of HTML5, SVG, 3D and so much more to help designers create great learning experiences.

Learning Experiences in the 3rd Dimension.

 

Introduction

Great learning experiences can be crafted from 3D technology. The simplest form of 3D technology is the photosphere. It is accessible to teachers and trainers and can be used quite effectively. In this article, I’ll show off a demonstration project and describe the use of 3D models, a photosphere, text and graphics, video, and audio.

Two years ago, I wrote about using photospheres in online courses. Today, ‘interactive’ photospheres are a critical strategy that designers of every stripe should master. Currently, the use of photospheres is supported by the proliferation of 3D models, photosphere projects, new services, improved technology, and new features in our own authoring software.

So, let me parse this mix media approach. To start, a photosphere is a 360-degree panoramic image that can be displayed in a viewer. Learners can ‘navigate’ the image by dragging the view in any direction and zooming in and out.  Google Street View is the best-known example, but photospheres abound in art museums, tourist bureaus, real estate sites, and social media.

The photosphere is deceptively simple and hides a more profound change in the web.  As we all know, browsers support the trinity:  HTML, JavaScript, and CSS.  All three technologies have been evolving.  Recently, JavaScript began supporting a variety of new technologies, including WebGL.  WebGL makes 3D rendering possible in a browser without the need for plug-ins.  In short, WebGL (Web Graphics Library) displays 3D and 2D. Because of WebGL, browsers can benefit from hardware graphics acceleration to display (render) complicated graphics.  The key is hardware acceleration. The processing of graphics in a dedicated graphics process unit is many times faster than in the main CPU. 

The photosphere uses WebGL or hardware acceleration.   To display a photosphere, a distorted image is mapped on the inside of a 3D sphere.  Our perspective is from the center of the sphere with a narrow field of view.  By dragging the image, we pan the sphere and bring hidden parts of the image into view.

With the help of LodeStar, an eLearning authoring tool, we can add interactivity.

To best illustrate interactive photospheres, I created this demonstration project based on one of my loves, the Group of Seven.

A little background:  I went to school in Canada. Until the thirteenth grade, the study of history was the study of British, American, and Russian history.  The study of literature was primarily European and British literature. The study of art was primarily of British and French art.  In grade 13, that all changed.  We studied Canadian history, literature, and art.  For me, that was transforming.  Central to Canadian art was the Group of Seven.  Their subject was primarily the Canadian landscape. Until recently, I could find Group of Seven paintings only in the McMichael Canadian Art Collection in Kleinberg, Ontario. So, I decided to create a gallery of my own.  Just a small one for demo purposes, featuring two of the artists associated with the Group of Seven.

Visit this link and if your curiosity is piqued, I will share the details of how I made this learning experience. Launch the demo and on the second page drag your mouse across the scene.

Art Gallery (lodestarlearning.github.io)

Virtual Group of Seven Gallery Demonstration Project

The details

First, I needed a model of an art gallery. I went to TurboSquid and bought one for $19.  I could have found a photosphere from Flickr or elsewhere, but I wanted control of the objects in my gallery.  I could have built a 3D model from the ground up – but wanted a short cut.

The model came in the form of a DAE, which is a 3D interchange format.  The DAE format is based on the COLLADA (COLLAborative Design Activity) XML schema.  (This is a standard format that can describe 3D objects, effects, physics, animation, and other properties. All the major 3D modeling tools can import it.)   I then brought the model into Blender.             

Blender is a free 3D modeling tool and it is quite incredible.           

3D Model in Blender

In Blender, I edited the model and added my own camera.  To render a photosphere, I made the camera panoramic and then equirectangular. Equirectangular is a projection type used for mapping spheres onto a two-dimensional plane. This results in a very distorted image when viewed normally.  Viewed in a photosphere viewer, the image looks spectacular.

Next, I imported the image into LodeStar. With the help of the LodeStar’s interactive image editor, I drew hotspots over the doors and imported images of paintings that I positioned in the art gallery. Technically, the images become image overlays. As the viewer moves the image up and down and across, the imported images adjust accordingly by scaling, skewing, and repositioning.

Interactive Image Editor in LodeStar

In the scene above, the imported images appear above the benches.  A hotspot sits over the doorway.  When a learner clicks on the doorway, LodeStar executes a branching option.  In this case, that means a jump to the next gallery.

In the example, two gallery rooms are featured. The first gallery exhibits two paintings of Lawren Harris.  The video icon displays a YouTube presentation on Harris’ work. The second gallery exhibits two paintings of Emily Carr, and a wonderful YouTube presentation on her work.

Conclusion


Photospheres are but one part of 3D technology.  Browser support for WebGL makes it possible for us to use 3D models interactively. Students can view 3D models from any perspective and manipulate them. The possibilities are endless. LodeStar and other tool makers must make it easier to load these models and make them useful for educational and training purposes.  Just as we support functions that can change an image or element’s rotation, position, opacity, and color, we must provide functions that can manipulate 3D objects.

We are currently working on some prototypes and would love to hear from you and what would most benefit students. Please send us your comments.

Meeting the CCAF Challenge

By Robert “Bob” Bilyk

Introduction

I recently watched Ethan Edwards present ‘Cracking the e-Learning Authoring Challenge’.  This post is my attempt at cracking the e-Learning authoring challenge.

But first a little background.

As many of you have the privilege of knowing, Ethan Edwards is the Chief Instructional Strategist for Allen Interactions.  Cracking the challenge is all about building interactivity in an authoring tool – specifically, CCAF interactivity.  CCAF is an acronym for Context-Challenge-Action-Feedback.  The four components of CCAF are part of Michael Allen’s CCAF Design Model for effective learning experiences.  Michael Allen is the founder of Allen Interactions, the author of numerous books on eLearning, and the chief architect of Authorware and ZebraZapps.  Both authoring systems were designed for people with little technical expertise to be able to build – you guessed it — CCAF learning experiences.

In Ethan’s presentation, he demonstrates building a CCAF activity with Articulate Storyline.  In a nutshell, the CCAF learning experience is the experience of “doing”.  Rather than reading or viewing content, the learner experiences first-hand the application of principles, concepts, strategies, and problem-solving in completing a task and succeeding at a challenge.

In Ethan’s demo, his task is to detect a refrigerant leak.  The learner is shown refrigeration equipment and given a leak detector.  The learner doesn’t at first read a pdf or watch a video but performs an action.  In CCAF activities, text and videos might come in the form of feedback to a learner’s action.

Some of the CCAF learning experiences that I designed include running a multiple hearth wastewater incinerator, troubleshooting a cable network, supporting the adoption of a special needs child, designing an online class, assessing risk of recidivism, and, most recently, searching for documents in a document management system.  In all cases, most of the learning came from being immersed in a ‘real world’ setting’, presented with a challenge, and getting feedback because of learner actions. 

Ethan’s presentation piqued my curiosity and a bit of self-reflection.  He lists things that are essential in an authoring tool to enable the design of a CCAF learning experience.  As a toolmaker, I explored each of the items on his list and I applied them to a small project built with our own LodeStar eLearning authoring tool. 

As we explore each item on Ethan’s list, I’ll illustrate with LodeStar.  If you follow along, you’ll see the development of a simple CCAF application.  You’ll learn about the components of CCAF.  And you’ll also learn a little about LodeStar and its capabilities.

But first an important caveat. CCAF comes in all forms, shapes and sizes. Ethan’s example and my example happen to be very simple simulations. The principles of CCAF are not limited to simulations. They can be applied to anything that requires action on the part of the learner — which includes making a decision, crafting a plan, analyzing and solving a problem — a host of things.

This is but one example of CCAF to illustrate its principles and test whether or not our authoring tool is up to the challenge.

Introduction to the Demo Application

The objective of the application is for learners to test an electrical outlet and determine which wires are hot or ‘energized’.  In completing this task, the learner must turn on an electrical multimeter and connect its probes to the various wires in an electrical outlet.  A multimeter is a measuring instrument that typically measures voltage, resistance, and current.  Once someone has learned the difference between these things, the practical skill is in choosing the right setting for the task and safely using the meter to complete the task. 

So that’s the challenge:  find the hot wire with a multimeter.  The context is a simple residential electrical outlet. 

Typical eLearning applications would use text, graphics and video to illustrate the use of the multimeter and explain underlying concepts.  CCAF applications challenge learners to complete the task in a manner that is an educational approximation of the ‘real thing’.  Text, graphics and video can offer explanations but not in lieu of the real-world task and often as a form of feedback. 

A LodeStar Application: Testing an Electrical Circuit

Basic Capabilities

But let’s start with an overview of the basic requirements.  To paraphrase Ethan, an authoring tool must have these capabilities:

  • Complete visual freedom
  • Variables
  • Alternative branching
  • Conditional logic
  • Action/response structures

I’ll elaborate on each of these requirements in my demonstration. 

Complete Visual Freedom

LodeStar combines HTML flow layout and SVG layout.  Images imported into the HTML editor are placed in the HTML flow and are laid out according to the rules of HTML.  Images can also be taken out of the flow and applied with a CSS rule so that text flows around the image.

In addition, LodeStar authors can use the Scalable Vector Graphics (SVG) canvas to layout out graphics freely in any position on the x and y axis. 

LodeStar’s SVG Canvas

In other words, the graphical elements on the SVG canvas are laid out freely.  The SVG canvas itself is just another HTML element.  Depicted below is a flow of HTML elements like text, images, divs, tables, etc.  The SVG canvas is in the ‘flow’ right along with them. Inside the canvas, graphical elements can be positioned anywhere, but the canvas itself follows the HTML document flow. shrinking and expanding as needed.

The visual freedom is that LodeStar combines the benefits of a responsive HTML flow with the precise positioning of an SVG canvas.

HTML elements are laid out on the page in a flow. If the page width narrows, the element isn’t by default clipped. It’s just bumped to the next line. The SVG canvas flows right along with the other elements. Its contents, however, are positioned with local XY coordinates.

I started with a multimeter image that I took from Pexels.com, a repository of free stock photos.  I used Photoshop to cut out the dial and imported it in the SVG canvas as a separate image.  I did this because I wanted the learner to be able to rotate the switch to place the multimeter in the right mode.  I also imported the image of an electrical box so that I could draw wires overtop.

Variables

 As I wrote in the Humble Variable (The Humble Variable | LodeStar Web Journal (wordpress.com)), variables are critical to some eLearning designs.  In this example, I need to store the position of the multimeter switch.  That’s what variables do.  They are storage places in the computer memory.  As the learner clicks on the switch, the dial rotates.  As an author, I must store the value of that rotation.  If the value of the rotation is 40 degrees, the code judges the switch to be in the right position.

To enter the code that uses the variable, I right-click on the switch and select, ‘Select Branch Options’.  Branch Options are basically things that happen as a result of displaying a page or clicking on a button or choosing a multiple-choice option or doing one of many things.

Branch Options can be as simple as turning a page or as complex as executing a whole list of instructions. The following is a basic example of the latter:

The Multimeter code

var rotation = getValue(“dialRotation”);

rotation+= 10;

setValue(“dialRotation”, rotation);

changeRotation(“dial”,rotation ,13,27);

if(rotation % 360 == 40){

changeOpacity(“display”, 1);

appendValue(“actions”, “Turned on multimeter. <br>”);

}

else{

changeOpacity(“display”, 0);

}

This code looks complicated to a non-programmer.  But it is not.  It just takes practice to write.  It’s on the same difficulty level as an Excel formula.

Here is the same code but with an explanation (in italics) underneath:

var rotation = getValue(“dialRotation”);

get the value of dialRotation from long-term memory and assign it to a local or temporary variable named ‘rotation’

rotation+= 10;

add 10 degrees to value of rotation.  In other words, rotation = the old value of rotation plus 10.

setValue(“dialRotation”, rotation);

store the new value in long-term memory in a location called ‘dialRotation’

changeRotation(“dial”,rotation ,13,27);

change the property of a graphic with the ID of ‘dial’.  All LodeStar graphics can be assigned an ‘ID’.

More specifically, change the rotation property by 10 degrees (the value of rotation).  Pivot the rotation at the precise point that equals 13% of the width of the SVG canvas and 27% of the height of the canvas.  That point is the center of the dial in its current position on the canvas.  If the dial were in the dead center of the canvas we would use 50, 50.

if(rotation % 360 == 40){

This line can be simplified to if(rotation == 40)   I used the modulo operator (that is, ‘%’) in case the learner kept rotating the dial around and around.  If rotation = 400, then 400 % 360 would equal 40.  360 divides into 400 once with a remainder of 40.  So, if rotation is equal to 40, then do the following:

changeOpacity(“display”, 1);


change the opacity of a graphic with the id of ‘display’  This is the text box used to show the voltage.

appendValue(“actions”, “Turned on multimeter. <br>”);

store the learner’s actions in long-term memory in a place called ‘actions’

}

else{

changeOpacity(“display”, 0);

if the rotation of the dial does not equal 40, then shut off the display by changing its opacity to 0.

}

The Probe Code

I won’t explain the probe code in as much detail.  Basically, when you drag the red or black probe, then the following code is executed.  It essentially checks whether or not the probes are in the right spot.  If they are, the multimeter display shows 110 volts.

var  condition1 = isOverlap(“RedProbeTip”, “BlackWireBTarget”);

var  condition2 = isOverlap(“BlackProbeTip”, “box”);

if(condition1 == true && condition2 == true){

  changeText(“display”, “110.0”);

appendValue(“actions”, “Moved red probe to correct position. Black probe in correct position.<br>”);

}

else if(condition1 == true){

changeText(“display”, “0”);

appendValue(“actions”, “Moved red probe to correct position.<br>”);

}

else{

changeText(“display”, “0”);

appendValue(“actions”, “Moved red  probe to incorrect position.<br>”);

}

These are the drag branch options that are tied to an object with a specific ID. 

Red probe in place; black probe is not. Therefore the meter shows ‘0’.
Red probe in place. Black probe in place. Meter shows 110 volts.

Alternative branching

Once the learner has tested the wires with the probes, with one probe connected to the wire and the other grounded, then the learner must select A, B, C, or D.  Here’s where alternative branching comes in.  Learners who select the right answer might go on to a more difficult scenario.  The above scenario is as easy as it gets.  Perhaps they must do a continuity test to detect where there is a break in the circuit.  Learners who select the wrong answer can be branched to a simple circuit or given an explanation that one black wire is coming directly from the power source, and the second black wire is passing on that power to the next outlet or switch.

CCAF applications accommodate the differences in learners.  The application can alter the sequence of experiences based on learner performance.  This is a profoundly different thing than typical eLearning applications where every learner reads the same text, watches the same videos, and completes the same quiz.

Conditional Logic

Ethan also lists conditional logic as a basic requirement of CCAF applications.  Conditional logic comes in the form of if-else statements as evidenced by the code.  Conditional logic also comes in the form of alternative branching.  Select the wrong answer and then get help.  In LodeStar, conditional logic is supported by not only its language and branch options but also by logic gates. 

In the display below, we see what happens when the learner reaches a gate.  (Incidentally, learners don’t actually see a gate.  When they page forward, the application checks the gate’s logic and then branches them according to some condition.  In this example, the author might configure the Gate with a pass threshold.  Let’s say 80%.  If the learner meets or exceeds a score of 80%, they are branched to the ‘Results’ page’.  If not, they may be routed to Circuit Basics. Follow the dotted lines.

Branches at the ‘page’ level are visualized in the Branch View.

Action/response structures

In our example, the learner moves the probes around.  If the multimeter is turned on, the learner sees a voltage display.  The action is moving the probe. The response is a voltage display. 

First, this a ‘real world’ action and ‘real world’ response.  I write ‘real-world’ in contrast to what happens in a typical multiple-choice question.  In a multiple-choice question, the learner clicks on a radio button and possibly sees a checkmark.  That’s only ‘real-world’ to an educational institution.  The world doesn’t present itself as set of multiple-choice questions. 

Second, when the learner sees a voltage display, that is feedback in the CCAF sense of the word.  The learner does something and then gets feedback.   Now, in our example, we did choose to combine ‘real-world’ feedback with a multiple-choice question.  Ultimately, the learner is asked to choose the letter next to the ‘hot’ wire.  In our example, we logged the learner’s actions and can unravel how they arrived at their final decision.  Did they connect the red probe to the right wire and did they ground the black probe?  If they selected the right answer but didn’t perform the correct actions that would lead to the right answer, we know they haven’t learned anything at all.

Conclusion

Authoring tools that enable one to create CCAF must have these capabilities: complete visual freedom, variable support, alternative branching, conditional logic, and action/response structures.

The hot wire example is an example of a very simple simulation.  But, as I wrote, the concept of CCAF isn’t restricted to this type of simulation.  CCAF can be found in decision making scenarios, for example. The learner might be placed in a situation and challenged to make the right decision or say the right thing.  That too is CCAF.  CCAF lies at the heart of effective learning experiences.

CMI5: A Call to Action

Introduction

Since 2000 a lot has changed. Think airport security, smart phones, digital television, and social media. In 2000, the Advanced Distributed Learning (ADL) Initiative gathered a set of eLearning specifications and organized them under the name of SCORM. In 2021, in a time of tremendous technological change, SCORM still remains the standard for how we describe, package, and report on eLearning.

However, finally, we are on the eve of adopting something new and something better: CMI5.

We no longer have landlines, but we still have SCORM

CMI5 Examples

To many, CMI5 is another meaningless acronym. To understand the power and benefit of CMI5, consider these very simple examples:


A Learning and Development specialist creates a learning activity that offers managers several samples of readings and videos from leadership experts. The activity allows the managers the freedom to pick and choose what they read or view; however, the specialist wants to know what they choose to read or watch as well as how they fare on a culminating assessment.

CMI5 enables the activity to capture both the learner experience (for example, the learner read an excerpt from Brené Brown’s Daring to Lead ) and the test score. CMI5 can generate a statement on virtually any kind of learner experience as well as the traditional data elements such as score, time on task, quiz questions and student answers. In this sense, CMI5 supports both openness and structure.

Let’s consider another example:

An instructor authors a learning activity that virtually guides students to places in Canada to observe the effects of climate change. She wants students to answer questions, post reflections and observe the effects of climate change on glaciers, Arctic ice, sea levels and permafrost. She sets a passing threshold for each activity. Once students have completed all of the units, then the learning management system registers that the course was mastered.

Let’s go further:

The instructor wants the learning activity to reside in a learning object repository or website outside of the learning management system – but still report to the learning management system. In fact, she wishes that no content reside on the learning management system. Regardless of where the content resides, she wants to know what sites students visited, how they scored on short quizzes, and how students reacted to the severe impact of climate change on Canada.

For students with disabilities, the instructor makes an accommodation and requests that the LMS administrator adjust the mastery score without editing the activity.

As the course becomes more and more popular, she anticipates placing the website and its activity onto CloudFlare or some content distribution network so that students all around the world can gain faster access to the learning activities.

The instructor works as adjunct for multiple universities and wants each of their learning management systems to get the content from a single location. In some cases, she wants the content locked for anyone who circumvents the Learning Management System and in other cases she openly lists the unlocked content with OER libraries like Merlot and OER Commons.


Before CMI5 much of this was difficult to achieve, if not impossible. So, let’s review what CMI5 offers us.


CMI5 captures scores in the traditional sense. But it also records data on learning experiences such as students virtually observing the change in the permafrost. CMI5 allows instructors and trainers to set the move-on criteria for each unit in a course (i.e. passing score before student moving on to the next unit).

CMI5 activities can reside anywhere – on one’s own website, for example, and still report to the learning management system. CMI5 enables an LMS administrator to change the mastery score from the LMS for the benefit of students who need accommodations and essentially trump what is set in the unit.

LodeStar’s CMI5 Implementation allows
authors to indicate where the content resides


CMI5 is a game changer. And yet for many – learning and development leaders, instructional designers, technologists and students – it doesn’t seem that way in 2021. CMI5 seems like a non-event. It feels like something we all talked about – a welcome change of weather on the horizon –and then nothing. Not a drop of rain.


We have been talking about and anticipating CMI5 for a long time – and yet, major learning management systems both in the corporate and academic worlds still don’t support it. CMI5 was envisioned in 2010, released to developers in 2015, and then released to the public in its first edition in 2016. We are now in the waning days of 2021—with limited adoption.


But that is likely to change.


For one, Rustici Software and ADL delivered on their promise of Catapult. Catapult is likely to accelerate adoption of CMI5. It provides many benefits to developers, including the ability to test if a CMI5 package conforms to the standard.

In my view, the learning technology architects have done their part. They brought us a meaningful set of specifications. They brought us the tools to test learning packages and to test the learning management system’s implementation of CMI5. Now’s it’s up to learning and development specialists and the instructional design community to cheer CMI5 on. It is my belief that once the community understands CMI5, spreads the word, and imposes its collective will on the LMS providers, CMI5 will become an important part of our tool bag. I urge you to share this article and others like it.


In the meantime, let’s take a deeper dive into CMI5’s potential.


Benefit One: Freedom to capture and report on any learner experience.


With CMI you can report on scores, completion status, and just about anything else. You can report on standard assessment results, and the not-so-standard learning experiences.


To understand this, we need to re-look at SCORM.


One should consider CMI5 as a replacement for SCORM – an improved specification. Conforming to SCORM was useful because a learning object or learning activity could be imported into just about any modern learning management system. As an instructor, if you created a game, quiz, presentation, simulation, whatever and exported it as a SCORM package, your activity could be imported into Moodle, BrightSpace, Canvas, Cornerstone, Blackboard, and any learning management system that supported SCORM. So, the benefit of SCORM was that it was a set of standards that most LMS systems understood. The standards that fell under the SCORM umbrella included metadata, a reporting data model, and standard methods for initializing an activity, reporting scores, reporting on interactions, and reporting passing or failing and completion status.

The data model included dozens of elements. One example of a data element is cmi.core.score.min. Related to score, SCORM conformant activities reported on the minimum score, the maximum score, the raw score (absolute number) and the scaled score ( a percentage between 0 and 1).


SCORM supported a lot of different data elements. A SCORM conformant activity could report on a variety of things. The limitation of SCORM, however, was that, despite the large number of elements, it was still a finite list. Take a Geolocation Storytelling activity as an example or an eBook reading. If I wanted to capture and report that the student virtually or physically visited location A, then B, and then C, I would have to work around the limitations of SCORM. I could not generate a statement such as, for example, ‘Student visited the Amphitheater in Arles’. If I wanted to capture a student’s progress through an eBook, SCORM would be problematic.


At this point, you might be protesting, but xAPI does that! xAPI? Another acronym! Yes. xAPI, or The Experience API is a new specification that makes it possible to report on a limitless range of things that a learner has experienced: such as, completed a chapter of an eBook; watched a video; toured a museum, and on and on. So, if we have this thing called xAPI, why CMI5?


The benefit of xAPI is that it supports the reporting of anything. The downside to xAPI is that, by itself, it doesn’t have a vocabulary that the LMS understands such as launched, initialized, scored, passed, completed. That is what CMI5 offers. CMI5 is, in fact, an xAPI profile that includes a vocabulary that the LMS understands. In addition, CMI5 can report on any type of learner experience. Here is the definition of CMI5 from the Advanced Distributed Learning Initiative:


cmi5 is a profile for using the xAPI specification with traditional learning management (LMS) systems

(Advanced Distributed Learning).


With CMI5, you can have your cake and eat it too. You can report on learner activity in a way that LMS understands and you can report on just about anything else that the Learning Management System stores in a Learner Record Store. The Learner Record Store or LRS is a database populated by statements about what the learner experienced.

xAPI Statements can capture an
any learner experience, including reading the instructions


Benefit Two: Freedom to put the learning activity anywhere


With CMI5, you can place a learning activity in a repository, in GitHub, on a web server, in a Site44 drop box site, in SharePoint, in a distributed network, wherever….without restricting its ability to connect with a learning management system. CMI5 content does not need to be imported. A CMI5 package can contain as little as one XML file, which among other things, tells the LMS where to find the content.


To appreciate this, we need to look back at SCORM once more (as if it were ancient history).


I’ll start with a pseudo technical explanation and then follow with why it matters.
The way SCORM works is that the learning activity sits in a window. The learning activity uses a simple looping algorithm to find the Learning Management System’s SCORM Adapter. It checks its parent window for a special object. If the window’s parent doesn’t contain the object, the activity looks to the parent’s parent, and so on. In other words, somewhere in that chain of parents, there must be that special object. Typically, the SCORM activity can only communicate to the learning management system if it is a child window of that system or if some server-side technology is used.

CMI5 works quite differently. CMI5 gives us freedom to leave our parents’ home. Whereas SCORM uses a Javascript Application Programmer Interface to communicate, CMI5 uses xAPI to reach across the internet and call a web service’s methods. Loosely, it’s like the difference between a landline and a cellular phone service. To use the landline you must be in the house; to use a cell phone, you must be in the network.

Benefit Three: A simplified sequencing model.

SCORM supported simple sequencing, which many say is not so simple. CMI5’s ‘move on’ property, in contrast, is very easy. A CMI course can contain one or more Assignable Units (AUs). The instructor spells out what the learner must achieve in an assignable unit before being able to move on. The move on property has one of the following values:


• Passed
• Completed
• Completed Or Passed
• Completed And Passed
• Not Applicable


Once the student has ‘moved on’ through all of the assignable units, the LMS notes that the course has been satisfied by that student.


Benefit Four: An assignable unit passing score can be overridden


In SCORM, the mastery score is hard-coded in the activity. In a SCORM activity, the instructor can base completion status on a passing score. But what if that hard-coded score were inappropriate for a group of students, for whatever reason? The specification enables an LMS to pass the mastery score to the Assignable Unit upon launch. So the LMS launches the AU, and sends it student name and mastery score (among other things). By specification, the AU cannot ignore the mastery score but must use it to trump what is hard-coded in the unit or refuse to run.


Benefit Five: Theoretically, CMI5 isn’t hamstrung by pop-up blockers.

When an LMS launches a SCORM activity, it either embeds the activity in an Iframe or launches a window. Both scenarios are problematic. The content may not be well suited for an iFrame and a pop-up blocker can obstruct the launched window.


Theoretically, CMI5 AU can replace the LMS with its own content. It’s not in an embedded iFrame and it’s not a pop-up window. When the LMS launches the AU, along with student name and mastery score, the LMS sends the AU a return URL. When ended, the AU returns the student to that return URL, which is the address of the LMS.


I write “theoretical” because the LMS should not but may ignore this requirement.

Benefit Six: CMI5 activities securely communicate to the Learner Record Store


As I wrote, the activity can send information about learner experiences clear across the internet to the learner record store. But how does the AU have the authorization to do this from, let’s say, a web site? And how does it happen securely?


This is the marvel of 2021 technology versus 2000 technology. Before 2000, we had difficult-to-use protocols for passing information securely across the internet. Oftentimes, special rules needed to be added to internet routers. Then along came a simpler protocol that the first version of CMI5 used (SOAP). Then came an even better way (OAUTH and REST). After launch, the LMS hands the AU a security token (kind of like a key that dissolves in time). The AU uses that key to gain access and to post information to the Learner Record Store.

Conclusion

CMI5 returns power to the instructor and to the L&D specialist. CMI5 allows one to choose where the content resides and to choose what the content reports. CMI5 captures learner experiences more completely and yet it communicates with Learning Management Systems with a vocabulary that LMSs understand. CMI5 supports accommodations for a special group of students without needing to change the code of the Assignable Unit. Finally, CMI5 uses current technology to send data over the internet.

The implications of this emerging specification are tremendous. It is better suited to mobile learning and it is better suited to the learner experience platforms that are emerging (e.g. LinkedIn Learning’s Learning Hub). Soon instructors may be able to organize content from a variety of providers (like LinkedIn Learning, Khan Academy, or OER Commons) but retain the learning management system as an organizer of content, data collector, and credentialing agent. Now instructors, average instructors, may be able participate in that content market from their own GitHub repositories and web sites.

But many LMSs have yet to adopt CMI5. The architects have done their part. Now it’s on us to understand this technology and advocate for it. Start by sharing this article. Thank you.

Appendix A — How it Works (A simplified flow)

For those interested in a deeper dive, let’s walk through the CMI5 process flow step-by-step. (See diagram)

To begin, the author (instructor, L&D specialist) exports content as a CMI5 package. The package can be a simple file that instructs the LMS where to find the content or it can include the content itself.

(1) When a student needs the content, the Learning Management System (LMS) launches the content and sends the Assignable Unit (a course can contain one or more Assignable Units) (2) information that includes student name, a fetch URL and the activity ID.

(3) The Assignable Unit (AU) uses the fetch URL to retrieve a security token. The security token enables the AU to communicate securely to the Learner Record Store (LRS).

(4) As the student interacts with the content, the AU can optionally send Experience API (xAPI) statements to the LRS . (5) At some point, the AU reports that the student passed and/or completed the unit.

(6) The LMS uses the ‘move-on’ information to determine whether or not the student can move on to the next assignable unit. The move-on options are passed, completed, passed and completed, passed or completed, or not applicable.

Finally, when all of the assignable units within a course are completed, the course is marked as satisfied for the specific learner.

A simplified process flow that starts with the
launch of the CMI5 Assignable Unit by the LMS

Geolocation Storytelling Revisited

We’ve observed an uptick in interest in Geolocation Storytelling. We’ll revisit the subject for those who know little about this medium as well as those who either want to design a project on paper (i.e. Word) or who want to go all the way and use the LodeStar Authoring tool to complete a working project.

To reach all audiences at some level, this article starts from the general and ends with the specific. Hop on and off at any point.

Introduction

Every place hides its own unique, rich story. Have you visited an unfamiliar town or area and wondered about its history,  geography, and points of interest? Have you ever wanted to connect to a place on a level deeper than a quick drive-by?

A new form of storytelling—geolocation storytelling—combines technology and traditional storytelling to connect visitors at a deeper level.  With the help of an app, the place where you’ve entered or visited on a map suddenly comes alive with narrative and imagery.  You may hear about the past or be guided to an unusual rock formation or the vantage point of a famous painter.   Geolocation stories can work on-site, guiding you from point to point or they can help you discover a place from the comfort of your home.  Geolocation stories can be both informative and entertaining.  They can involve the visitor in discovering why a place got put on the map, or solving a challenge, or even solving a murder mystery.  In short, geolocation stories can be about anything that piques the visitor’s interest about a place.

The Inspiration

Places inspire people to learn more about them.

A group of history buffs, known as Lensflare Stillwater, were inspired by the many untold stories of Stillwater, a Minnesota river town.  Stillwater was a lumber town with connections to Minnesota and Wisconsin pine lands by river and connections to Saint Paul by stage road and later by rail. 

Stillwater inspired a number of geolocation stories. The first stories were guided  tours of Stillwater’s historical downtown.   A subsequent story helped cyclists learn about the rich history from the vantage point of a bicycle trail.  Even later, another story recovered the lost memory of Stillwater’s streetcars.   

Thousands of miles from Stillwater, a geolocation project told the story of Vincent Van Gogh’s year in Arles, France, and what went horribly wrong for him.   Its authors first visited Arles to learn more about Van Gogh but were disappointed in the local tour booklets, which didn’t sufficiently tell the story. 

If your town or place has points of interest, a rich history, or geographical features, you will want to consider creating a geolocation story to help others see the place from a new point of view.  Visitors can walk to the specific places of interest and hear audio, see imagery, read text, scroll through time lines and learn more about this special place.

How it works

Typically the visitor launches a geolocation story (a web-based application) from a web address on a smartphone. The first page of the story provides instructions and a starting point. When the visitor reaches that point, she crosses an invisible geofence. Geofence is a just a metaphor. Actually, the visitor’s location is calculated from the signals of three or more satellites . Most modern smartphones are equipped with the hardware to detect these signals. Global positioning satellites constantly emit signals. The GPS receiver in the visitor’s phone listens for these signals. Once the receiver calculates its location from these satellites, it provides that information to the application. The logic of the application is constantly checking to see if the location matches a place of interest. If yes, then content in the form of audio, text and imagery is called up and presented.

Getting more specific: Best practices

If you already understand the power of the geolocation story and wish to get started, you’ll want to consider a few things.  These are not hard and fast guidelines.  As we gain more and more experience, we’ll learn about what works and what doesn’t.

  1. First, geolocation storytelling works best when the audience is on foot and out of doors.  Smartphones can’t receive satellite GPS signals from inside of buildings.  The technology works best outside with clear line-of-sight to the sky.
  2. Geolocation projects must be housed on a website that supports HTTPS.   Smartphones don’t reveal their locations to applications that run from websites that begin with http:// The web address must be https:// The ‘s’ means secure.  Information that is transported by HTTPS is encrypted in order to increase security of data transfer.  
  3. There is a limit to the distance that people will walk on a tour or the length of a tour in time.  Limit yourself to two miles completed within one hour.  Of course, this is a very loose rule of thumb.  Consider your audience when setting the limits.  Young adults will have no difficulty with 3 – 5 mile hikes.  Time and attention span, however, will remain a factor.  Senior citizens with mobility issues will find two miles too long.  The steepness of the terrain will be a factor. Use your discretion but keep it as short as possible.
  4. Some people’s interest may wane quickly.  A two mile tour should have at least a dozen points of interest.  Limit the distance and length of time between geolocation points.
  5. Present narrations in audio and text formats.  People like to hear a recorded narration but, without headphones, the narration could easily be drowned out by traffic or a rushing river. On the flipside, audio narration often works in situations (e.g. bright sun) where the screen is difficult to see. You’ll need to use your judgement.
  6. Consider the format of the tour.  Will you guide your audience from point to point or will you cluster points so that the audience will simply wander about and come upon points of interest? 
  7. Audio should be cleanly recorded.  The audience should not hear background noise or a muffled narration.
  8. Text must be spelled correctly, grammatically correct and short. 
  9. Favor more points of interest and shorter narration/text rather than fewer points of interest and narration that drones on.
  10. Have fun creating this story. You’ll learn a lot!

Get your Geolocations

Even if you’re starting with Word to capture your text, find the locations. You can use Google Maps.  This is a very accurate way of finding locations.  For example, if I wanted the location of the intersection of Myrtle and Water Streets in Stillwater, I would do the following:

  1. Go https://www.google.com/maps
  2. Search for Myrtle Street, Stillwater.
  3. Move the map to the location of interest.
  4. Click on the intersection.
  5. Either write down the location coordinates or click on them.  The coordinates will now appear in the address field at the top and can be copied and pasted into your Word document or directly onto a LodeStar page (see below).
Google Maps reveals latitude and longitude

About the Location Coordinates

In the example above the coordinates were 45.056745,-92.805510.  The first coordinate (45.056745) is the latitude.  The second coordinate is (-92.805510) is longitude.  Always use a coordinate with six digits of precision (six digits to the right of the decimal point).  The six digits will ensure an accuracy within a few inches but never rely on that.  In other words, allow the technology a slop factor. Use precise coordinates but allow for imprecision in the ability of device to calculate its location. Never create a geolocation story that relies on an accuracy of a few inches.  You control this by typing in numbers in the latitude and longitude proximity fields. The numbers spell out how close one needs to be to the precise location to trigger an event. In our geolocation stories we trigger something (e.g. show content) when the user is within 25 to 50 feet of a location.  We call that crossing the geofence.   The minus sign is important.  In latitude, the minus sign denotes the southern hemisphere (south of the equator).  In longitude, the minus sign denotes west of the prime meridian (Greenwich) and east of the antemeridian (roughly where the international date line resides).

If you want to grab your location while physically on the spot, use your smartphone’s Google Maps app. 

Current Location Arrow in Google Maps
  1. In Google Maps, click on the arrow to show your current location.
  2. Scroll down until you find the marker and the location.  See screenshot below.
  3. Copy and paste the coordinate into your notes so that you can transfer the coordinate to LodeStar.

Getting a location from Google Maps while on site

Preparing a Geolocation Story in Word

Your role might be to prepare the content. When you’ve completed the preparation, you can hand off the content in the form of a Word file. In Word, each location should be on a separate page. At the top of each page, key in the title and the latitude and longitude coordinates of the location. Add your text, graphics, image and narration. If your version of Word doesn’t support audio narration, use a free tool like Audacity to generate an MP3 audio file.

Even More Specific: Authoring a Geolocation Story with LodeStar

To create a geolocation tour in LodeStar, do the following:

Launch LodeStar and select the ARMaker template.  (AR stands for augmented reality.)

LodeStar’s ARMaker template
  1. Title your project.  The project will now reside on your hard drive in a folder with the same title.  It will be found in the LodeStar/Projects/[your title]  directory.
  2. Add your title to the first page.
  3. Add a page by clicking on the + button at the bottom of the app.
  • Ensure that the new page is a Text Page Type.  Examine the screenshot below.  The page should have a place to enter a latitude and longitude.
  • Add your content.  You can insert a widget (e.g. Image Layout Widget), text, audio, and more.
  • Add a page to add more content.
  • Then Preview in Browser (find button at the top).
  • When you are ready to publish,  Export as a SCORM 1.3 package and import to a Learning Management System or simply copy the LodeStar/Projects/[your title]  directory to a web server.
LodeStar authoring tool with ARMaker template. Click on image to view.

Below is what this page looks like in Preview.  Notice the audio control at top left and the Show Map at the top left.   Notice the navigation buttons top right (depending on layout).  Notice the how the image slider appears, created by the PWG Image Slider Widget.

Previewing a Geolocation story

If your audience clicks on the ‘Show Map’ button, a Google Map appears with all of the locations marked with red markers.  Again, each location represents a separate page in LodeStar. 

Each location (marked by red marker) matches a LodeStar page

Controlling the User Experience

If you allow users both to show map and navigate to content by clicking on a marker, then you need not adjust project settings.    If you want to restrict users’ access to the map and/or their ability to access pages of content from the map, select Tools > Project Settings.  Change the settings according to your needs.  (The important settings are marked with arrows. See screenshot below.)

Project settings in LodeStar allow control of application

Publishing your project

As a SCORM object

If you use a Learning Management System (LMS) and want to control access to your geolocation story, then, with your project opened in LodeStar, click on Export and export to SCORM 1.3.    Go to your LMS and import the story as a SCORM object.

As a website

If you have access to a web server, copy the project folder to the web server and use the index.htm file in your URL.  Once again, location services will only work on web servers that support https://

If you don’t have access to a web server, then read the following article that explains how you can use GitHub as a web server.

https://lodestarlearn.wordpress.com/2020/05/14/seven-steps-that-will-change-how-you-share-elearning/embed/#?secret=5b4inntyGg

Alternatively, you can use Site44 to convert your Dropbox folder to a published website:

See https://www.site44.com/

(We are not endorsing Site44 but LodeStar Learning has successfully used it on a number of projects.)

As an Open Education Resource (OER)

Publish the geolocation story as a web site, then register the URL (address) of that site with OER Commons, Merlot, or whatever OER repository you prefer.

 

Additional Details

If you are new to Geolocation Story-telling to learn more detail, visit:

Geolocation Storytelling: Van Gogh In Arles | LodeStar Web Journal (wordpress.com)

To see an example of a finished product as OER, visit:

https://www.oercommons.org/courses/vincent-van-gogh-s-arles/view

Or view the app at:

‎Van Gogh In Arles on the App Store (apple.com)

Conclusion

Geolocation stories are a great way to help visitors uncover the hidden wonders of place. Google Maps and the LodeStar Authoring tool are indispensable ways of authoring stories and publishing them either to Learning Management Systems or to the web.

If you complete a project, share your project. Drop a comment or drop a line to supportteam@lodestarlearning.com.