This article has links to websites or programs outside of Scratch and Wikipedia. Remember to stay safe while using the internet as we cannot guarantee the safety of other websites.
The Scratch Lab logo.
An experimental project using the Animated Text extension
The front page of the Scratch Lab website

Scratch Lab is a website created by the Scratch Team to share experimental features and new ideas. Scratch Lab showcases potential new features for Scratch to get the public's opinion on them, however, not all Scratch Lab blocks get added to Scratch. The Scratch Team announced Scratch Lab on February 2nd, 2021.[1] The Scratch Team also announced the news via the Front Page and the Announcements topic. The Scratch Lab homepage can be found at lab.scratch.mit.edu.

Scratch Lab is a space for our team to tinker, test, and play with new ideas. But most importantly, Scratch Lab is a space for you! We’d love to hear what you think with the feedback forms on the Scratch Lab website. Have fun with these experimental features, and stay tuned to find out what’s next for Scratch Lab!

― Scratch Team

Note Caution: Despite the fact that all Scratch Lab projects are saved in an SB3 file, it is not possible to upload them in the default Scratch editor until they are officially added because the extensions are not in Scratch's main editor. Doing so will result in a crash in the site. Opening a Scratch Lab project with the offline editor will cause it to load infinitely.

Experimental Features

As of December 2023, three experimental features accessible on Scratch Lab home page, and five accessible with links to it:

Video Sprites

Video Sprite icon.
The extension icon for Video Sprite.

Video Sprites can overlay the camera on top of a sprite, which can be zoomed in and out using certain blocks. It was released on September 13th 2023.

Blocks

  • fill sprite with camera:: extension — Overlays the camera over a sprite.
  • fill stage with camera:: extension — Like the previous block, but only shows on the stage[2]
  • fill (#FF0000) with camera:: extension — Overlays the camera over any part of a sprite with the same color as specified.
  • change camera zoom by (25):: extension — Changes the zoom level of the camera.
  • set camera zoom to (100):: extension — Sets the zoom level of the camera.
  • stop filling with camera:: extension — Stops overlaying the camera on top of a sprite.

Face Sensing

Main article: Face Sensing Extension
The extension icon for Face Sensing.

Face Sensing tracks a face's movement using special blocks and can detect if a face or certain facial features (eg: a nose) is present. It was released on February 2nd, 2021 on Scratch Lab along with the Animated Text experimental feature, the day Scratch Lab was announced. The extension has been officially released on the main Scratch website, but a beta version of the extension can still be viewed in Scratch Lab.

Blocks

  • go to [nose v]:: extension — Makes the sprite follow a detected face's nose, mouth, left and right eyes, between eyes, left and right ear, or top of head.
  • point in direction of face tilt:: extension — Points the sprite in the direction of the detected face.
  • set size to face size:: extension — Sets the size of the sprite to the size of the detected face.
  • when face tilts [left v]:: extension hat — Activates when the detected face tilts left, or right.
  • when this sprite touches a [nose v]:: extension hat — Activates when a sprite touches a detected face's nose, mouth, left and right eyes, between eyes, left and right ear, or top of head.
  • A popup box is shown to the right of the Add Extension button in the Scratch 3.0 editor. It is titled "Hey there! 👋" and beneath captioned "There is a new extension!"
    Notification informing users that the Face Sensing extension has been officially released on the main Scratch website
    when a face is detected:: extension hat — Activates when a face is detected.
  • <a face is detected?:: extension> — Senses if a face is detected.
  • (face tilt:: extension) — Returns the detected face's tilt. This reporter can be displayed as a Stage Monitor.
  • (face size:: extension) — Returns the detected face's size. This reporter can be displayed as a Stage Monitor.

Animated Text

The Extension Icon for Animated Text Blocks

Animated Text allows writing of text using special blocks and uses all the fonts from the paint editor, except the 中文 (Chinese), 日本語 (Japanese) and 한국어 (Korean) fonts. It was released on February 2nd 2021 along with the Face Sensing experimental feature, the day Scratch Lab was announced.

Blocks

  • show text [Welcome to my project!]:: extension — Prints text.
  • [rainbow v] text [Here we go!]:: extension — Prints text with a type, rainbow, or zoom effect.
  • show sprite:: extension — Erases text and returns to the sprite.
  • set font to [Pixel v]:: extension — Sets text font to Sans Serif, Serif, Handwriting, Marker, Curly, Pixel or a random font.
  • set text color to [#0000ff]:: extension — Sets text color.
  • set width to (200) aligned [left v]:: extension — Aligns text to left, center, or right.

Custom Fonts

It is possible to use any installed font in Scratch Lab. To do this:

An example of a custom font in an animated text Scratch Lab Project
  1. Create a new Scratch Lab project with a set font to [Pixel v]:: extension block.
  2. Save the project to the computer.
  3. Decompress the .sb3 file.
  4. Open the project.json file in a text editor.
  5. Locate the text.setFont section of the json.
  6. Replace the code specifying the font (should say "Pixel") to the name of a font installed.
  7. Compress the project folder into a .zip.
  8. Rename the .zip file to an .sb3 file (Optional, but faster)
  9. In Scratch Lab, open the .sb3.
  10. The set font to [Pixel v]:: extension block should now be set to the font that has been selected.

Features Not Available on the Home Page

These features cannot be accessed directly from the home page, but are still accessible via a link.

AI Blocks

AI Blocks extension icon.
The extension icon for AI Blocks.

AI blocks allowed projects to communicate with OpenAI's GPT-3. The extension consisted of three blocks:

  • ask AI [who are you?] and wait:: extension
  • (AI response:: extension)
  • set system prompt [you are a meowing cat]:: extension

The server that the extension used for ChatGPT access has since been taken offline;[citation needed] as such, this extension no longer functions. However, the blocks are still accessible.

Widget Text

Widget Text allows for projects to display simple widgets for a certain amount of time. The extension consists of 5 blocks:

  • title [once upon a time...] for [5] secs:: extension
  • say [welcome to my project!] for [5] secs:: extension
  • ask [which way should we go?] with options [left] [right] [stay where we are!] [go back the way we came]::extension
  • (response:: extension)
  • [Sprite1 v] says [Welcome to my project!] for [5] secs:: extension

These blocks were intended to allow projects to use text without the need of complex code. However, the extension was deemed too restrictive, and focus was instead put on the Animated Text extension to solve the text complexity problem.[3]

Costume Text

The link for the Costume Text extension opens the Scratch editor without any special extensions and replaces the Scratch Cat sprite with a light pink square with the text "default text". The extension was likely the predecessor for the Animated Text extension.[4]

New Block Colors

New Block Colors changes block colors to be lighter and text to be black to be more accessible for users with eyesight disabilities, as well as following W3 WCAG Guidelines. The feature was released on 13th October 2022. These block colors have been implemented on the main site on June 28th, 2023. Below is a comparison of the old block colors and new block colors.

Old block colors:

when gf clicked
start sound (Meow v)
say [High contrast blocks!] for (1) seconds
forever
  turn cw (15) degrees
  move (pick random (1) to (5)) steps
end

New block colors:

when gf clicked
start sound (Meow v)
say [High contrast blocks!] for (1) seconds
forever
  turn cw (15) degrees
  move (pick random (1) to (5)) steps
end

Feedback

There is a "Give Feedback" button on each project page using the Lab Editor. This redirects the user to a Google Form. There are 3 different forms: one for the Video Sprites extension,[5] one for the Face Sensing extension,[6] and one for the Animated Text extension.[7] It asks what the user liked and disliked about the blocks, what could be improved on, and their username and browser that they were using to test out these features (the last two questions are optional). Those that have entered their username in their response may get followed up on their feedback.

History

When Scratch Lab was first released, there was no homepage. As a result, there was a "Whoops! This Scratch Lab page doesn't exist" error when visiting lab.scratch.mit.edu.[8] The homepage was later added on April 30th, 2021.[9]

References

Cookies help us deliver our services. By using our services, you agree to our use of cookies.