UI/UX Designer
User Research
UX Design
UX Design
Duolingo is a mobile app that allows its users to learn a language of their choosing, free of charge, through interactive content and lessons. One of the best ways to learn a new language is through direct social engagement, but Duolingo's existing mobile app does not offer any options for its 300 million users to engage with each other. Duolingo* wants to implement a social learning feature for premium users to convert more learners to its premium subscription plan.
*This is concept work. I am not affiliated with Duolingo.
*This is concept work. I am not affiliated with Duolingo.
The problem
One of the most effective ways of learning and improving language skills is by conversing with others in that language. The Duolingo app does a great job at keeping learners engaged through gamification and bite-sized lesson content that can be completed anywhere, at any time.
However, a common hurdle for language learners is the transition from in-app learning to application in real life. Once learners leave the app, they often don't feel comfortable speaking the language with others, as there are not exercises that foster conversational skills within the app's lesson content.
The solution
Design a social feature that allows learners to connect with each other, specifically with another learner with whom they can practice the language they're learning. The goal of this feature is to ease the transition for learners from in-app learning to using those learned skills in real conversations.
Assessing the learner experience
As of December 2018, the global online language learning market was valued at $9.16 billion with high growth expectations. Duolingo isn't alone in this industry, and I needed to assess the entire landscape before diving in to a specific solution.
Through my research, I hoped to understand what type of features language learners would most appreciate being a part of the Duolingo app by first understanding their goals and needs, what their frustrations are, and how their experience can be improved.
Through my research, I hoped to understand what type of features language learners would most appreciate being a part of the Duolingo app by first understanding their goals and needs, what their frustrations are, and how their experience can be improved.
To get started, I conducted market research, and a competitive analysis of direct and indirect competitors and their feature offering.
With a better understanding of the landscape, I circulated a survey to learners who have used Duolingo or another app to learn a language so that I could understand some trends in habits and motivations, as well as why a learner might abandon their learning experience.
While I had a vague direction of what might be helpful for learners to improve their conversational skills, I needed to hear directly from learners so that I could understand what would be beneficial to them. Some of the questions I asked were:
While I had a vague direction of what might be helpful for learners to improve their conversational skills, I needed to hear directly from learners so that I could understand what would be beneficial to them. Some of the questions I asked were:
How long does your typical learning session last?
If you could add a feature to your preferred language tool, what would you add?
In your experience, what has been the most effective technique for learning a new language?
67% of the 21 survey respondents confirmed that having a conversation with someone else in the language has been the most effective technique for learning a new language, with an additional 10% responding that simply hearing others speak is an effective learning strategy.
67% of the 21 survey respondents confirmed that having a conversation with someone else in the language has been the most effective technique for learning a new language, with an additional 10% responding that simply hearing others speak is an effective learning strategy.
"For me, personally, reading and writing is not really hard; it’s just memory. Speaking is difficult. When you’re not in the country or environment, it can be hard to learn."
It’s evident that conversations in the native language (e.g. with native speakers) are critical to developing effective spoken language skills. Reading and writing comprehension alone does not set someone up to hold a conversation in another language.
However, attempting to speak in another language - even just a few words - requires vulnerability and can be scary for the learner. While a social feature would be beneficial, it needs to tread lightly on the learner’s ego and confidence.
However, attempting to speak in another language - even just a few words - requires vulnerability and can be scary for the learner. While a social feature would be beneficial, it needs to tread lightly on the learner’s ego and confidence.
But how does it work?
I gained valuable insights on the learning experience for language learners and created two personas that aligned with my research findings so that I could begin defining this feature and compare it against these personas' needs.
These personas encompass two different learner types: the short-term learner (Ryan) and the long-term learner (Lauren).
These personas encompass two different learner types: the short-term learner (Ryan) and the long-term learner (Lauren).
A learner like Ryan uses the Duolingo app for a few weeks or months leading up to something like international travel, and he wants to have an understanding of the language so that he can hold simple conversations during this travel, if needed.
On the other hand, a learner like Lauren is already at an intermediate level of learning, and wants to dedicate more time to practicing her existing language skills and advance towards language fluency.
On the other hand, a learner like Lauren is already at an intermediate level of learning, and wants to dedicate more time to practicing her existing language skills and advance towards language fluency.
While the research showed me that having a social feature would be helpful, I was still stuck with the problem of.. how do learners find each other? How can the design facilitate that process in a way that is not intimidating and does not require a learner to cold call a total stranger in another country?
With that in mind, I knew a touchpoint needed to exist before two learners engaged directly, and from my competitive analysis, moved forward with the idea of a Conversations feature.
Through this feature, a learner who has reached an intermediate-level of language skills within the app would be able to submit an audio response to an exercise. Their submission would then be sent to a community of verified reviewers, made up of other Duolingo learners who have demonstrated expert-level language skills and have passed a brief reviewer exam, ensuring that responses to these exercises are of high quality.
For example, let's say that English-speaking Lauren has submitted an Italian conversation exercise to the reviewer community. Gianni, who is an expert-level Italian speaker and wants to learn English, sees her response and gives her feedback on her submission. Lauren sees his response, notices that he is eager to learn English, and decides to strike up a conversation with him, since they can mutually benefit from each other's respective language skills.
Before diving in to any of the information architecture questions, it was time to take a step back and do a quick check of this feature.
With that in mind, I knew a touchpoint needed to exist before two learners engaged directly, and from my competitive analysis, moved forward with the idea of a Conversations feature.
Through this feature, a learner who has reached an intermediate-level of language skills within the app would be able to submit an audio response to an exercise. Their submission would then be sent to a community of verified reviewers, made up of other Duolingo learners who have demonstrated expert-level language skills and have passed a brief reviewer exam, ensuring that responses to these exercises are of high quality.
For example, let's say that English-speaking Lauren has submitted an Italian conversation exercise to the reviewer community. Gianni, who is an expert-level Italian speaker and wants to learn English, sees her response and gives her feedback on her submission. Lauren sees his response, notices that he is eager to learn English, and decides to strike up a conversation with him, since they can mutually benefit from each other's respective language skills.
Before diving in to any of the information architecture questions, it was time to take a step back and do a quick check of this feature.
Is it desirable? Research points to yes! The Duolingo forums are filled with users looking for a feature like this that will allow them to connect with other learners to practice a language. The survey responses also confirmed this.
Is it viable? You bet! Duolingo offers a freemium model, but the premium, paid subscription plan does not offer many additional features aside from removing ads. This feature would be available to free users, up to a certain extent, but should they wish to use it without limitations, they must become a paid subscriber.
Is it feasible? Sure is. Because this feature leverages the existing community of Duolingo learners, once the feature has been deployed, aside from general maintenance and monitoring, it should be fairly self-sufficient.
So, the feature was starting to take shape, but where would it fit within the existing app so that it exists seamlessly with the rest of the product? I created an updated sitemap of the Duolingo app, adding the different screens that would be involved in this feature.
After creating the sitemap, I developed three task flows based on the needs of my two personas - these would be fairly common flows learners would move through in regards to this feature.
With the task flows solidified, I created a UI requirements document to highlight the different screens, features, and interactions that would need to exist within this new feature set.
The new feature on the block
Before diving into designing these new screens, it was imperative that any designs I made matched Duolingo's existing brand and interface design. I'm very familiar with the app to begin with, but decided to test out a few different languages to see if the flows were any different before diving into creating new screens.
From there, I referred to the sitemap and UI requirements document I had created, and continually reviewed direct and indirect competitors design systems, keeping in mind Duolingo's existing app design. These constraints were helpful in guiding the design of these new screens.
I selected the most effective based on feedback received, and brought to mid-fidelity.
From there, I referred to the sitemap and UI requirements document I had created, and continually reviewed direct and indirect competitors design systems, keeping in mind Duolingo's existing app design. These constraints were helpful in guiding the design of these new screens.
I selected the most effective based on feedback received, and brought to mid-fidelity.
With mid-fidelity wireframes in place, I was almost ready to refine the wireframes and move them to high-fidelity screens.
Ça va?
Although Duolingo's app is already designed and I could have moved directly to high-fidelity screens without passing go, I wanted to make sure the feature made sense and was organized correctly within their existing architecture.
I conducted a series of usability tests within Maze, all of which were unmoderated, remote tests. By using Maze, I was able to see the different heatmaps involved on each screen so I could determine where participants were clicking when presented with a usability test prompt. The tasks and scenarios I created were based off of the three task flows I introduced earlier.
I conducted a series of usability tests within Maze, all of which were unmoderated, remote tests. By using Maze, I was able to see the different heatmaps involved on each screen so I could determine where participants were clicking when presented with a usability test prompt. The tasks and scenarios I created were based off of the three task flows I introduced earlier.
There's nothing better than getting feedback from tests that tell you your design isn't working. I mean that whole-heartedly! I received helpful feedback that indicated that the placement of some of the icons and content sections in the mid-fidelity prototype weren't making sense.
After synthesizing feedback from the usability tests I conducted, I brought the screens from mid- to high-fidelity, iterating the design based on that feedback.
To make sure the updates I made were effective in the design, I conducted additional usability tests with a high-fidelity prototype.
After synthesizing feedback from the usability tests I conducted, I brought the screens from mid- to high-fidelity, iterating the design based on that feedback.
To make sure the updates I made were effective in the design, I conducted additional usability tests with a high-fidelity prototype.
Next Steps
Now that the design is functional, I'll conduct additional testing before working with the development team to ship the feature.
The idea for this feature's release would be to conduct a small, closed beta test of the flow with a subset of users. I would work with other Product team members, as well as Customer Support stakeholders, to determine who those users are before releasing it for trial, and once released, would closely monitor how that subset of users have engaged with the feature.
With that feedback, we would iterate on the design and conduct a larger-scale deployment plan before releasing to all Duolingo users.
The idea for this feature's release would be to conduct a small, closed beta test of the flow with a subset of users. I would work with other Product team members, as well as Customer Support stakeholders, to determine who those users are before releasing it for trial, and once released, would closely monitor how that subset of users have engaged with the feature.
With that feedback, we would iterate on the design and conduct a larger-scale deployment plan before releasing to all Duolingo users.
Findings & Reflections
Starting this project, I knew I wanted to add some kind of a conversational feature to solve the problem that I've seen solved by other, one-off services like Conversation Exchange, which essentially just connects two language learners to each other so that they can chat on other platforms, like WhatsApp or Facebook Messenger. I saw that there was a need for this in my own language-learning experience and felt that Duolingo's app was the perfect vehicle to solve this problem.
I thought that since Duolingo's app was already built, adding a new feature would be relatively straightforward as long as the feature was well-defined. In execution, one of the most interesting challenges in this project was placing this feature within the existing IA.
Fortunately, Duolingo's UI design is very consistent throughout the app, so I had a lot of great starting points when building out the new screens. That said, working within these constraints required me to creatively problem-solve in a way I'm not sure I've experienced before.
Finally, the project was - yet again - another great reminder that thorough research and extensive testing are key to designing an excellent product, or even a new feature.
I thought that since Duolingo's app was already built, adding a new feature would be relatively straightforward as long as the feature was well-defined. In execution, one of the most interesting challenges in this project was placing this feature within the existing IA.
Fortunately, Duolingo's UI design is very consistent throughout the app, so I had a lot of great starting points when building out the new screens. That said, working within these constraints required me to creatively problem-solve in a way I'm not sure I've experienced before.
Finally, the project was - yet again - another great reminder that thorough research and extensive testing are key to designing an excellent product, or even a new feature.