A quick review of Scratch

My life as a CodeClub volunteer consists mainly of complaining about wonderful public transport options and working with a program called Scratch. In this post, I will talk about the latter, as it is probably more interesting ;)

Scratch is an interactive, drag-and-drop programming language that allows users to make animations and games. It’s perfect for beginners, as it helps them understand the logic of programming without needing any prior knowledge! The knowledge gained in Scratch can then be applied to real programming languages.

The Scratch Interface
The Scratch Interface

So, how well does it work? I will go through some pros and cons. Note that these are nothing but my own opinion ;)

Pros

Easy to use interface

As mentioned earlier, the interface is very easy to use. You can drag and drop various ‘blocks’, categorised as motion, looks, sound, etc. Definitely easy enough for a 10 year old kid to use.

Online version

Scratch can be used online without downloading. What is more, you can download and upload your work from and to the website, so students need not make an account to save their work. Again, this is good for using in a school environment where installing software may not be possible, and eliminating the need to make an account is useful for students – no need to remember passwords, etc.

Fun!

Scratch can be used to make very fun projects that spark one’s interest, especially when teaching to children. Having fun is the best way to learn. For example, some of the projects I have taught students to build were a space animation, a band, and a game with balloons. Who doesn’t like these things!?

Cons

Scratch has some things I don’t like. Of course, no software is perfect, so this is hardly surprising.

Flash

Scratch requires flash
Scratch requires flash

Need I say more? Dear MIT: 1996 called, it would like its web technologies back.

Now, I understand Flash is a relatively easy way to make applications that will work cross-platform. However, my biggest problem is since Adobe dropped Linux support for Adobe Air, one cannot run the native application on Linux any more. The web version will of course still run as long as flash is installed. However, this is problematic for those wishing to use a raspberry pi for teaching and learning. Raspberry pis are cheap computers, so breaking them is not a problem, and they can be used for building many interesting projects. However, running the web version on a pi may be difficult due to lack of resources – a native version would be SO much better…

The colour scheme.

Blocks are colour coded, which is great – students can immediately know which category a block belongs to just by looking at its colour!
…Except when they can’t.

Coloured blocks
Coloured blocks

As you can see in the above screenshot, few colours look very similar: Motion and Looks (and to some extend, sound), as well as Data, Events, and Control are nearly identical. This problem becomes worse if you’re colour-blind:

How scratch looks with deuteranopia
How scratch looks with deuteranopia

How scratch looks with protanopia
How scratch looks with protanopia

But what’s even worse is that these colours look almost identical when looked at from an interactive board, especially from a distance. This confuses my students because they keep looking in the wrong categories. This may be a problem with the interactive board, but they should have made more of an attempt to make the colours look different, since interactive boards are very common in classrooms.

Closed source.

Last but not least, Scratch is, unfortunately, closed source. This is a huge pity, given that it’s supposed to be about learning and sharing, but its creators seem to have no interest in helping others learn from their work. If it were open source, people could adapt it to their needs, contribute features, and learn from its code!

So, what do you think? Do you use scratch? What’s your opinion? Let me know in the comments, or don’t.

PS: Sorry for not having posted in 100 years.

Leave a Comment

Your email address will not be published. Required fields are marked *