ideas-computer-jasper-jasperLearnToProgramNotes1

---

when i went to http://scratch.mit.edu/projects/editor/?tip_bar=getStarted , there is a tutorial where you make a cat sprite dance.

i created a simple script with 3 commands. The commmands are presented as GUI puzzle piecs, but here is some text that sort of corresponds to them:

On green flag clicked: repeat 10: move 10 steps

(note: the 'move' seems to implicitly reference the cat sprite, i think because i had it selected in the sprite selector area in the GUI while these commands were displayed)

one discoverability issue was in the very first step; when i opened this page, there was an authoring tool with various panes. It was unclear what i was supposed to do. I eventually noticed in the rightmost pane that there was some tutorial text. But it confused me because it said:

"Step-by-Step Intro

Want to get started with Scratch? Try this!

(picture of cat dancing in disco ballroom)

(picture of star) 1 Start Moving

Drag a MOVE block into the Scripts area.

(picture of a MOVE block in the appropriate area) "

it confused me because i thought i was supposed to "try" (picture of cat dancing in disco ballroom). But there was no disco ballroom anywhere except right there, and when i clicked on it nothing happened.

also at the bottom of each tutorial section there was a hyperlink to the next section, but apparently no way to get back to the previous one

There is a File menu with options:

New --- Upload from your computer Download to your computer --- Revert

i tried 'Download to your computer' to see what format the script would be in. It downloaded as an .sb2 file. An .sb2 file is a .zip file. When i unzipped it, it had 4 graphics files (2 .pngs and 2 .svgs), 2 sound files (.wavs), and 1 'project.json' file. Here is the contents of project.json:

{ "objName": "Stage", "sounds": [{ "soundName": "pop", "soundID": 1, "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", "sampleCount": 258, "rate": 11025, "format": "" }], "costumes": [{ "costumeName": "backdrop1", "baseLayerID": 3, "baseLayerMD5": "739b5e2a2435f6e1ec2993791b423146.png", "bitmapResolution": 1, "rotationCenterX": 240, "rotationCenterY": 180 }], "currentCostumeIndex": 0, "penLayerMD5": "5c81a336fab8be57adc039a8a2b33ca9.png", "penLayerID": 0, "tempoBPM": 60, "videoAlpha": 0.5, "children": [{ "objName": "Sprite1", "scripts": [[18, 55, [["whenGreenFlag"], ["doRepeat", 10, [["forward:", 10]]]]]], "sounds": [{ "soundName": "meow", "soundID": 0, "md5": "83c36d806dc92327b9e7049a565c6bff.wav", "sampleCount": 18688, "rate": 22050, "format": "" }], "costumes": [{ "costumeName": "costume1", "baseLayerID": 1, "baseLayerMD5": "f9a1c175dbe2e5dee472858dd30d16bb.svg", "bitmapResolution": 1, "rotationCenterX": 47, "rotationCenterY": 55 }, { "costumeName": "costume2", "baseLayerID": 2, "baseLayerMD5": "6e8bd9ae68fdb02b7e1e3df656a75635.svg", "bitmapResolution": 1, "rotationCenterX": 47, "rotationCenterY": 55 }], "currentCostumeIndex": 0, "scratchX": -92, "scratchY": 3, "scale": 1, "direction": 90, "rotationStyle": "normal", "isDraggable": false, "indexInLibrary": 1, "visible": true, "spriteInfo": { } }], "info": { "flashVersion": "LNX 11,2,202,359", "videoOn": false, "scriptCount": 1, "swfVersion": "v419", "spriteCount": 1, "userAgent": "Mozilla\/5.0 (X11; Ubuntu; Linux x86_64; rv:29.0) Gecko\/20100101 Firefox\/29.0" } }

note that my source code is represented not as plaintext but as an AST in children.scripts.

http://wiki.scratch.mit.edu/wiki/Scratch_File_Format_%282.0%29

---

so, from the .sb2 file format, i think we should take the project file format and use the idea of objects with scripts and included sprites, sounds, etc, but have have text files for the actual source code, rather than representing code as a JSON object (hard to edit in text editor)

note that Scratch currently uses Flash but we'll use HTML5

--

http://twolivesleft.com/Codea/

--