Mimo is an app which claims to teach coding “on the go”. As a long time Duolingo user, I could relate to this approach – particularly as I was becoming increasingly interested in achieving some degree of basic Swift literacy in the coming weeks.
In an attempt to objectively assess the app’s ability to teach people new things, I decided to look at what it’s offering and see if it’s something I can recommend to people just starting out with a new language.
Model
The application is free for the first one or two lessons of every course, at which point you’re asked to either spread the word on social media, or pay to unlock the next one. The next one after that, however, has to be paid for.
Like Duolingo, Mimo uses streaks to gamify learning, keeping track of how many consecutive days you’ve been using it. To further gamify things, the app features a bunch of badges and achievements to collect, though the real killer feature would be a Duolingo-like “follow user” approach which also allows for direct communication on certain lesson slides.
Obviously, there’s quite a bit of collecting and achieving to be done in Mimo!
The app lets users set their own desired learning speed, but all this does is dictate how often the app will remind you to use it – it has no other effects on the app in terms of course length or content.
It’s a sad world where 20 minutes of learning per day is considered insane, isn’t it?
At the time of writing, Premium access costs a whopping 54.99 GBP per year, or 4.58 GBP per month, but only payable annually. It seems the app’s developers are well aware of the fact that most people abandon learning and self-improvement apps on mobile after a month.
The biggest problem is that with what’s offered for free, it’s hard to justify spending this amount.
Courses
The application offers individual language courses – PHP, HTML, Swift, “Hacking”, etc. but also course tracks that include several courses in order, aimed at teaching a bigger whole. For example, the Make a Website course has the sub courses: Programming, Programming 2, HTML, CSS, JavaScript, etc.
This course doesn’t whet the appetite, however – what’s covered is a very basic and language agnostic concept of variables, and then the paid content begins. That’s 2 out of 43 lessons free – hardly enough content to make an educated purchasing decision. Also, despite what seems like a lot of content (43 lessons), it should be noted that lessons are typically 10-15 minutes long.
The individual courses dive into the same thing (the free content at least) but explained in terms of the language being learned. So when starting the PHP course, you learn about PHP variables…
And when doing the Swift course, you do the same there.
Again, hardly a reason to purchase premium at this point. The approach does seem logical, however – if it really aims to be the Duolingo of programming, then it makes sense to present the same concepts you’re already familiar with in another language you’re not familiar with. What better way to learn than to solve the same problem you already solved in a new language? It’s just that these aren’t actual problems being solved.
The biggest issue I see here is environment setup (predictable, seeing as I care so much about the subject I wrote a book on it). The application immediately dives into variables and other programming concepts, but a person just starting out with any of the languages has absolutely no idea how to really start. There are no instructions on how to install the runtime, compiler, or IDE, and no indication of what operating system or environment might be needed. I can easily imagine a user going through all of these courses, and then being completely stuck when sat behind a computer. This is akin to someone learning how to swordfight by playing an RPG on a mobile device – your avatar will swing the sword, but you won’t be any more competent with it once you finish the game.
Course Quality
Other than the repetition of the phrase “so-called” and some typos across the courses , the content is well written, easy to consume and generally very newbie-friendly.
In the free section of the app, there are four simple approaches to teaching:
- guesswork
- deductions
- learning by heart
- riddles
Guesswork will have a user guess a solution to a question, without being previously primed for it. A wrong guess will not allow the user to progress further, allowing for an infinite number of retries, and the right guess will explain the solution to an extent.
Deductions will usually prepare the user to answer a question with an answer they were given on the previous slide, or several slides earlier.
Learning by heart will just throw definitions, theory, and explanations at the user, hoping it’ll stick.
Riddles will require re-ordering code sequences until they make logical sense and look like valid code.
These approaches are fine for theory, but I would still recommend Mimo add some manual input of code to develop people’s muscle memory. I would also recommend adding a boxed, limited REPL at the end of each lesson, where people can test out what they’ve learned thus far.
Conclusion
While the concept is interesting, I don’t think it’s possible to get to any meaningful degree of programming literacy with an app like Mimo. To learn how to program, one needs to develop the muscle memory of typing. One has to develop the ability of searching for solutions to problems (known as StackOverflow-fu) and the ability to find important pieces of information in a programming language’s manual. One needs to interact with the community of the language in question, and learn from examples that need to be hand tweaked to be applicable to the problem at hand.
Mimo has none of these important factors – it is effectively a “learn by heart” application which presents you with more theory than practical use. On its own, it can be helpful as an introduction to terms you might meet in a real project, but its practical value is highly questionable.
Admittedly, I may be missing out on some killer features in the Premium side of things, but 55 GPB for a year and payable only annually feels like an app-tourist-trap, especially given the lack of quality evident in the free sections of the app.
As an educator, I’ve never had problems recommending third party (non-SitePoint) content providers to people – my desire is to see people trained well, and immediate profits are not a priority. The pie is big enough for all of us, and a well trained community of devs profits everyone in the long run – many people started out applying as authors for us, then were pointed to some skill-honing resources, and came back years later, welcomed as capable contributors.
Mimo, however, is not one such resource – but it could be. With upgrades such as an emphasis on the social side of things, a simple REPL for languages that could support it (PHP, JS, Ruby, HTML), some improvements to the free parts of courses (typos, explanations, phrasing – general copy editing and course design, really), a different pricing model, and a more hands-on approach, Mimo could be a significant factor in many people’s education plan. The times I’ve been stuck in queues or traffic for 10+ minutes are many, and being able to use these idle times for learning something useful on the go in such an easy to consume way would have been invaluable.
I wish Mimo luck, and will check them out in future iterations of the app.
Frequently Asked Questions (FAQs) about Duolingo PHP and Mimo
How effective is learning PHP through Duolingo and Mimo?
Both Duolingo and Mimo offer a unique approach to learning PHP. Duolingo uses a gamified approach, making learning fun and engaging. Mimo, on the other hand, offers a more structured learning path with interactive exercises and real-world projects. The effectiveness of learning PHP through these platforms largely depends on the learner’s dedication, consistency, and the amount of practice they put in. Both platforms provide a solid foundation for beginners, but to gain proficiency, additional resources and practice are recommended.
Can I become a professional PHP developer by using Duolingo and Mimo?
While Duolingo and Mimo can provide a good foundation in PHP, becoming a professional developer requires a deeper understanding of the language, its frameworks, and real-world application. These platforms are excellent starting points, but to become a professional, you’ll need to supplement your learning with more advanced resources, practice coding regularly, work on real projects, and constantly update your knowledge as technology evolves.
What are the main differences between Duolingo’s and Mimo’s approach to teaching PHP?
Duolingo uses a gamified approach to teaching PHP, making it fun and engaging. It breaks down complex concepts into bite-sized lessons, making it easier for beginners to grasp. Mimo, on the other hand, offers a more structured learning path. It provides interactive exercises, real-world projects, and a community of learners for support. Mimo’s approach is more comprehensive and immersive, providing a deeper understanding of PHP.
Are there any limitations to learning PHP through Duolingo and Mimo?
While Duolingo and Mimo are excellent platforms for beginners, they do have their limitations. They provide a basic understanding of PHP, but they may not cover more advanced topics in depth. Also, the practice projects provided may not be as complex or challenging as real-world projects. Therefore, it’s recommended to use these platforms as a starting point and supplement your learning with other resources.
How does the community support in Mimo enhance the learning experience?
Mimo offers a community of learners who can provide support, share experiences, and offer insights. This community aspect can greatly enhance the learning experience, as it allows learners to learn from each other, ask questions, share their progress, and get motivated. It also provides a platform for networking with other learners and professionals in the field.
Can I learn other programming languages on Duolingo and Mimo?
Yes, both Duolingo and Mimo offer courses in several other programming languages. Duolingo offers courses in HTML, CSS, and JavaScript, while Mimo offers courses in Python, JavaScript, Swift, and more. This allows learners to expand their coding skills beyond PHP.
How much time should I dedicate to learning PHP on Duolingo and Mimo?
The amount of time you should dedicate to learning PHP on these platforms depends on your personal goals and schedule. However, consistency is key when learning a new language. It’s recommended to dedicate at least an hour a day to learning and practicing PHP.
Are Duolingo and Mimo suitable for absolute beginners in PHP?
Yes, both Duolingo and Mimo are designed with beginners in mind. They break down complex concepts into easy-to-understand lessons and provide plenty of practice exercises. This makes them an excellent choice for absolute beginners in PHP.
Do Duolingo and Mimo offer certifications upon completion of the PHP course?
Mimo offers a certificate upon completion of their courses, which can be shared on LinkedIn or other professional networks. Duolingo, however, does not currently offer certificates for their PHP course.
Are there any costs associated with learning PHP on Duolingo and Mimo?
Duolingo offers its courses for free, while Mimo operates on a subscription model. Mimo offers a free trial, after which you’ll need to pay a monthly or annual fee to access their courses. The cost of Mimo’s subscription varies depending on the plan you choose.
Bruno is a blockchain developer and technical educator at the Web3 Foundation, the foundation that's building the next generation of the free people's internet. He runs two newsletters you should subscribe to if you're interested in Web3.0: Dot Leap covers ecosystem and tech development of Web3, and NFT Review covers the evolution of the non-fungible token (digital collectibles) ecosystem inside this emerging new web. His current passion project is RMRK.app, the most advanced NFT system in the world, which allows NFTs to own other NFTs, NFTs to react to emotion, NFTs to be governed democratically, and NFTs to be multiple things at once.