Ten years ago last month, Scratch, an MIT Media Lab project, was released to the public. If you don’t know, Scratch is a coding language for children to learn how to code. Scratch is for kids aged 8-16 and it’s available for download (Mac download here, uses Adobe Air).
What’s it like?
In 2007, my two kids were 5 and 7 years old and we started playing with Scratch. After you install Scratch, you can execute it and it brings up a Scratch coding environment.
There you have a number of built in coding constructs which you can use to code your project. You use this code on sprites or objects. I would use the paint tool to create objects (costumes) of my own design (space ships, planes, cars, etc.). Once you have these sprites painted, you can then animate them using the Scratch code scripts. You can have any number of sprites. You can even take a picture with the computer’s camera and call that a sprite. You can also record sounds with the computer’s microphone and use the sounds to help animate the sprite.
The coding language is very Google Blockly like with graphical or visual depictions of loop and control statements, more of a visual programming language than your standard coding.
Scratch’s originally based off the Logo project, an early object oriented language designed to help kids learn to code. The art objects or sprites you create with Scratch are effectively objects which you invoke Scratch methods on. There’s even a ScratchJR for kids aged 5-7.
Coding Scratch
One of the methods we used was to follow another object. We would create one plane and then copy it to create others. Then we would have these “children” planes each follow the parent plane, creating a squadron. We could direct the flight path of the parent plane using key strokes or mouse actions. The squadron would then fly together around the play space.
We could have the squadron or any specific plane shoot projectiles at other planes or sprites. We would then have two squadrons flying around shooting at one another. This took just a few methods to get up and running. Another technique was to paint a background of clouds (called a stage) and have this stage be scrolling by in the background of your other objects.
The language lends itself to experiential programming. Where you just try something out and if it didn’t work, try something else.
It was cool and fun tool and showed that coding needn’t be relegated to software engineers and could be done by anyone.
I tried Logo coding before Scratch. It uses a Turtle as a cursor that you animate to move around a work space. The Turtle could leave different color trails to paint geometric patterns on the work space.
Logo was fun to show mathematical concepts such as geometrical construction but was not nearly as flexible as Scratch. I suppose Logo was simpler to code to generate geometrical patterns.
Scratch’s online community
At the time we started playing with Scratch, the online community was only just starting up but nowadays there’s 22 million shared Scratch projects, available to be downloaded for an online user, with 30K new ones created every day. There are currently 18 million members of the Scratch online community.
Every May there’s Scratch day events to meet others in the community in person, share, tell and receive feedback on projects and celebrate the creation of Scratch.
What’s new with Scratch
These days, with Scratch 2.0, you can create Scratch projects directly in a web browser window (with Flash).
Theres also a Scratch Foundation that funds the ongoing development of Scratch. The next version, 3.0 is being released next year and is intended to make it easier to create Scratch projects on mobile devices and tablets.
They are also targeting 3.0 to use outside interfaces, like Lego construction kits. It would be nice to see more of this.
All in all it’s a fun tool to use.
I tried to get v2.0 working on my Mac laptop today (running 10.11.6) but it says Adobe Air is not installed after I have installed Air twice?! I did however manage to download v1.4 and get it working. It’s not like I remember it from before but looks better.