If you are looking to find the best solution for Custom Learning Management Systems, this article is for you. We will deep dive into the most wanted LMS features for students and we will show you how you can create your own solutions.
When it comes to self-development, we probably all agree that active and life-long learning is the solution.
We all experienced traditional learning – in school, but as adults, the learning process is slightly different. Is more flexible and more centred around very specific topics.
Throughout the last few years, we have seen the major contribution technology brought to the learning industry. Teaching and learning institutions learnt to adapt to the online world and embraced technology as a permanent part of the learning process.
Technology brought extra flexibility and interactivity, and today we look into Learning Management Systems (LMS) features that students want, need and appreciate.
With the big supply offering available today, you need to make sure you offer the best LSM features for students and the most personalised learning experience they can find online.
Table of Contents
We will look into why each feature is important and we’ll also dive into the tech aspects of it. Our team of developers who specialise in building custom LMS from scratch revealed some insights about how they developed the features mentioned below.
While our technology stack of choice is from Microsoft, building the back-end in .NET Core and the front-end in Angular, there are many alternatives you could consider.
Quality Video Streaming
The most important component of an online learning platform that has a major impact on the user’s experience is obviously the video itself.
Besides the sound, image quality and oratory skills of the teacher, we can’t overlook the LMS software.
For all these reasons we didn’t want to reinvent the wheel when it comes to learning tools so we chose to use Azure Media Services. This is a Microsoft cloud-based platform that enables you to build scalable media management and delivery applications. It allows us to securely upload, store, encode and package video and audio content for on-demand or live-streaming delivery for many types of devices such as PCs, mobile devices & TVs.
Azure media player is a web video player that runs content from Azure Media Services. It uses industry standards, such as HTML5, Media Source Extensions (MSE) and Encrypted Media Extensions (EME) to provide enriched adaptive streaming experiences.
We encoded the videos in various formats, to meet different devices streaming criteria and store them with Azure Storage Containers.
Azure Media Services improves the download speed of the videos and adapts based on the Internet connection.
One of the basic features of an LMS is that the user should be able to watch lessons, independently of their learning environment, even with a poor internet connection.
Another one of the third-party integrations we like using from Azure Media Services is the content protection service. This allows us to secure video-on-demand or live-stream content with AES (Advanced Encryption Standard) or Microsoft PlayReady.
This is one of the must-have features that allows trainers to protect their courses from being illegally downloaded from LMS platforms.
For our use case, securing the video content allows us to generate AES-encrypted streams with token authorization. This offers extra security for the videos and more data security.
However, after implementing this we ran into an issue: the videos were not working at all on iOS devices, and the reason for this was that AES and restricted token content does not play back by default on iOS and older Android devices.
Eventually, we found a solution for this problem and now all our end-users can securely watch the learning material no matter the device they are on.
Different Subscription Plans
As users, we want to be in control of our money and we want flexibility when it comes to spending it.
That’s why it’s important to offer your students various subscription options. Allowing clients to either buy individual courses or pay monthly and have access to all of them is imperative to any online learning program.
Budget limitations shouldn’t restrict access to knowledge. Students want to be able to pick which courses are best for them and only pay for those.
When it comes to payments, we always use Stripe Checkout: it’s highly secure, fast, and easy to integrate with the various subscription options we laid out previously.
Multiple Formats
We all have different expectations and learning flows. Some learn better from a video, others from PowerPoint presentations and other people want to have a course handbook at their disposal whenever they want.
To accommodate everyone’s needs and improve learning, any eLearning software should be able to host multiple file formats (PDFs, PPTs, Word, etc). All these different formats should match the course content.
Our go-to techs to use for this are PDF Viewer and Azure Storage.
Azure Storage is Microsoft’s platform for cloud storage. It provides a highly available, low-cost, secure & scalable solution for object storage, disk storage and many more.
For the LMS applications we develop, we use object storage, also known as Azure Blob storage to store all the learning content & materials required for the courses: videos, images or PDFs.
Mobile eLearning On the Go
Statistics show that almost 55% of users consume content through a mobile device. This means users expect to have access to their courses through mobile learning software.
You can choose to also develop a mobile app to match the web LMS, or you can make sure your web platform is fully responsive, has responsive designs, is intuitive and offers a seamless experience on mobile devices as well.
For responsiveness, we use CSS Media Queries and bootstrap classes.
Clean UI/UX
A fluid user experience is probably the benchmark for any online platform. Probably, even more, when it comes to an LMS.
Your online learning management system should support the learning process of your students. Their user experience should be smooth and keep learners engaged.
From a beautiful and clean layout, and ease of use, to good quality videos and other small features that can enhance the experience of using your platform, they all contribute to a good user experience.
We’ve already showcased some of these enhancements in this article, but we’ll leave some other ideas you can look in as well:
- Progress tracking – users want to be able to pick up their course material where they left off, make notes and keep track of their learner progress.
- Automation – this can be implemented at various levels. From the signing up process to generating certificates when a course is completed or even employee training assessment tools.
- Simple navigation – the courses should be the shining stars of your platform, let them be easy to find and navigate through. While this isn’t a functionality per se, it is definitely something users will appreciate and make them stick with the platform.
Certificates
Just like in school, at the end of a course, we expect to get something that will attest to our attendance and our newly gained skills.
We can implement this feature by using an autofill function. Each course author can associate his course with a certificate template. Our internal autofill tool – DocHandler, fills in the certificate template, exports it to PDF format and sends it to the graduate. DocHandler works with SyncFusion. The certificates are sent via dynamic emails, built with the help of SendGrid.
When the course is completed, the autofill function runs, fills in the certificate and sends it to the student.
Transcripts
Although it might sound like transcripts are out of style, they play a huge role in improving the user experience for a learning management system.
Transcripts are mandatory for those who aren’t fully proficient in a language and need some extra help, have hearing deficiencies or simply can’t use audio at the time they watch the course.
The Azure media player supports captions or subtitles for On-Demand videos with WebVTT format and live events/videos using CEA 708. To add a subtitle, all you have to do after the video was uploaded and encoded is to upload the VTT file to the video asset.
Another option would be to use Azure Media Services to generate the closed captions for you. To do this, you can follow the steps from this article.
Other Things to Look Into
While end-users might not actually see these extra learning management system features, they have direct benefits from them.
We believe that these aspects are vital for any custom LMS, so be sure you look into them as well!
Accessibility and Performance
By its nature, an LMS should allow multiple users to access the platform simultaneously and it also has to cope well with large data volumes while streaming the videos. You’ll need to make sure the development is done in such a way it allows it.
Technically, this could be done by using Azure Functions.
As the official documentation states, Azure Functions is a serverless solution that allows you to write less code, maintain less infrastructure, and save on costs.
It allows you to implement your system’s logic into readily available pieces of code which are called functions. Different functions can run anytime and they are able to respond to many event types such as HTTP requests, database or Blob storage changes, messaging queues and many more.
One of the main benefits of this technology is independent scaling – this means that when the number of requests increases, Azure functions create as many function & resource instances as needed. Another thing worth mentioning is that being a serverless solution, developers won’t need to spend time maintaining the server, hence having more time to focus on the code and the business logic.
Security
We always make sure that all the applications we build are safe and secure.
Data leaks can seriously affect any business and you should make sure you’re doing everything you can to protect your students’ data.
Below are some tips from our development team:
- Use JWT (JSON Web Token) authentication – this will encrypt users’ passwords. The user’s password should be hashed and salted before being saved in the database. (Hashing – the process of converting a key into another value using a mathematical algorithm. The resulting value is called a hash and it can’t be undone – the original value cannot be determined back from it). Salting is simply the addition of a unique set of characters to each password before it is hashed, thus making it harder to crack.
- Implements SSL certificates. SSL certificates are small data files that digitally bind a cryptographic key to an organization’s details. These are used to enable the HTTPS protocol and allow secure connections between a browser and a web server. In order to provide such a certificate for our LMS solutions, we use Azure CDN managed certificates which take care of the entire process. If you want to read more about HTTPS configuration on Azure CDN custom domain, check out this tutorial.
- Protect the card data – we, as developers of the app, don’t store card data, our payment processor handles them (Stripe, in our case)
Conclusion
We hope that our list comes in handy and now you have a better understanding of what your future students would expect from such a platform and also of what could be done on the technological side.
Although LMS features seem quite common, there is a lot of tech and knowledge behind them. From blended learning to social learning or ILT, each of them has particular approaches.
If you want to make sure you are on top of your LMS requirements, download our free guide on what it means to develop a custom LMS.
also on this topic:
How Much Will It Cost to Develop a Custom Learning Management System
If you decided that a custom-developed learning platform is for you, you’re probably looking into more details about how much it will cost to develop a custom LMS.
Does your development plan include any of these features? If you’d like to learn more about how we develop them, how long does it take to implement and more, let’s chat!