I keep hearing the phrase “Scratch is becoming the new Powerpoint” – teachers all over the country (nay, the world) are using the same programming teaching tool to teach with. So why is it that in a world with so many free tools for teaching kids to code, everyone seems to be using the same one?
I have a reason. Because the excessively complex installation process or the dreadful user interface of most of the other tools renders them completely unusable in education.
So it turns out that there are a lot of benevolent developers out there who really want to help improve the standard of CS education in our schools. They spend time building tools with kids in mind and then release them open source. I really appreciate that people do this – there’s some fantastic software out there (e.g. Sonic Pi) which is aimed at kids, free and frankly awesome. However, there’s also a lot of software which could be awesome but is missing something. Here are my top 3 peeves:
- If the website for your tool holds a thinly veiled contempt for Windows users (or no Windows installers), it’s unlikely it will ever see the light of day in education. Regardless of the pros, cons, rights and wrongs of the issue, the vast majority of schools run Windows networks and turning that juggernaut around ain’t going to happen overnight.
- OK so your software looks interesting, I decide to test it at home to see if it’s any good. If it takes me more than half an hour to install your product on my home computer because I have to work out which installer to get, install a dependent library, edit a config file and then perform 20 star jumps while turning the lights on and off in time to “Spice Up Your Life”, imagine how much I’ll be looking forward to asking the technicians to install it on the school network.
- I finally got the software installed, so I head to the “newbie tutorial”. Here’s something I learned – a lot of software creators have NO FREAKING CLUE what a newbie tutorial is. When I’m new to something, I want you to show me how to get started in a really basic way. Pygame, I’m looking at you here as an inexcusable offender. The top of the Pygame “learn” page has the sentence
Go on, click the newbie guide link, I dare you.
PSYCH! IT’S NOT A NEWBIE GUIDE! It’s not even a guide! It’s not remotely in the least bit helpful to an intelligent person who knows Python but who has just downloaded this library in the hope that it might be interesting to look at with A Level Comp Sci’s. (I’m asking for a friend *cough*) It even says (paraphrased) in the guide “if you get stuck, don’t ask anyone for help – spend hours trying to solve the problem yourself”. Wooooowww, such welcoming, many warmth. With introductions this good, is it any surprise hardly anyone uses Pygame in education when it looks like it has SO MUCH potential? (I hear there is now Pygame Zero but I found that similarly mystifying…what the hell is this pip of which you speak so casually?)
I guess what I really want to say is, if you’re making some software to help kids learn – THANK YOU. However, your software isn’t going to get the attention it probably deserves if things like the interface and the installation process are a bodged after thought. People just won’t bother to install it. Don’t confuse “I learnt how to do this a long time ago” with “this is trivial” when it comes to the installation procedure, and don’t think that people will be so blown away with your awesome backend implementation that they’ll forget Windows 3 called and wants its interface back.