(Redirected from 11Oct03)

SandCastleIcon.png 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.
Archive.png This article or section documents something not included in the current version of Scratch (3.0). It is only useful from a historical perspective.
Scratch 11Oct03
Scratch 0.1.png
Variants 11Oct03
Release Date 11Oct03 — 2003/10/11
Programming language Squeak
Download 11Oct03 ZIP file[note 1] 11Oct03 Squeak image
Successor 8Dec03

Scratch 11Oct03, created on October 11, 2003, is the first known version of Scratch. It was not released to the public until September 28, 2022 when The Block Coding Archive acquired it by emailing John Maloney. Scratch 11Oct03 saves files by using the .scratch file extension, as opposed to the .sb file extension used in Scratch 1.x. Scratch 11Oct03 is sometimes also called Scratch 0.1. It had a very different layout, with the script area on the bottom-right, the blocks palette above it, the categories which were selected using a dropdown menu, and the stage on the left side, which could be resized.

Features

As Scratch 11Oct03 was the first release of Scratch, all features were new. Scratch 11Oct03 had seven sprite categories: control, file, math, motion, mouse/keyboard, scripts, sensing, testing (which included comparison and boolean operator blocks), and variables. Scratch 11Oct03 contained a total of 46 blocks, which is small compared to Scratch 3.0 containing over 125 blocks (not including extensions). There were three kinds of objects including the sprite, sound, and imagebox. Unlike the December 2003 version, sensor boards were not implemented yet. Additionally, blocks like "goto []" that have separate inputs for X and Y in newer versions only had one input, which was set by using a crosshair to select a position. This could be circumvented by using the "point x [] y []" reporter in the "math" block category. Also, a "copy" block existed in the "math" block category, which made a clone of an object directly on top of the original.

Variables

Unlike newer versions of Scratch that used reporter stage monitors, Scratch 11Oct03 simply provided pre-defined variables. The variables "x", "y", "layer", "heading", "width", "height", "xScale", "yScale", "transparency", "penDown", and "penSize" were created by default and could not be deleted, holding values defined by the blocks associated with them. Additional variables could still be created and deleted manually. Similarly to Scratch 3.0, the "set [x] to []" block utilizes a dropdown to select which variable to change. Note the lack of a "change [x] by []" block.

Procedures

Main article: Scripts (category)

Procedures, or "scripts" as they are called in the Scratch 11Oct03 editor, are Scratch 11Oct03's equivalent of "My Blocks" in Scratch 2.0 and 3.0. Procedures in Scratch 11Oct03 can be renamed, input parameters can be added to them, and buttons can be created for them. Such procedures also make use of the "answer []" block, which returns the value specified in the input. These procedures can be used as reporters or be run independently, and they can check if other procedures are running. Procedures can also be started and stopped individually. To access these options in Scratch 11Oct03, one must right-click a hat block.

Note Note: "Scripts" in this section are not the same as the collections of attached blocks called scripts. For information about those, see Scripts.

Arbitrary Code Execution Exploit

The "answer []" block does not sanitize the input. Using this it is possible to break out of Scratch code and run arbitrary Squeak code, which could be anything, from creating a list to potentially downloading malware.[citation needed]

File Blocks

Although Scratch 11Oct03 does not have support for sprite costumes, the file blocks in the "file" block category of the editor give the user the ability to replace the current sprite's image with the file specified. For example, if the current image of a certain sprite was a cat, and a "load [dog.png]" block was used, the sprite would change its image to that of a dog (if a file labeled "dog.png" existed in the same directory as Scratch 11Oct03). The "save []" block would save the current sprite image to the specified file.

Images

Notes

  1. This ZIP file is a copy of the original Scratch11Oct03 package, as it was in 2003 when it was made available at the following download page: https://web.archive.org/web/20040219052137/http://web.media.mit.edu/~jmaloney/mas714scratch/ (archived from February 2004)


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