How to Bring Data Sharing to Your eLearning Courses


There is a good chance you may have never heard about Firebase. It’s a great service for web developers that began by focusing on instant data sharing across users and devices. Google bought it not too long ago and has expanded its services.

“What is instant data sharing?” I hear you ask.  Rather than bore you with the technology, I will give you an example. I am sure you are familiar with Facebook notifications. While you are looking at one post, a message will pop up alerting you that your Aunt Suzie just posted more pictures of her cats. In the old days of the internet, you would need to refresh the page or click a button to find out if there were any new messages. Facebook doesn’t use Firebase but their solution is similar.

Firebase enables your learners to make a change in your course and instantly update every other open instance of your course anywhere on the internet.

Firebase lets you easily use a few lines of JavaScript to create and update data objects. Those objects can be shared by all users of your application. And with just a few more lines, your application will listen for changes to the object and react accordingly.

“So, how does that help me become an eLearning Rock Star?” I hear you ask. Well, for starters, this means Firebase is creating and managing databases for you. So even if you don’t care about the "instant" or "sharing" features, you can leverage the easy data storage to do stuff like:

  • Store learner preferences between sessions or across multiple courses.
  • Track learner actions for improved analytics.
  • Create a (very) simple LMS.
  • Notify you when learners access a course or need help.

And if you want to share data you could:

  • Show learners how other learners responded to questions.
  • Show learners the average score for quizzes.
  • Get learners to help each other in real time.
  • Create interactions that require users to work together.
  • Create leaderboards.

“Sounds great! Do you have an example?” Why yes I do. In this example, Captivate and Storyline courses are sharing data in real time with all users. For the full effect, you will want to open both in two separate windows. Open twenty if you want!

The first slide is a simple yes/no question. Make a choice in one window and see what happens in the other. Keep in mind, there may be other people affecting the numbers if they are viewing the example at the same time.

The second slide is a bit more fun. Make a choice in the Captivate course and watch how it affects the averages in the Storyline course. Again, keep in mind that there may be other people affecting the numbers if they are viewing it at the same time.

Now, for the geekiest among you, I will walk through some my code and—as always—the files are available for you to download and play with right here.

I will start with the Captivate example:

Now for the Storyline example:

James-Kingsley-BioJames Kingsley has worked in the eLearning Industry for over 15 years. He has won several awards for combining technologies to produce better eLearning. He is an Articulate MVP. James is the Senior Technology Architect for eLearning Brothers and the Co-Founder of You can also follow him on Twitter or connect with him on LinkedIn for additional tips and examples.