PHP
Article
By Bruno Skvorc

Duolingo for PHP – How Much PHP Can Apps like Mimo Teach?

By Bruno Skvorc

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.

Mimo homepage screenshot at getmimo.com

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.

The pay to unlock screen in Mimo

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.

Achievements in Mimo

Obviously, there’s quite a bit of collecting and achieving to be done in Mimo!

The app lets users set their own desired learning frequency, 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.

Reminder frequency menu

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 Upgrade to Premium screen in Mimo

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.

The course track selection screen

Page 1 of the Make a Website track

Page 2 of the Make a Website track

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…

PHP variables introduction

And when doing the Swift course, you do the same there.

Swift variables introduction

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.

--ADVERTISEMENT--

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.

The introduction screen of the PHP course

First screen of the PHP course

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.

User is expected to pick a term they hadn't heard of before

A new term out of nowhere is defined

Deductions will usually prepare the user to answer a question with an answer they were given on the previous slide, or several slides earlier.

A deduction about implicit data types in Swift

Learning by heart will just throw definitions, theory, and explanations at the user, hoping it’ll stick.

PHP Theory

More PHP Theory

PHP being a server side language, slide explained

Guesswork slide, offering choices

Guesswork slide, wrong choice selected

Guesswork slide, right choice selected

Riddles will require re-ordering code sequences until they make logical sense and look like valid code.

A re-ordering of PHP and HTML code

A re-ordering of Swift code

Re-ordering PHP 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.

Recommended
Sponsors
The most important and interesting stories in tech. Straight to your inbox, daily. Get Versioning.
Login or Create Account to Comment
Login Create Account