The online education sector is expected to grow to $350 billion by 2025 and the overwhelming majority of that will be dedicated to mobile learning, either through apps that are exclusively mobile or those that offer mobile alongside web versions. Even before Covid rendered in-person learning troublesome, the share of educational platforms and applications in the online market was rapidly growing. eLearning platforms introduce a vast selection of educational and professional proficiency courses, available with certification and even credits from major universities. Such platforms as edX, Coursera, FutureLearn, are growing with each day and this has been the case for at least a decade. Mobile learning is even more relevant now that over 50% of all downloaded apps are being used for learning. You want to be able to learn on the go, be it waiting in line to the dentist, or a ten-minute learning session before bed. This applies to both students and established professionals who want to acquire new skills and knowledge, get a certification, or change their career path. Businesses understand this and see eLearning as a great way to facilitate upskilling for their own employees and, moreover, offer it as a service seeing how eLearning platforms have become a profitable business endeavor. Mobile eLearning applications types and purposes Mobile learning apps can be of all kinds and varieties depending on target demographic, purpose and characteristics, like academic apps for schools and universities, corporate and commercial apps. It’s important to note that many eLearning applications can be accessible both via web and on mobile, while some are developed for mobile users only. More often than not, if an application was originally web-based, later on it introduces a mobile version to accommodate and attract more potential students. Let’s look over some of the common types of platforms and applications for education to give you some eLearning app ideas: Mobile Online courses platform. This is a platform for online courses that operate largely as a marketplace, where accredited educators and educational institutions may offer their learning courses that include video lessons that are usually complemented with reading materials and assignments, and a discussion forum where the students can engage with one another and the course instructor. E.g., Skillshare, Masterclass, Udemy, Coursera, edX, FutureLearn, Khan Academy. Some platforms have presented courses from the leading universities, such as Stanford, Yale, MIT, Johns Hopkins University. However, these eLearning platforms are not strictly catering to the Ivy League and the like. There are courses provided by organizations and companies, as well as individuals who are professionals in their field and want to present a personal learning course on their area of expertise. Online courses platforms also often provide certification. Schooling apps. These are school organization apps or any apps to accommodate formal education. The apps offer solutions that help teachers with organization of the learning process like Curriculum, Educreations, Classflow. Then there are also student grading apps and performance assessment apps, e.g., Edmodo, ZipGrade, QuickGrader, iGrade. The latter ones focus on a specific feature, i.e. grading, and are tailored to suit the teacher’s needs in this regard. Virtual Classroom apps are the “thing” now with the Covid rendering impossible attending a physical classroom. These are apps that recreate the experience of in-person classroom learning, aiming at engaging students in the learning process and simulate the aspects of learning that are missing in a remote setting, e.g., live discussions, in-person interactions, the ability to ask the teacher a question on the spot. With the right tools, like online whiteboards, chat rooms and file sharing, the experience of a virtual classroom can be the same or enhanced compared to that of an in-person one. The examples of this might be Virtual Classroom, Virtual Blackboard, Google Classroom, WizIQ. Tutoring apps. Online tutoring platforms carry out the purpose to connect students and personal tutors and accommodate their further relationship: scheduling classes, payment, tracking attendance, assignments, etc. Some platforms require the tutor to show proof of qualifications like a diploma or a teaching license. E.g., Preply, Tutor House, Tutorful, Skooli, Lessonface. Language learning apps. Language learning is a very popular niche for commercial eLearning mobile apps that is relevant for all demographics. After all, who doesn’t have an ambition to learn a new language? It’s probably one of the most popular New year’s resolutions and something that everyone sets as a goal at least once in a lifetime. Some popular language learning apps are Duolingo, Lingualeo, Babbel, Lang-8, LingQ, Memrise, Busuu. E-learning Apps for Pre-K is a completely separate niche of mobile apps that focus mostly on creating an engaging and visually attractive game-like experience while introducing the child to basic concepts of math, reading and spelling, colors, etc. E.g., Kid-E-Cats, Toddler puzzle games, Bebi Family Games, Lingokids. Others. Then there are apps that were not exactly developed with the learning purposes in mind, but have since been adopted and frequently used by both learning institutions, businesses and individuals to deliver webinars, knowledge sharing, learning sessions, manage schoolwork, etc. These are: video conferencing tools (e.g., Skype, Zoom, Circuit, Join.me)task management apps (e.g., Todoist, Trello, Asana) time blocking and management (e.g., Brain Focus, Forest, FocusBooster). Functionalities & Features for mobile learning platform to have Although there are eLearning platforms that offer to host your online course or you, still many companies opt to develop their own learning applications. This way they have full control over what features and functionalities the app provides, set their own standards, scale it if needed, make it recognizable with branding, choose how to monetize it. This is even more so applicable to mobile learning apps as they are becoming a hot niche in the market with fargoing prospects in the future. Let’s look over some of the must-have eLearning mobile app features that one should consider when creating their educational product: Personal user account makes it possible for the user to sign up for the app and have their own dashboard that opens access to many features like tracking progress, messaging, collecting badges. These can be user accounts of different types - student, teacher, admin, parent. A student account will have different features from that of a teacher or parent, depending on what the user aspires to accomplish when using the app. Teachers may need to create courses, add files to share with students, use screencasting features to conduct online classes, while students need to get access to the learning materials and submit completed schoolwork. A user account of a parent would be more limited in regards to features as they will most likely be interested in seeing progress stats and being able to message the teacher if needed. Either way, allowing the users to create personal accounts gives the developer an opportunity to add many new features, making it as simple or as complex as they want, ultimately creating a comprehensive interactive learning environment. Course details offer a general description of the course as well as additional information such as who is the lecturer, subtitles available, length, complexity level, certification. Content management is a must-have feature because eLearning apps are heavily loaded with content of all kinds and complexity. These may be video lessons, audio files, articles, PDF downloads, etc. The teachers may need to manage content while creating or updating their courses, and students need to upload and submit course work for assessment. Thus, it’s important to have proper functionality for file storage and sharing withing and outside the app for both teachers and students. Lesson notes help the student make highlights and take notes on the learning material while taking a course and later use them for revision. Adding that as a feature takes away the need to take physical notes on paper or use another application for the same reason. The student may find it more convenient to have all the learning materials, including their own notes, stored all in one place. Text chat and discussion forums can be used for any type of app as an additional way to let the students and teachers interact and learn through discussing and further examining the topics presented in the course. Interactive assessments. Education quizzes and other interactive assessments are a quick way to allow the students to check if they have grasped the main points of a lecture or reading material. These can be checkpoints dispersed throughout a video or a general quiz at the end of a segment. Personalization can be introduced for any type of application but it carries a lot of benefits for eLearning. Thus, a student can have a personalized dashboard and recommendations that would show him which further courses to take to continue learning, and what materials are relevant to their preferences. AI-driven personalization helps analyze student activity, notice patterns, and come up with suitable recommendations creating a unique and rewarding learning experience. Social network elements like sharing to social media, sending out invites to friends, and private messaging, can be a good addition to any app as it adds an element of socialization, resembling the experience of a regular offline course where you learn alongside other people. This helps boost motivation for those who prefer learning in groups, as well as creates engagement, helps understand what kind of courses and learning materials the students like and want to share. Likewise, if the students like your eLearning application, they will invite their friends and friends of friends to join, creating a snowball effect. Chatbots help the user learn how to navigate the application and resolve any occurring issues, whether a student needs a consultation regarding the curriculum or course enrollment, etc. Analytics help track and analyze the attendance, performance, and engagement of the students. When developing and later maintaining the app, you want to know how the users are interacting with it, how often they use the app and engage with the materials. For the teacher, having stats and analytics of student performance and engagement helps with assessment. On the part of the student, they may want to keep track of their stats in cases when they account for some percentage of the final grade. Apps used for children’s formal education make such analytics available for parents who are interested in how their children are doing in school. Offline access to lessons and lesson notes allows users to have access to the app materials on the go and study or work when or where it’s most comfortable for them. Having this feature is an instant plus for your app. Notifications are applicable for any type of app. These may be notifications of new courses added, upcoming deadlines, work submitted (for teachers), messages. Notifications can be automated or, for example, students may want to set a schedule and get reminders to check the app and do the tasks multiple times a week, on certain days or times of the day, which helps them be consistent in their studies. Specific features for eLearning solutions Search and filters are useful features that help the student navigate the courses if there is a big selection to choose from. This is a must-have for learning platforms that store massive heaps of information of various complexity and fields of interest. For example, a student may need to sort courses by subject, for Intermediate level, and with English subtitles available. Video conferencing for lessons or training discussions for Virtual Classroom app and tutoring apps. This includes video encryption and optimizing video and audio to the users' connection speed. This feature allows the teacher or tutor to hold online lessons with the class or individual students, very much like the offline experience of a classroom. Whiteboards and collaborative whiteboards are used in Virtual Classroom apps for presenting the information, brainstorming, or working on a group assignment. Screen sharing is used during an online lesson in a Virtual Classroom platform. The teacher shares the screen to show a presentation or the assignment. Likewise, students can take turns in sharing their screens to show what they are working on. Breakout rooms for Virtual Classrooms allow the teacher to split the class into groups for a learning activity like a project or discussion. The students can work on the task in a smaller group, e.g., practicing speaking in a language class. The teacher has the option to join each breakout room to check on the students and see how they’re doing with the assignment. Hand raise button is a feature for Virtual Classroom apps. It helps students ask a question or share some information during an online class without interrupting, and take turns when answering a question or during a discussion. Ratings and reviews for courses app help the users pick the courses that suit their needs from a big selection of learning materials on the same subject. This feature can be useful for an app which allows teachers to sign up and create their own personal courses (e.g., Domestika, Udemy, Skillshare), or for tutoring apps so that students could rate their tutors. Gamification elements add an element of fun into the learning process. These can be awards and badges that help the students feel more accomplished and motivate them to do more work. It can be something playful as making the Duolingo owl proud for keeping an ongoing strike of using the app daily, or awards of accomplishments for reaching certain milestones or completing a course. Furthermore, the students may compete for the top score, do challenges. Scheduling functionality comes in handy for Virtual Classroom and tutoring apps where teachers and tutors need to set up certain times for their learning sessions with the class or individual students. For tutoring apps, this also allows the student to see the tutors availability and request a time for a lesson. Payment is a functionality relevant for all commercial educational apps as one of the ways to monetize your app. There can be different ways to incorporate this feature, e.g., freemium, subscription, pay for a course with limited or lifetime access. Technologies for eLearning app development When developing an eLearning mobile app, you want to choose your technology stack in accordance with the requirements. Programming languages that would be the best options for custom mobile eLearning app development are Kotlin (for Android native apps) and Swift (for iOS native apps). If at some point you need to adapt your mobile learning app for the web, consider using PHP or Python, as these are most commonly used for web eLearning systems. Architecture for your eLearning app may depend on your requirements. Microservices architecture is the preferable option as it allows to update or scale its elements not depending on or breaking the integrity of the entire application. Cloud storage and services offer a secure and efficient solution for eLearning application development as learning apps may require handling massive amounts of information and easily scaling when it’s needed. It’s the go-to solution with apparent benefits, such as pay-as-you go, scalability and security. As in case with choosing cloud for the eLearning solution our team developed for Mindmarket, the company is now able to deliver training content on major smartphone and web platforms worldwide. The most widely used cloud computing vendors are AWS, Microsoft Azure, Google Cloud Platform. Cloud databases may be used for cloud architecture as CloudSQL database for GCP that supports MySQL, PostgreSQL, and SQL Server. Then there are specific “purpose-built” databases that operate in the cloud and are designed to serve a certain business need. Video Processing tech stack is a must-have for any mLearning app. WebRTC or Streaming Media System are some examples of what can be used for video conferencing in the app. Transcoding services are what makes it possible to turn a video file into multiple size versions for learners to watch even on slow devices with poor internet connection. Live transcoding allows to do live streaming sessions. AR/VR may be used for gamification and creating unique opportunities for the learner where they engage with the learning material they develop the right skill set in a virtual environment. AI and Machine Learning – for chatbots, content personalization. AI-driven personalization creates a customized learning environment for the student. IoT and Wearables. Consider what devices are available to your potential students and how they can facilitate their learning. Smartphones, interactive displays and tablets, smart watches, VR headsets - these devices can be integrated with your eLearning system to create a comprehensive learning experience. With the help of IoT and wearable devices, you may shift beyond the limitations of a single mobile application and enhance the learning process. The right tools may determine a lot of what you can realize and how time-consuming and costly the development will end up being. That being said, there’s a lot more to eLearning app development than that. In fact, you need to go through the entire process - choosing your niche and fleshing out the idea, conducting user research, design prototyping, MVP, development, testing, deployment, gathering and incorporating feedback, marketing, etc. User research is a crucial step in this process as you want to know exactly that you are developing a product that will satisfy the needs of your target audience. That’s why content mapping for user profiles and objectives was one of the first steps when developing the eLearning app for Intuition. With so many features you can offer, this is no place for speculating - know exactly what you’re doing. Then, you’d want to have the MVP ready as soon as possible so that you could collect actual feedback and see how your vision and research match the actual picture. eLearning completely revolves around the student’s needs. Hearing from your users directly will give you the best idea of whether you are moving in the right direction. When it comes to eLearning, students want engaging apps that provide the knowledge and experience, with the option to get proper certification - all the features rolled into one app. Once you have an app that your ideal of a student wants, there are many options to monetize it and ultimately make it a success. Summing up Creating your own eLearning app instead of using a ready-made solution or a subscription service is better because you can build something that suits your specific needs. If a company has established practices and processes (e.g. onboarding, etc.), you don’t have to make compromises and changes to adapt to an LMS that is available. Instead you get to create an app that does precisely what you need and corresponds exactly to your requirements. Furthermore, with your own mobile learning application you are not limited in what you can offer to your students. You can create a your own unique learning environment with a dedicated community of people striving for knowledge.