dark mode light mode Search Menu

The New Version of Scratch

Sing it from the hilltops, shout it from on high.

Scratch 3 is almost here!

Scratch 3 is almost here!

Okay, so if you’ve been using Scratch at all recently you’ve probably noticed the call to try out Scratch version 3, which is currently in beta until the start of 2019. Scratch 3 has been in development for a long time but it’s almost, finally ready. Currently it’s available at: https://beta.scratch.mit.edu/

You might be wondering if my enthusiasm above for Scratch 3 is a joke or faked for this article. Absolutely not! From my perspective as a teacher who spends a lot of time using Scratch, I’m really, really excited for Scratch 3 to be released. So let’s talk about why I’m excited!

If you open up Scratch 3 the first thing you’re going to see is something like:

If you’re anything like me you’ll have two thoughts in succession after you start the Scratch 3 beta:

  1. “Okay, so they flipped the stage and the code parts of the screen. Huh.”
  2. “Wait that loaded super fast!”

So, yes, the flipping of the screen is the most immediately obvious thing you’ll notice in comparison to Scratch 2. Now, I haven’t read an explanation of why they made this choice but my theory is that it’s to enable the use of Scratch 3 on tablets for the primarily right-handed population.

I did indeed say “Scratch 3 on tablets”. Here’s what it looks like:

Other than being a hair more cramped, it’s pretty much identical! This is for the same reason that Scratch 3 loads so quickly: Scratch 3 is an ordinary web page coded up in HTML, CSS, and JavaScript. The old version of Scratch was an Adobe Flash program, which is why it ran slow as heck, crashed sometimes, and couldn’t actually be used on a tablet.

I’m highlighting tablets because I think on a phone the UI would be just too cramped to actually be useful, but in principle you could do it.

And one thing you have to experience for yourself is how much faster Scratch 3 feels. Everything moves a little smoother, a little more naturally. The million of tiny little delays you get used to in the current version of Scratch, like the little bit of lag when putting a complex expression into a hole or snapping an if-else around a chunk of code, just don’t seem to be there anymore. Am I unreasonably excited by this fact? Maybe.

Let’s now get into the more nitty gritty bits of what’s changed, at least as of the beta.

One of the things that’s changed the most is the UI for managing sprites. Gone is the expandable little i button you needed to click on to get at things like name, direction, etc. Instead the information is just right there, always visible, just beneath the stage:

You can change the name, the direction the sprite is facing, its current position, its visibility, or even the size. I love that last addition. The old buttons for changing the size always felt a little clunky to me—frequently making the sprite a little too big or a little too small—and it seemed silly to have to jump to code just to set the size to an exact number.

If you’re wondering how to change the sprite rotation style, it’s now a little pop-out menu that shows up when you click inside the “Direction” bubble:

What’s also changed is the menu for adding new sprites. It’s a little pop up that expands when you hover over the icons in the lower right-hand corner.

The UI for drawing sprites or costumes also seems mostly the same with a little touch up that makes it more readable and a little more intuitive.

What about the coding itself; has that changed? Not really, but just a little bit.

One change is to the color-coded sections of blocks. They remain as separate categories you can click on, but you can also scroll through all the categories without clicking between them. It’s a small touch, but a nice one, for the times you’re wondering, “Wait, was starting as a clone an event block or a control block?”

Also, the UI for making custom blocks is a little more intuitive:

The actual execution of code is mostly the same, as far as I’ve tested. The limit on the number of clones you can make seems identical, sadly. There are a couple of blocks that were added and removed. For example, you can’t set video transparency in the “Sensing” section anymore, but there is a block that changes whether a sprite is draggable during runtime. You also can’t change the tempo of a song but you can change the pitch.

These little things are, I’m guessing, what’s most likely to change over time. Almost every other block is the same, though. Scratch 3 is clearly intended to replicate Scratch 2 in the HTML/JavaScript/CSS framework instead of Adobe Flash, making some UI improvements here and there along the way.

That doesn’t mean I’m any less excited for it, though!
So go ahead and try out the beta. You can’t save your work yet but mess around, see how it is, and if you run into bugs or if you’re missing something they changed just report it by clicking on the big “give feedback” button.

…did I mention it’s faster?

Learn More

3 Things to know about Scratch 3


Scratch 3.0 Wiki


CoderDojo Guide to Scratch 3