Skip to main content
Question
Miles Exner
Learning Technology Developer
Asked a question 2 years ago

Any plans on adding a service worker and manifest to make Moodle a Progressive Web App? Anyone not aware of what a PWA, it can speed up your site and give it all the features of a local application (if they are programmed into the service worker). I saw a thread that said that you can't do push notifications and use the website offline like you can with the app, but this is definitely not the case. You can increase the performance and minimize the number of requests and amount of data the server has to push dramatically with a proper service worker. You also improve the user experience dramatically for people that have poor connections. Your app can work offline and sync data when it comes back. Every modern website should take advantage of at least some of the capabilities of a Progressive Web App.

Where am I?

In The eLearning Community powered by Open LMS you can ask and answer questions and share your experience with others!

David CastroOpen LMS team
Staff Software Engineer at Open LMS

Hi Miles, thanks for this.

Indeed, we are aware of these options. Nonetheless, Moodle's current architecture renders both static and dynamic content for all pages and views in the same process, meaning, both front-end and back-end tiers are intertwined.

We are evaluating separating front-end and back-end tiers into independent parts which communicate through web services, but, as you can imagine, it is a big undertaking. We have begun reworking some parts which could one day refresh in the background using Service workers like Snap's notification feeds, and are actively working towards adding more components like these to Snap, but they will still require an active internet connection due to Moodle's architecture.

As you said, "Apps" are the main actor which could benefit from this, and this is an alternative still under study. Does it make sense to make an Open LMS App? Should we work under the current Moodle App? Should we make several Apps?

It's an open conversation, you are welcome to continue participating.