MIT Scratch 3.0 Opens New Doors For Users And Builders Alike

We typically feature projects from people sharing what they’ve learned while building something for themselves. But our community has a healthy contingent who deploy their skills for the benefit of future generations, developing a child’s natural curiosity for play into interest in understanding the technical world they will grow up in. This field is where MIT’s release of Scratch 3.0 can open up interesting possibilities.

Scratch is a block-based programming language designed for elementary school children, letting them learn fundamental concepts while experimenting in an environment filled with visual and audible feedback. In an effort to make Scratch more widely available, version 2.0 in 2013 moved to the web. But it was built using interactive web technology of the time: Adobe Flash. As Flash has fallen out of favor and scheduled to be phased out in 2020, Scratch 3.0 used React to make the shift to HTML5.

The most immediate benefit is that Scratch can now be used on tablets, which all have modern browsers but very few of which have Flash. Another common educational hardware platform is the Raspberry Pi, which supported Scratch 2 via a convoluted software stack that was far from ideal. Now any hardware with a modern browser can run Scratch, no Flash binaries or custom wrappers are required. The Raspberry Pi foundation certainly seemed excited about this change.

But a more exciting and longer term benefit is Scratch extensions, a mechanism for Scratch programs to communicate with external hardware and online resources. This has evolved in parallel with Scratch 2.0 under the experimental ScratchX umbrella and version 3.0 brings it into core. The launch featured a few official extensions (for connecting to micro:bit, LEGO Mindstroms EV3, etc.) with the promise that custom third-party extensions will soon be possible. This will significantly streamline building a Scratch interface for kid-friendly programmable hardware. Something we’ve seen done for a drone, for exploring SDR, and even for a dollhouse. We’ll be keeping an eye out for the official release of Scratch 3.0 custom extension API, but anyone not afraid of working with fluid pre-release code are certainly welcome to dive in right now.

23 thoughts on “MIT Scratch 3.0 Opens New Doors For Users And Builders Alike

  1. What a coincidence. My kid just got a book on how to code in Scratch he’s exicted to use. I wonder how different the UI in 3.0 is… will he be lost, or will that book be compatible with 3.0 I wonder. We’ll give it a shot and see…

    1. We developed Scratch 3.0 to not be a radical departure from 2.0. The UI has been rearranged, but in a way that we think improves it and is recognizable to anyone who has used 2.0 before. Books that show methods and patterns for 2.0 should also work in 3.0. Goodluck and Scratch On!

  2. the trouble with scratch 3 is that it is all web based – and using it compared to scratch 2 (offline) is quite frustrating even on a fast computer and network connection.. They also haven’t updated the functionality much..

    I simply haven’t understood this whole move to browser based software – sure you can run it anywhere, but it runs like you are back in 1995…

    1. That’s why I installed Scratch 2.0 running locally on the STEM machines at the local school on top of lubuntu. Fast, even on 8 year old hardware, and no internet needed, so less distractions for (ahem) inquisitive types.

        1. Hi Ian, thanks for your thoughtful response. The Lifelong Kindergarten Group here at the MIT Media Lab is spends a lot of time with kids and adults researching learning methods and practices. The lead of the group is Mitch Resnick who recently wrote the book Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play. I recommend picking up a copy to understand the background behind the design of Scratch itself both 2.0 and 3.0.

      1. A great question! as mentioned by elwing and Gordon, we do have an offline editor that is 3.0 specific and currently is available for Windows and Mac only (the online version works great with Chrome + Linux). We are a relatively small group of engineers and we are a non-profit. We currently do have an offline Linux version planned. A port of the Scratch Link software to Linux is in the works. Scratch 3.0 is the outcome of about 3 years of work, with a primary goal of keeping all previous Scratch projects compatible with the new release as well as improving the overall UI and individual experience with Scratch. We aren’t done and now that we are seeing what millions of Scratchers are experiencing with their individual environments, we’re following up with fixes, improvements and new development.

      2. You can install Scratch 2.0 on Linux, but it requires some pericombobulation. I put it on 6 x 2.4GHz 64 Bit Intel boxes with 2GB of RAM a few weeks ago and it works beautifully. None of the machines need network connectivity to run Scratch and the multiplicity of other education applications under Linux, which was a MAJOR plus from the school’s perspective.

        It was easiest to install on lubuntu. The problem is that you need to install 32 bit libraries to get the flash player and scratch 2.0 to work on 64 bit machines.

        By not allowing standalone Scratch 3.0 on FOSS operating systems like Linux, MIT is effectively imposing forced (and expensive) hardware upgrades on educators who can ill afford it

        I donated my time to get the computers up and running for a STEM lab; the school shouldn’t have to pay a Microsoft, Apple or hardware tax to educate.

        See

        http://www.computacaonaescola.ufsc.br/?page_id=55&lang=en

        Here’s a cheat sheet of sorts that I used at the local school on some older boxes they had running Win 7, which now run lubuntu :-)

        ————————————————————–

        # install i386 necessary libraries
        $ sudo apt-get install libgtk2.0-0:i386 libstdc++6:i386 libxml2:i386 libxslt1.1:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386 libqt4-qt3support:i386 libgnome-keyring0:i386 libnss-mdns:i386 libnss3:i386

        # install keyring
        $ sudo apt-get install libgnome-keyring0:i386

        # make keyring visible for Air

        $ sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
        $ sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0

        # Download Adobe Air
        cd ~/Downloads
        wget http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRSDK.tbz2

        sudo mkdir /opt/adobe-air-sdk
        sudo tar jxf Desktop/32bitScratch/fromDownloads/AdobeAIRSDK.tbz2 -C /opt/adobe-air-sdk
        sudo tar xvf Desktop/32bitScratch/fromDownloads/adobe-air.tar.gz -C /opt/adobe-air-sdk
        sudo chmod +x /opt/adobe-air-sdk/adobe-air/adobe-air

        sudo mkdir /opt/adobe-air-sdk/scratch
        sudo cp Desktop/32bitScratch/Scratch-456.0.1.air /opt/adobe-air-sdk/scratch/

        sudo cp ~/Desktop/32bitScratch/AppIcon128.png /opt/adobe-air-sdk/scratch/scratch.png

        cp Desktop/32bitScratch/Scratch-456.0.1.air /tmp/
        cd /tmp/
        unzip /tmp/Scratch-456.0.1.air
        sudo cp /tmp/icons/AppIcon128.png /opt/adobe-air-sdk/scratch/scratch.png)

        sudo cp ~/Desktop/32bitScratch/Scratch2.desktop /usr/share/applications/

  3. “Program characters to speak in other languages with the Google Translate extension, or to talk out loud with the Amazon Text-to-Speech extension.”
    Is it just me, or is it a bit worrying that MIT is so eager to sell the kids’ privacy to Amazon and Google?

    1. Linking to the local system reliably currently is best achieved by connecting to the local system over the “localhost”. Until browsers provide better support for connecting to USB and/bluetooth that is the best way we have found so far.

      It should not require an Internet connection. If you are runking into an issue there please let us know at https://scratch.mit.edu/contact-us

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.