2

I am part of a company that has created a Learning Management System in C# using ASP.Net, and I am researching how to integrate SCORM packages/content into this. Is there a library (preferably free) that allows me to plug existing SCORM packages into this independently developed LMS?

I've done my research, and found various conflicting sites on the issue, so I thought I would ask if anyone has any advice they could give me. I've read the other SO posts on the topic and none seem to address this issue.

The requirements:

  • Must allow integration of SCORM courses into the C# LMS
  • Must be compatible with HTML5/responsive content
  • Must be available offline
  • Must ensure that the course content is playable on mobile Android devices

I have looked into the Tin Can API, however as far as I can tell it requires the user to have a LRS, most of which are expensive and do not seem to play well with C#. This just seems to be adding costs on top of costs on top of costs, and I'm almost wondering whether it's worth coding it all myself. Can anyone help?

Rhythm17
  • 39
  • 1
  • 4
  • Tin Can API is language agnostic, so there's no reason it won't work with C#. If you're looking to buy an LRS to include in your C# , SCORM Engine (http://scorm.com/scorm-solved/scorm-engine) has a C# version. It'll also play SCORM and AICC content. I'm not aware of any open source SCORM players or LRSs written in C#. Most OS learning projects seem to be PHP. – Andrew Downes Oct 21 '15 at 14:44
  • Also note, you can't really use SCORM for playing content offline and mobile. There are work arounds involving essentially putting a mini LMS on the mobile deice and then using another mechanism to sync up the tracking data, but they are quite complex. – Andrew Downes Oct 21 '15 at 14:46
  • Hi Andrew, thanks for your reply! Do you know of any way to display e-learning content on Android/mobile devices then? Even within a browser on the device? I'm not looking for a solution that is an app, I'm just looking for a responsive HTML5 platform that will play SCORM. Perhaps I'm getting confused... Also, with regards to the Tin Can API; I'm right in thinking that it can receive SCORM packages and display them? (i.e. it's SCORM compatible) – Rhythm17 Oct 21 '15 at 15:30
  • @Rhythm17: FWIW, you're asking for features that would require an incredible amount of development work. The SCORM support alone can take a team of developers months to sort out. I doubt you will find anything that meets your needs exactly, free or otherwise. (Maybe you just uncovered a new business opportunity? LOL) My suggestion is to pay a company like Rustici to handle it for you. It will cost $ but save you untold hours of dev and support work, which would likely save you $ in the long run, lets you get to market sooner, and enables you to focus on your business goals. – pipwerks Oct 22 '15 at 20:50
  • @Rhythm17 if it needs to work offline, it will need to be an app. Tin Can API and SCORM are separate specifications that cover different, but very much overlapping, aspects of communication between learning technologies. They aren't incompatible as such, but you'll find most content will support one or the other (authoring tools will give the option to publish in one or the other). – Andrew Downes Oct 23 '15 at 09:52
  • As @pipwerks said, the offline requirement adds to the work involved here. You should definitely take up the offer of my colleague Chris below for a call. If you can drop the "offline tracking" requirement, your best solution will be significantly different. By the way, just to confirm, do you actually need to track the content or just play it? – Andrew Downes Oct 23 '15 at 09:56
  • @AndrewDownes unfortunately we do need the offline requirement, or at least something that can be hosted locally. Whilst tracking would be very useful, we really just need to play it for now; but can SCORM Cloud/Engine do both? – Rhythm17 Oct 28 '15 at 10:48

2 Answers2

4

SCORM content is expected to be launched, by the learner, in an active web-browser session. SCORM content will play on mobile browsers, as long as the device has an active internet connection. Many mobile apps use WebView or the browser, as a way to play SCORM content on Android and iOS.

There are some limitations to consider, when playing content on a mobile device. SCORM packages will play whatever the content creator designed. If incompatible assets are encountered, Flash resources on iOS as an example, they will fail. Content formatted for a PC may have odd-looking behavior. It is the burden of the content creator to provide materials that will play nicely on mobile devices.

You can test your packages and SCORM behavior by using the SCORM Cloud's free testing sandbox (http://scorm.com/scorm-solved/scorm-cloud-features/content-just-works/testing-content-with-scorm-cloud/). This environment will allow you to upload a course and see how it behaves on PCs and Mobile Devices.

The SCORM Cloud can become a part of your LMS project, via an API. (Full disclosure, I work for Rustici Software). Our SCORM Cloud is a great way to get started with adding SCORM conformance to your existing LMS. It's a monthly pay-as-you-go model, based on your use.

We do have the ability to play SCORM content offline, on Android and Mobile Devices. This functionality requires that our SCORM Engine be fully integrated with your application, running on your own servers. We offer SDKs for Android and iOS that will allow you to download a special offline package, to play on mobile devices in WebView. The learner can take the downloaded content offline, then sync the tracking data back up to your LMS, when the device revives its internet connection. The offline piece is technically difficult and carries higher licensing fees. You can find more information, a demo video, and licensing details here (http://scorm.com/scorm-solved/scorm-engine/mobileoffline-scorm/).

If you'd like to talk-through all this, feel free to let me know. I'm happy to help you explore your options for this, even if you choose a path that does not involve our products.

Chris Tompkins Rustici Software | SCORM.com | TinCanAPI.com 615.669.4697

  • Hi Chris, Thanks for your detailed reply! I'd be interested to chat more with you about this, and I've sent you an email; it'd be great if you could reply today as I'm only in the office 1 day a week at the moment! – Rhythm17 Oct 28 '15 at 10:32
2

I'm unaware of any free option to integrate SCORM in your LMS. Few important things to consider when absorbing your options (build vs buy) -

Build Considerations:

  1. SCORM 1.2 (Most the specification was optional vs mandatory) - low time of entry ultimately.
  2. SCORM 2004 (More was mandatory, and included sequence and navigation capabilities). This one has a higher time of entry as fully supporting this standard could take 12+ months to hammer out.

Communication = JavaScript:

Both versions of SCORM communicate strictly with JavaScript via a Runtime API which manages read/write rules within the communication spec. Your typically storing the students attempt when the content calls commit. You can do this purely with a JSON post for example; typically asynchronous to ensure the student data gets stored. This would require you to manage your student attempt posts, and also evaluate their exit states and other items.

UI: Lesson Viewer

You'll need to support launching these SCORM packages in IFRAMEs, New Windows, LightBox (or similar) as well as popups possibly. You'll need to manage pulling a clean or suspended student attempt, then exposing the Runtime API (depending on SCORM version) and then loading the content and waiting for commit/terminate calls. Even considerations about how you want to display the lesson navigation.

Time to market on this may require short cuts, and I feel its important to mention that watering down your Runtime API or making it more of a skeleton than anything feature rich can save time, but ultimately may cause compliance/conformance issues with your packages. Whether you've created your platform to work on mobile is one thing, but it will also greatly depend on if your content has mobile capabilities. Often you'll be in a situation where mobile creates new challenges not only with the display, but also with memory limits and performance depending.

Web Service/API

The C# side of things would need to ingest these student attempts, manage their status/states in conjunction with the spec.

Reporting

Based on your use cases you can fill in the blank here. Typically you'll need to represent reports for teachers/admins to a varying degree.

Buy Consideration$

As stated here there are associated costs considering purchasing support like this. Their may be associated annual support costs, seats, or other limits including the integration of these systems with your project. There are hosted platform solutions, cloud/server options and integrations as well as database, code and services drop ins that may be compatible with your programming language.

Mark
  • 2,429
  • 20
  • 20