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.NET, 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.)
(Click on a checkbox when you make a help screen for a block)
Looks:
Sound:
Pen:
Control:
Sensing:
Operators:
Lists:
Other:
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:
Looks:
Sound:
Pen:
Control: (need info on “any key”) (WAY too low quailty) (also low quailty)
Sensing:
Operators:
Variables:
Lists:
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
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:
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. 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.
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.)