Making help screens

On this thread, we are making help screens for all the blocks which currently don’t have a help screen.


How and what can I do to make a help screen?

If you have any filters applied, e.g. Flat Design, then use this link for script pics (Because flat design shouldn’t apply to the end result).

You could use GIMP, Canva, Paint.N‍ET, or anything that works for you. Just make sure it follows the templates! The help screens should be detailed and high quailty helpscreens.

Fonts:

  • Georgia Bold (Serif font for text)
  • Calibri (Sans-serif font for when pointing to something about the menus of the text rather than the actual block function)
  • Courier New Bold (Monospace typewriter font, for when you’re pointing to the block’s name, inside of the block description.)

Templates:

Here is what a helpscreen could look like:


Checklist

(Click on a checkbox when you make a help screen for a block)

Looks:
untitled script pic (10)
untitled script pic (11)

Sound:
untitled script pic (12)

Pen:
untitled script pic (15)
untitled script pic (16)
untitled script pic (17)
untitled script pic (13)
untitled script pic (14)
untitled script pic (15)
untitled script pic(20)
untitled script pic(21)
untitled script pic (12)

Control:
untitled script pic (16)
untitled script pic (13)
untitled script pic (18)
untitled script pic (10)
untitled script pic (11)
untitled script pic (12)
untitled script pic (13)
untitled script pic (14)
untitled script pic (15)
Untitled script pic (20)

Sensing:
untitled script pic (16)

Operators:
untitled script pic (30)
untitled script pic(2)
untitled script pic
untitled script pic (10)
untitled script pic(1)
untitled script pic (11)
untitled script pic (17)
untitled script pic (10)
untitled script pic (11)
Untitled script pic (21)

Lists:
untitled script pic (12)

Other:
untitled script pic (13)
Untitled script pic (14)
Untitled script pic (15)
Untitled script pic (16)
Untitled script pic (17)
Untitled script pic (18)
Untitled script pic (19)


Helpscreens that need updating

Low priority - try to do more new help screens instead of going here!

Here’s a checklist for help pictures you could remake the help screens of (e.g. scratch 1.4 looks, outdated info, or low quality):
Motion:
untitled script pic(1)
untitled script pic(2)
untitled script pic(3)
untitled script pic
untitled script pic(6)
untitled script pic(7)
untitled script pic(8)
untitled script pic(4)
untitled script pic(5)
untitled script pic(10)
untitled script pic(11)
untitled script pic(12)
untitled script pic(13)
untitled script pic(9)

Looks:
untitled script pic (2)
untitled script pic (3)
untitled script pic (4)
untitled script pic (5)
untitled script pic (6)
untitled script pic (10)
untitled script pic (11)
untitled script pic (12)
untitled script pic (13)
untitled script pic (14)
untitled script pic (15)
untitled script pic (16)
untitled script pic (17)
untitled script pic (18)
untitled script pic (19)
untitled script pic (20)
untitled script pic (21)

Sound:
untitled script pic(1)
untitled script pic(2)
untitled script pic(3)
untitled script pic(4)
untitled script pic
untitled script pic(5)
untitled script pic(6)
untitled script pic(7)

Pen:
untitled script pic(2)
untitled script pic(3)
untitled script pic(4)
untitled script pic
untitled script pic(1)
untitled script pic(5)
untitled script pic(6)

Control:
untitled script pic (8)
untitled script pic (9)
untitled script pic
untitled script pic(1) (need info on “any key”)
untitled script pic(3)
untitled script pic(4)
untitled script pic(5)
untitled script pic(6)
untitled script pic(2)
untitled script pic (9)
untitled script pic(7)
untitled script pic(8)
untitled script pic(9)
untitled script pic(10)
untitled script pic(11) (WAY too low quailty)
untitled script pic(1) (also low quailty)

Sensing:
untitled script pic(3)
untitled script pic(4)
untitled script pic
untitled script pic(1)
untitled script pic(2)
untitled script pic(7)
untitled script pic(8)
untitled script pic(9)
untitled script pic(5)
untitled script pic(6)
untitled script pic(10)
untitled script pic(11)

Operators:
untitled script pic(13)
untitled script pic(12)
untitled script pic
untitled script pic(15)
untitled script pic(14)
untitled script pic(3)
untitled script pic(4)
untitled script pic(5)
untitled script pic(1)
untitled script pic(2)
untitled script pic(6)
untitled script pic(7)

Variables:
download (1)
download (2)
untitled script pic (24)
untitled script pic
untitled script pic(1)
untitled script pic(2)
untitled script pic(3)

Lists:
untitled script pic(1)
untitled script pic(2)
untitled script pic(3)
untitled script pic(4)
untitled script pic (26)

Original post

Feature Requests

Snap! Feature Requests


So my idea is an addition to an already existing Snap! feature, which is the help option!

In my opinion, there should be more help screens as they stopped making them at some point.

It would also be nice to have the old Scratch help screens replaced, as they don’t explain the block much, especially the blocks which have been improvised a lot but have the same help screen

I get that if this were to be fully implemented, it would take time to design the graphics, but a text placeholder would be a nice addition to the blocks until it’s implemented

Yeah, we know. Working on it…

you can actually contribute yourself :smiley:
I’m not entirely sure where to find the templates, but they’re somewhere on this forum…

In here, there are two templates: BLANK and BLANKWIDE. Both are pretty much identical except BLANKWIDE is suited for blocks that are visually longer.

(This got updated, here is the new version)

I made one for pipe [] => <:>

while most of those examples show the pipe block, they are EXTREMELY outdated.
for the first one:

for the second one, why would you want to do that?

of course, these were from from the snap website (I believe) so you did nothing wrong. I would probably just suggest not using those examples. You can right click a reporter and select “result pic” to download a picture of your own examples from the help screens.

while most of those examples show the pipe block, they are EXTREMELY outdated.

I’m not sure that’s true. Yes, there are shorter ways to solve the acronym problem, especially since hyperblocks, but the purpose of PIPE is pedagogic. Students sometimes have a hard time with composition of functions because the function you see first is the one that’s actually invoked last. In your acronym code, for example, the first thing that happens is SPLIT, which is buried inside three other function calls. But with PIPE you can write it this way:


and then the student sees the functions in the order in which they’re called. The computer doesn’t care, but it affects human beings reading the code.

P.S. And the reason the original example was written the way it was is that its whole purpose is to introduce MAP, KEEP, and COMBINE. :~)

If you don’t mind, could you move the script pic that outputs “SNAP” so it doesn’t overlap with the border?

You can tune the text box to occupy more horizontal space and less vertical space.

Working on it :‍)

Alright guys, I improved it!
This time I remembered to save it as a .xcf file so I can add any more modifications in no time!

That looks pretty good. I like how the “join” at the end doesn’t have any empty slots, but novice programmers won’t even notice that it’s turning into “join input list”. And how “letter 1 of (empty slot)” is actually a hyperblock, but novices won’t notice the absence of “map”.

The one suggestion I would make is to add “!!!” to the end of the input text, so that the acronym becomes “SNAP!”. E.g.,

P.S. I wrote four exclamation marks in the text of the post, but the forum software trimmed it down to three, probably because the forum software expects middle schoolers to sometimes type far too many !!! marks. :slight_smile: But the script pic has the correct number of ! marks to pass the “filter (length > 3)” step.

I like how the “join” at the end doesn’t have any empty slots, but novice programmers won’t even notice that it’s turning into “join input list”. And how “letter 1 of (empty slot)” is actually a hyperblock, but novices won’t notice the absence of “map”.

Yeah, this is why I wrote the original version of ACRONYM using MAP, KEEP, and COMBINE. (We didn’t have hyperblocks back then, so I guess I had to use MAP, but COMBINE has long been kinda unnecessary since the half-dozen-or-so primitive associative reporters are variadic.)

I’m glad it’s there, though: reduce is one of the most fundamental building blocks of functional programming (in fact, it’s the most important one of the map/filter/reduce trinity, because you can’t build reduce from map or filter but you can build both map and filter just with reduce alone). The COMBINE block in Snap! isn’t actually reduce since it doesn’t ask for an initial value (and therefore has to have an arbitrary value, 0, for empty lists), but you can easily build reduce from COMBINE by simply sticking reduce’s initial value on the front of the list, like this:

(That’s from a project where I’m going through the 2015 Advent of Code problems: for day 1 I needed the function that F# calls scan, which is reduce but keeping the intermediate values, so that reducing the list 1,2,3,4 with + and initial value 0 produces the list 0,1,3,6,10. So I built it from reduce).

If the COMBINE block wasn’t there, I’d have to build the recursive version of reduce. Which I could do, but not nearly as simply as just calling COMBINE with the initial value prepended to the data list. Being able to build reduce that simply is very nice, which is why I’m glad COMBINE is there.

P.S. As you might notice, the Linux installation I’m currently typing on doesn’t have a font with the U+FE19 character, and I’ve had little success in searching the Internet to find out which font carries a glyph for that specific codepoint. Do you have a font recommendation for getting the vertical-ellipsis character? No worries if you don’t, I’m sure I’ll eventually find one with trial and error, but I find it’s usually good to ask in case someone else has the knowledge on the tip of their brain (so to speak).

(and therefore has to have an arbitrary value, 0, for empty lists)

Good point, COMBINE should know that the empty list is the identity element for APPEND. (APPEND is, I think, the only associative list primitive.) (Edit: I reported this a long time ago, it turns out. Some Boolean operators are also missing base cases. I’ll try to light a fire under this one.)

My Mac has vertical ellipsis in Adobe Gothic Std B, Apple SD Gothic Neo, Apple Symbols, Arial Unicode MS, Cambria, FreeMono, FreeSans, FreeSerif, Lucida Sans Unicode, Song Regular, among others. Your Linux box should have the Free ones, I should think.

Edit 2:

but you can build both map and filter just with reduce alone

I try hard to dissuade people from using COMBINE with non-associative operators. :~)

COMBINE doesn't know APPEND's base case (and others) · Issue #3324 · jmoenig/Snap · GitHub , right? I just came across that one yesterday and thought “Huh, I wonder if that’s something I could work on?” Answer turned out to be “Not right now, I have too much work for my actual job at the moment” as it usually does, but I do like the idea of being able to improve Snap! So if I find a lull in my work then I’ll see if I can take a look at that one.

I made one for combinations ☰ ☰ <:>

I really like this one. At the bottom there is some extra space though, maybe use the space to add a custom block usage for this.

Nice, thank you. I suggest replacing “pairs that can be made with each item” in the bottom part with “lists containing one item from each of the input lists.” Also, the examples you show both have all inputs the same length, which might lead users to think that that’s a requirement. If you used length-2 lists for two of the three inputs in the first example, you could fit the whole result on the screen. Also, this is just a cosmetic issue, but if you slightly reduced the font size of “Reports the…” and broke the line before rather than after “of,” you could fit the entire result. The “(and more…)” doesn’t really clarify that this isn’t the whole answer; I didn’t even notice it at first. (A subtle trick I like to use when I have to show a partial result like that is to have the last line only partly visible, by reducing the height of the speech balloon slightly. That makes it more obvious that you’re not seeing the complete result.)

Updated!

Really good!