- #Mobile app development
Making a Language Learning App
World globalization has led humanity to the necessity of learning new languages. This tendency caused a spark of interest in fresh ways of studying. Language learning apps have turned out to be among the most popular of such ways.
In this article, we will consider the required steps to make your own language app, explain the success of Duolingo, identify the language learning apps’ essential features, and determine the approximate cost of developing this type of product.
Why is the Duolingo app so successful?
The Duolingo project was launched in 2011 by a professor at the University of Pittsburgh. In less than ten years of its development, the service became the most popular language learning app (LLA), with more than 300 million users worldwide.
The service’s curriculum contains 38 languages and is highly focused on quality. The interaction with Duolingo is extremely simple and understandable: the user may not even register, but immediately pass the assessment test and start the corresponding program based on the test’s results. Lessons consist of textual, graphic, and audio assignments. However, what is the actual secret of Duolingo’s success?
The truth is, there is no secret; there are obvious reasons. The main one is a high focus on gamification. By learning the language with Duolingo, the user accumulates XP (experience points), opens chests with an in-app currency, and monitors the number of lives (each lesson takes one life). All these gamification elements contribute to the enthusiasm of users. The cherry on the cake is that the app is free on all popular platforms (iOS, Android, web).
Another factor in the success of Duolingo is the implementation of chatbots. Their integration before such technology became mainstream, helped Duolingo establish the firm reputation of an innovative product among other language learning apps.
Top 4 language learning apps on the market
Since the e-learning market is extremely popular among language enthusiasts, it is not surprising that Duolingo is not the only worthwhile application. Let’s first take a look at four other popular LLAs before answering the question of how to build a language learning app.
Best for. Memrise is a perfect app for those who want to dive into a gamified flashcard environment and improve the vocabulary.
Description. Memrise can boast one of the largest user bases with more than 40 million people using both a website and mobile app. It offers a great toolset to learn new words and phrases in a simplified and understandable manner. It includes games for learning new words such as Difficult Words, Classic Review, Speed Review, pronunciation exercises that offer users to say out loud the learned words, check their correctness, and many others.
What makes it so successful. Memrise is distinguished from competitors by an efficient technique of memorizing words and conversational phrases with the help of native speakers, words matching exercises, crosswords, and engaging flashcards. It also attracts its users with a vivid user-friendly interface, tools to improve pronunciation, and the ability to obtain the translation of the objects from the taken pictures. Moreover, Memrise united a large community of like-minded learners that provide user-generated content for others.
Best for. The app is a great solution for those who prefer a speedy and engaging way of learning languages.
Description. Busuu offers web and mobile-based language courses, all united with an idea of a complex approach towards learning. The app contains a variety of exercises to effectively cover all 4 learning aspects (reading, writing, listening, and speaking). Core learning principles expressed by the app’s creators united more than 120 million users in the Busuu community.
What makes it so successful. Busuu enables users to create personalized learning plans to achieve their goals faster. The app also has a unique feature called conversations that allow learners to master their speaking skills with natives.
Best for. Mondly will work best for those who appreciate the integration of innovative technology into the learning processes.
Description. Mondly provides more than 40 million language learners with a combination of both classical and innovative methods to increase the efficiency of language learning processes. It includes gamified daily lessons, augmented reality (AR), chatbot, and speech recognition technology.
What makes it so successful. The application caught the attention of language learners with its diverse functionality, AI-powered tools, conversation-focused syllabus, and competitive learning element. Moreover, the app provides users with advanced statistics so that they can constantly monitor their progress.
Best for. The app will definitely attract those who enjoy a gamified process of learning.
Description. Surpassing more than 10 million downloads, Drops proved its strong position on the market. Its constituents, such as vivid illustrations to memorize new words better, intuitive approach towards learning, a wide choice of topics to improve the vocabulary, colorful layout are efficiently combined, creating a high-quality product.
What makes it so successful. Strong emphasis on gamification, entertainment, and visual-learning are those elements that allowed this app to gain such popularity.
Reasons to create your own language learning app
The decision to enter a particular educational segment on the market should be backed up by sound arguments, undeniable evidence, and statistics. Thus, let’s consider a few reasons that will strengthen your determination to create your own language app.
According to the statistics, the mobile educational sector has been significantly thriving recently. It’s predicted that the volume of the mobile education market will have reached $37.8 billion by the end of 2020. Moreover, Business of Apps published other astonishing statistics, according to which the store has about 200,000 educational and reference apps. They include language learning ones, apps for kids, classroom apps, etc.
Such figures point out that classical learning is rapidly shifting to introduction of more innovative and digital tendencies, which paves the way to the development of language learning apps.
The opportunity of gaining popularity among large audiences is another reason that forces staruppers to act. The most prominent products on the market allow their users to learn on average from 10-15 languages. This fact signifies that if you create an efficient curriculum for the lessons and make sure that the offered languages are highly popular, you will be able to obtain a significant user base.
Since accessible learning is another trend in the software arena, it’s the perfect time to provide a growing number of language learners with a high-quality product. People are looking for something that could satisfy their needs, an app that could work both in online and offline mode, be engaging, efficient, and user-friendly at the same time. Especially in the light of recent global changes, the necessity in remote learning apps has grown significantly. Thus, when you plan to make your own language app, it’s desirable to ensure that it will be accessible from any place, at any time, and with a non-fixed schedule. It can attract large numbers of people and make the development of such apps potentially lucrative.
Having analyzed the reasons to create a language app, let’s move on to the overview of the highly requirable features for such a product.
Most of the creators of top-notch LLAs have already invented a formula of a perfect feature set. Thus, we offer to overview those features that are vital to make a language app. However, mind that the needs of the users are constantly growing and learning tendencies are changing as well. It means that your app shouldn’t be limited only to the functionality that we will examine below. Moreover, uniqueness and creativity are highly appreciated by language learners.
It’s highly important to provide users with a thoroughly designed placement test at the very beginning so that the app could estimate the level of their language proficiency and assign the corresponding syllabus. For example, when you download a Busuu app, it offers to take a comprehensive placement test and then evaluates the obtained results by following internationally accepted criteria for assessing language learning fluency.
Error-free studying material
Invite professional language tutors, native speakers, and proofreaders to create flawless studying material, free of grammar, spelling, and punctuation errors. It will reduce customer churn and enhance your user’s loyalty. It’s highly important to review the created studying material from time to time to eliminate possible errors and keep up with new learning trends. For instance, Duolingo’s professional educators have recently rebuilt the materials from their major courses to align them with the Common European Framework of Reference for Languages (CEFR).
Having installed the app, your users should be able to master all 4 language skills (listening, speaking, writing, and reading). Make sure that they won’t have to download another app to fulfill certain needs, such as progress tracking, flashcards to learn new words, grammar material, etc. The application called Babbel provides its users with 10-15 minute lessons that encompass a variety of tasks to enable the practice of all 4 language skills.
It is considered as one of the most vital elements of any successful LLA. The learning process shouldn’t be associated with boredom and strictness, and that’s why it’s desirable to integrate various gamification elements into your app. They may include game-based exercises, in-app achievements for completing lessons, exercises based on competition with other language learners, etc. Just take a look at the Drops app that created fast-paced games to transform the process of learning new words into an engaging journey.
Catchy interface developed with the help of a homogeneous approach will make users opt for your app. It’s important to use a consistent design language so that all menus, structural blocks, buttons are created in a unified manner. Once again, if you download Duolingo, you will see that not only thoroughly designed courses but also vivid, appealing, and minimalistic design attracted millions of users.
By thoroughly developed UX, you provide your users with an intuitively understandable app. When you plan to make a language learning app, try to make user’s interaction with your product simple and seamless. If we analyze the UX constituent of Duolingo and its major competitors, we’ll notice that the apps are extremely user-friendly and don’t require much time to figure out their functionality, which became one of the main factors of their popularity.
If your future LLA contains exercises for communication practice, the integration of chatbot will be extremely useful. It will imitate real-life conversation allowing users to improve their communication skills. The chatbot can also serve as a navigation function helping language learners use your app more easily. Chatbot embedded into the Mondly app supports 33 languages and has proved its efficiency by helping users obtain a better understanding of the learned language.
Progress tracking system
Don’t forget to integrate a progress tracking dashboard into your app that will provide users with all necessary tools (statistics, diagrams, percentage of completed lessons, etc.) to monitor their performance. Memrise, for instance, tracks the users’ progress and keeps them updated and motivated by reminding how many words they have learned.
As you can see, there are a variety of crucial features that should be included when you aim to create your own language app. However, don’t forget to add unique elements to stand out on the market and make your app potentially successful.
6 steps to build a language learning app like Duolingo
Having reviewed vital features for such a type of product, let’s consider all those steps that should be taken to build an app like Duolingo.
1. Conceptualization and identification of the desired feature set
When you plan to create an app like Duolingo, the first step will be to figure out the exact functionality that you want to offer your users. In the section above, we pointed out the list of the most important features that we found in the top-notch LLAs. Apart from the mentioned ones, we advise to add a few more details:
- social login that will allow your potential users to sign in via popular social networking services (Facebook, Google, or Twitter);
- collection of user feedback will help you gather feedback from language learners that use you app so that you could make corresponding amendments based on gathered data;
- embedded tooltips are those useful hints for users that will help them during the interaction with your app.
When selecting the necessary for your app functionality, try not to overwhelm users with the number of features. It can lead to confusion and user churn as a result. Duolingo, for instance, has a rather simple interface that is not overloaded with unnecessary features making it easy for language learners to use the app.
2. Conducting Business Analysis
The next step is to check the feasibility of the idea and relevance of the app’s features with the help of Business Analysis (BA). During this stage, you will be able to thoroughly analyze the market, obtain data regarding possible competitors, define functional and business requirements. It’s highly important to conduct BA because it helps your software vendor understand your vision and needs more clearly. It also makes it possible to evaluate your requirements and connect them to the possibility of their implementation.
3. Addressing educational constituent of the app
With a clear vision of all structural blocks of your future app, you may proceed to fill them with actual content. If you want to create an app like Duolingo, it’s advisable to invite professional teachers or tutors and native speakers to create a high-quality studying material. Try to address this step with a serious approach since the provided content will be the most valuable part of your app.
4. Developing the app’s design
Based on the gathered requirements, the chosen software vendor will start the visual implementation of the app. Firstly, it’s desirable to create high-fidelity mockups and interactive prototypes. They will allow you to make any kind of amendments before the actual start of the product development, hence, saving costs significantly.
Once you agree upon the typography, color scheme, and overall concept of your app, the designers will prepare the final version of your product’s visual component so that software engineers could start implementing it. To answer the question of how to create a language learning app that would have an attractive, user-oriented UI, consider the following tips:
- follow a unified philosophy of color (try to use color scheme which is good for studying and cognitive skills in general, such as blue, yellow, orange, and green);
- opt for vivid call-to-action buttons;
- make an appealing and catchy layout;
- create a memorable logo.
If you want to build an app like Duolingo, take a look at its UI, and you will notice that the app encompasses all the tips mentioned above. The app’s creators developed an appealing logo of a green owl and made its animation that greets users once they start using the app. The whole visual concept is green, which is not surprising since this color improves efficiency and focus, and is rather calming. All the structural blocks and menus are consistent and vivid in terms of the color scheme.
5. Implementing the feature set
The technology stack for the app’s development will depend on the chosen platform (iOS, Android, web-based). When you decide to make your own language learning app, it’s always better to have your product available on three platforms simultaneously. A web-based app will allow the community of language learning enthusiasts to upload the learning materials for other users in a simplified manner. An Android or iOS app will enable your users with richer functionality, robustness, and offline mode. Overall, being present on all three platforms is quite important if you plan to make a language app.
Based on our expertise in creating educational apps, we prepared a few tips regarding their development. However, let’s first take a look at the tech stack that is used to build a mobile app for learning a language.
|Programming languages||Objective-C, Swift|
|iOS mobile development tools||Xcode|
|Architecture||MVC, MVP, MVVM and VIPER|
If you choose to build a mobile app for learning a language for iOS, make sure to pay attention to the app’s submission to the store. Compared to Google Play, the submission to the Apple Store usually takes more time. Moreover, the chances of an app’s rejection are higher.Learn more about native educational app development
|Programming languages||Java, Kotlin|
|Android app development tools||Android Studio|
|Architecture||MVVM with Android Architecture Components|
The native development of a language learning app for Android or iOS will require close attention to the app’s performance. Since such an app offers users a large amount of content, the optimization of the app’s performance should be a high priority for the developers. It may be performed via even distribution of the load among UI and background threads.
If you want to make a language learning app that will be highly robust, mind the caching aspect as well which is considered a popular approach towards app’s performance optimization. The main purpose of cache implementation is to increase data retrieval performance so that the end-users of your app could obtain content quickly without the need to wait. It is also rather helpful during offline mode making sure the app can call the content and make it accessible in this mode. It can also reduce the load on your backend and prevent its slow performance under possible high loads.
|Category||Most popular examples|
|Frameworks and technologies||Ionic, React Native, PhoneGap, Flutter, Mobile Angular UI, Cordova|
Hybrid app is considered to be a more affordable alternative to a native app development. It’s advisable to opt for hybrid development of a language learning app in case you face tight deadlines due to harsh competition, limited budget, and regardless of the constraints stated above, you need your app to be run on both Android and iOS at the same time.
The advantages that hybrid development can bring you are: lower expenses on product creation, faster updates, and faster deployment. However, we recommend taking into consideration several pitfalls related to hybrid apps:
- limited number of capabilities;
- obligatory internet connection;
- difficulty in implementing complex feature set;
- source code vulnerabilities;
- limited access to smartphone hardware.
|Category||Most popular examples|
|Front-end programming languages, frameworks and technologies||React.js, Vue.js, AngularJS|
|Backend||Java, Python, Ruby, C#, or Node.js|
|Database (NoSQL)||MongoDB, Apache Cassandra, or Amazon DynamoDB|
|Database (SQL)||MySQL or PostgreSQL|
If you are wondering how to build a language learning app that is a web-based one, keep in mind a few vital points:
- it’s desirable to store all the content in the cloud storage (such as Amazon S3 or any other popular cloud provider) for scalable performance and almost unlimited storage capacity;
- make sure you design a scalable architecture that will allow the whole system to function under the high load efficiently;
- opt for a modular architecture that will allow you to separate functionality into independent interchangeable modules for high expandability and efficiency in turn around time for a new functionality creation;
- try to use third-party APIs carefully, since the choice may significantly impact your web app’s performance.
Overall, being present on all three platforms is highly important when you develop such a type of app. Duolingo and other top-notch platforms that we examined are available both in Apple Store, Google Play and on the web. Their creators try to make the apps available on all platforms, hence, attracting a larger audience.
6. QA + Testing
The improved quality of the product, elimination of bugs, and identification of possible weaknesses, all these can be achieved via timely quality management of the product development. It’s better to integrate Quality Assurance from the very beginning of the product creation to avoid the number of possible risks. Firstly, we recommend conducting focus group testing after the creation of the MVP version so that you could figure out the weak points of the app before the release of the final version.
Secondly, don’t forget about alpha and beta testing, which are helpful in estimating the “readiness” of the product and its compliance with the set requirements. Overall, with the right testing approach, an efficient combination of both functional (smoke, sanity, regression, etc.) and non-functional testing (such as performance, security, UAT), you will be able to build a language app that is bugless and meets your users’ expectations. By carefully approaching QA and testing stages, you will make sure that your app works like clockwork and converts language learners into loyal users. For instance, the Aimprosoft Quality Assurance team evaluates the complexity of your product, desired functionality, requirements, and applies a corresponding testing approach.Find out more about the Aimprosoft approach to QA and testing
Cost to develop a language learning app
Having answered the question of how to create a language learning app, let’s proceed to its cost estimation. The cost is directly related to the desired feature set, the product’s complexity, and the number of hours the software engineers will spend on the functionality implementation. Let’s first consider the basic feature set for the MVP version and full-fledged product. Then we will estimate the time that may be spent on the implementation of both versions.Related article: How Much Does it Cost to Develop an Educational App
Based on our experience, analysis of Duolingo and similar apps, the following functionality is needed to make your own language learning app MVP:
- user registration/user authentication;
- user profile;
- payment system;
- progress tracking system;
- lesson categorization;
- content addition.
In addition to all those features that can occur in MVP, the full version of the product may also contain:
- push notifications;
- feedback form;
- embedded tooltips;
- achievements/in-app currency;
- video learning content.
The number of team members can vary depending on the size of the project, the development of either MVP or a full product, deadline, etc. It will also depend on whether you will choose a full-cycle development company that will work with you from the very beginning of the project, or you will turn to the services of the vendor with ready-made BA and prototypes of your app. Let’s take a look at an approximate team stack to build a language app:
- 1 Tech Lead;
- 1 Business Analyst;
- 1 Project Manager;
- 1+ iOS developer(s);
- 1+ Android developer(s);
- 1+ Backend developer(s);
- 1 UI/UX designer;
- 1+ QA engineer(s).
The table below includes time estimation of learning app development for one mobile platform and the creation of the website. However, we highly recommend starting with website development first since it’s a faster, easier, and more cost-saving way to figure whether your product can satisfy the needs of your audience.
|Stages||MVP hours ~1045—1375||Full feature hours ~1980—2450|
|Business Analysis + UX||50—60||60—80|
|UI/UX||50—70 (for one mobile platform) 40—60 (website)||70—90 (for one mobile platform) 60—70 (website)|
|iOS/Android development||250—300 for one platform||500—550 for one platform|
|Website development (frontend)||160—200||290—380|
|QA + Testing||125—165 (for one mobile app) 100—140 (website)||250—300 (for one mobile app) 200—260 (website)|
We estimated the approximate time that is required to develop the design of an app for one mobile platform and a website. It takes a minimum of 50 hours for each mobile platform (iOS or Android) and 40 hours for creating the website’s high-quality design. In turn, the creation of the design for both mobile platforms may take 100 hours (MVP) and minimum 140 hours to implement a full feature set.
If you decide to develop your app for both mobile platforms (Android and iOS), it may equate to a minimum of 770 hours for MVP and approximately 1 540 — 1 750 hours for the full version of your apps.
QA and Testing usually take 25-30% from all development stages, which takes approximately from 125 to 165 hours for each of the mobile platforms and 100 hours for a website MVP. In case you plan to develop your product for both mobile platforms at once, you will need to spend about 250 hours on testing the MVP version and 500 hours on full product. To provide you with a detailed estimation in the table above, we separated and counted the time required to conduct QA + testing for each mobile platform and website.
Now let’s take a look at the rough estimation of cost to develop a language learning app for a single mobile platform and a website:
|Country||Average hourly rate||MVP ~1045—1375||Full feature set ~1980—2450|
|USA||$80||$83 600—110 000||$158 400—196 000|
|Western Europe (Germany)||$65||$67 925—89 375||$128 700—159 250|
|UK||$70||$73 150—96 250||$138 600—171 500|
|Eastern Europe (Ukraine)||$30||$31 350—41 250||$59 400—73 500|
The approximate cost to develop a language learning app that we provided is based on several geographical areas. Thus, if you decide to build a product for both mobile platforms without website creation and turn to the services of the software vendor from the USA, the MVP price to develop a language learning app for Android and iOS mobile platforms will cost you minimum $61 600. The implementation of a complete feature set will reach approximately $123 200. In comparison to this geographical area, the services of the Ukrainian software vendor will be $23 100 and full feature set implementation will get to $46 200.
The MVP development of the website (frontend+backend) with the software vendor from the USA will amount approximately to $49 600 while the same services of the Ukrainian developers will be about $18 600. The development of the website’s complete feature set with software companies from the USA may cost $92 800 and $34 800 with Ukrainian software vendors.
Although the developers’ rate may differ depending on the country, it doesn’t necessarily mean that the rate influences the quality of the development.
By developing a high-quality product you are just halfway to success. An efficient monetization strategy is this other missing half of the software journey. To choose the most suitable monetization strategy, we offer you to examine the advantages and weaknesses of three efficient for such type of product models and consider the one that will work best for your target audience, not causing the customer churn.
Normally, there are three main subscription models: monthly, annual, and lifetime. Such a monetization strategy presupposes that users can test the app first and then select the necessary option, which usually helps gain trusting relationships with your audience. Mind the model has non-renewing and auto-renewing subscription solutions.
Auto-renewing may seem beneficial in terms of reliable income and simplified revenue predictions but there are certain mishaps in the long run, which is worth your attention. If the users forget cancelling the subscription and continue getting charged, lost loyalty, one-star reviews, and subscribers churn could become the new reality. More efforts and money spent on attracting new audiences to make up for the loss would appear a predictable outcome. So, the choice is yours, but should be taken consciously.
Disadvantages: The content of your app should be highly engaging so that users feel the desire to prolong the subscription.
With its integration, you can obtain revenue by showing your users third-party ads and allowing them to use the app free of charge. These apps can be displayed in the following way: pop-up windows, full-screen interstitial, smart banners, etc. Rewarded video ads is another popular format of in-app advertising, which can be rather lucrative when used in a language learning app. By watching these ads, users can gain points, in-app currency, achievements, and be less irritated by the appearing ads.
Disadvantages: Users can often be distracted and annoyed by the ads that they are forced to watch. It may cause users’ dissatisfaction with the app and user churn. It’s advisable to reward your users for watching ads since it will keep them motivated.
This type of monetization strategy works best with educational platforms since it’s a great combination of free and premium features. The users can download the app for free, explore its functionality, and in case they enjoy the provided content purchase its premium version. Its integration is perfect for language learning apps, since in order to learn new material and unlock the next lessons, the user will have to pay for them.
Disadvantages: If the provided studying materials are not engaging enough or don’t assist in learning a new language, there is a high probability that the user will abandon the app without paying anything.
Overall, when choosing the right monetization approach, opt for the one that will fit the concept of the app and not the one that is highly popular on the market. Duolingo, for example, experimented with monetization strategy throughout all the time, shifting from crowdsourcing to freemium model and non-intrusive ads, the platform managed to find the business model that is perfect for them and their users.
Make your own language app with Aimprosoft
Having examined the required feature stack for a robust LLA, the steps for its implementation, and useful hints during development, let’s overview our approach to e-learning platform creation. Our vast expertise encompasses the development of a number of educational apps. The most vivid example includes all the necessary features for a high-quality language learning app. This software journey started when the customer turned to our services with a ready-made solution developed with AngularJS 1.x and Ionic frameworks.
The requirement was to significantly reframe the existing solution, enhance its functionality, optimize the app’s performance, and develop two cross-platform apps. The business aim was to provide two age categories of children (3-9 and 10-16) with an efficient and affordable learning product since tutoring in the customer’s country is rather expensive.
Since the core of the existing app was implemented with an outdated jQuery library, the main challenge for our team was related to its maintenance and addition of new functionality. To meet the request of our customer, we offered to use the advantages of React Native. The technology was chosen due to its great capabilities, such as cost-effectiveness, large community, various plugins, and libraries that it offers to the developers. The implemented feature stack included the integration of content created by the professionals and its division into separate categories and modules. Since we had to integrate more than 300 learning exercises in 3 months, we created an exercise builder, also called constructor, which allowed the team to complete the task in less than 2 months. Currently, the constructor provides software engineers with a more efficient and simplified way of exercise creation.
Moreover, the app’s functionality also included the integration of the parental portal to track their children’s progress since the learning app is for underage kids. The developers also integrated Mixpanel Analytics to provide the customer with an efficient tracking tool of the user journey. It allows monitoring the steps that the users make while using the app and improves the functionality based on the obtained results.
Overall, the usage of the chosen technology stack and, most importantly, React Native, thoroughly designed the architecture of the learning app, allowed us to create a full-fledged product that took one of the leading positions on the educational apps market in the customer’s country.
The growing number of diverse language learning apps on the market is the natural response to the digitization of different spheres of human activity. Rapidly changing approaches towards learning in combination with new technological advancements allow newcomers to compete with deep-rooted LLAs creators. Thus, if you feel the desire to contribute to the world of e-learning, have a fresh vision on what can be improved but lack the right software vendor, contact us, and we will answer any development-related questions and help you create a language app.