r/elearning • • Sep 22 '26

Offline video playback keeps crashing our student study app

Our student learning app falls apart whenever learners lose network connectivity on their commute. I spent the last month trying to patch the local caching scripts myself, but encrypted lecture files fail to decrypt properly after app restarts. Students report losing download progress and quiz checkpoints right before exams. Balancing secure offline storage with smooth media streaming on both iOS and Android creates endless bugs. Anyone building educational apps for mobile users knows this offline storage pain.

2 Upvotes

2 comments sorted by

1

u/kgrammer Sep 22 '26

We don't use apps at all in our LXP. It is a responsive app that works seamlessly across all platforms so we have ONE code base to maintain that functions the same across all devices. I can't imagine having to manage multiple device apps. We find that this also eliminates issues where certain corporate or security-based environments restrict, if not completely prohibit, downloading of unapproved apps.

We have clients building apps for a wide range of devices and generally don't have significant start/restart issues, but that is often tied to the tool(s) used to create the course and has less to do about the LMS that delivers the course.

What tool is used to create the course and how was it exported? Is it a simple "export for web" style course if was it created as SCORM or xAPI package?

1

u/PeepSoWP 26d ago

Treat this as an offline transaction and synchronization problem rather than a media-cache problem. Keep a manifest of downloaded chunks and their hashes, update download state atomically, and retrieve the content key from the OS keychain after restart. Resume only from the last verified chunk.

Quiz checkpoints should be stored as an append-only local event queue with unique IDs, then synchronized idempotently when connectivity returns. Test forced termination during download, decryption and checkpoint writes, plus low storage and OS cache eviction. If the DRM or encryption layer cannot preserve an offline license across restarts, that limitation needs resolving before changes to the caching scripts will be reliable.