Discuss Scratch

cycomachead
Scratcher
66 posts

Snap! user discussion

bharvey wrote:

I was more worrying about how to tell the user of the block what clicking the arrows will do – that it expands more than the immediately preceding input slot. But maybe that's not important?

There's a lot to think about. Someone once proposed an expandable HTTP block in which each right click would expose a different aspect of the connection, with text before each slot labelling it. That same idea would be great for Uri Leron's lesson to introduce procedure as object. He started with a procedure with no inputs that draws a row of four squares with a little space between them. Then he'd have students add inputs one at a time:
SQUARES NUMBER: ( )
SQUARES NUMBER: ( ) SIZE: ( )
SQUARES NUMBER: ( ) SIZE: ( )
SQUARES NUMBER: ( ) SIZE: ( ) SPACING: ( )
and so on, until finally asking them to show an arbitrary shape, not necessarily a polygon, so they'd want to use a procedure as input and he could teach them how to RUN it. My point here is that it'd be great if all those inputs were optional with defaults, so you could expose them one at a time, with only one set of arrows, not one per input.

Yeah, I proposed the crazy HTTP block a few times, though I'm sure others have as well. I probably wasn't even the first.

For this specific case, in my model, I would have 1 variadic group, that contains a nested group, and another nested group. [number [size ]].
That seems a bit tedious to build, but it preserves the prerequisite chain of inputs, so there's some logical connection to the nesting.

However, in the same model, you could have it such that you use 3 distinct input groups , and you could toggle those individually, but I imagine it would look quite funny as that would lead to an input with 3 expandable toggles right next to each other.
I think if you didn't need the inputs to be chained, you're essentially exposing keyword arguments, which could be nicely implemented as a variadic group of

A slight challenge in al of this, is how to expose the inputs to the programmer. Obviously, they'd be some form of list, and it seems natural that they'd be nested. This probably isn't a huge deal, since people working with crazy input types are probably comfortable with nested lists, but it's worth considering. My thought process was to approach this is a way of building nearly any possible input grouping, rather than making just a few cases simple. IMO, it seems that if we go down the route of providing a really powerful feature like this, we should aim for maximal flexibility, because the primary users of such a feature will the advanced kids, and us making curricula and libraries.

Last edited by cycomachead (June 29, 2017 06:11:41)

bharvey
Scratcher
1000+ posts

Snap! user discussion

Yes, well, I think you're right that we should move this to dev. We've probably said enough to convince TruDev that this isn't a trivial design issue! (That's how we ended up talking about this on user.)

TruDev
Scratcher
80 posts

Snap! user discussion

bharvey wrote:

Yes, well, I think you're right that we should move this to dev. We've probably said enough to convince TruDev that this isn't a trivial design issue! (That's how we ended up talking about this on user.)

Yep.

Since beginnings of 1.4, three accounts so far

Chibi-Matoran
Scratcher
1000+ posts

Snap! user discussion

In Scheme, groups of inputs in special forms that may be repeated are often enclosed in an extra set of parentheses. I think that in Snap!, variadic groups should be enclosed in some sort of raised layer, similar to the raised layer that parameters have in the custom block editor. Each grouping would have its own “+” buttons to add inputs, including buttons at the beginning and end.

Last edited by Chibi-Matoran (June 28, 2017 00:01:01)


Cassian && ||
bharvey
Scratcher
1000+ posts

Snap! user discussion

Chibi-Matoran wrote:

In Scheme, groups of inputs in special forms that may be repeated are often enclosed in an extra set of parentheses. I think that in Snap!, variadic groups should be enclosed in some sort of raised layer, similar to the raised layer that parameters have in the custom block editor. Each grouping would have its own “+” buttons to add inputs, including buttons at the beginning and end.
Yeah, maybe. Same for what the user sees? A raised layer followed by arrowheads?

cycomachead
Scratcher
66 posts

Snap! user discussion

Chibi-Matoran wrote:

In Scheme, groups of inputs in special forms that may be repeated are often enclosed in an extra set of parentheses. I think that in Snap!, variadic groups should be enclosed in some sort of raised layer, similar to the raised layer that parameters have in the custom block editor. Each grouping would have its own “+” buttons to add inputs, including buttons at the beginning and end.

I've forgotten a lot of Scheme ( :O ), but is this more equivalent to passing an array as an argument rather than variadic arguments?
bharvey
Scratcher
1000+ posts

Snap! user discussion

cycomachead wrote:

I've forgotten a lot of Scheme ( :O ), but is this more equivalent to passing an array as an argument rather than variadic arguments?
No, he/she/they (sorry, I don't remember your preferred pronoun) said “special forms” as in
(cond [(< x 0) (- x)]
[(= x 0) 87]
[else (* x x)])
You can use parentheses instead of brackets, but the point is that those ones (as opposed to the other parentheses in this example) are neither procedure invocations nor list delimiters; they're just pure syntax delimiting a “cond clause” in which the first expression is the test condition and all remaining expressions in the clause with the first true condition are evaluated left to right. The value of the cond is the value of the last expression in that clause. So each cond clause is like a grouping of inputs, and because you can have any number of clauses in the cond, it's a variadic grouping, although I hadn't thought of it that way.

_nix
Scratcher
500+ posts

Snap! user discussion

Chibi-Matoran wrote:

I think that in Snap!, variadic groups should be enclosed in some sort of raised layer, similar to the raised layer that parameters have in the custom block editor.
I think I've actually had this idea before. Now that somebody else is suggesting it, it suddenly looks less like just one of my silly ideas

blog (it has art, code, and stuff)
cycomachead
Scratcher
66 posts

Snap! user discussion

bharvey wrote:

The value of the cond is the value of the last expression in that clause. So each cond clause is like a grouping of inputs, and because you can have any number of clauses in the cond, it's a variadic grouping, although I hadn't thought of it that way.

Oh, yeah, that makes sense! cond crossed my mind, but I also wasn't thinking of it as variadic.
PullJosh
Scratcher
1000+ posts

Snap! user discussion

With the disappearance of the “discuss” tab in the Scratch navigation bar, I'm getting a bit anxious to see a Snap! website that allows sharing projects and discussing with others. I know this is a work in progress, but I'm curious where things are at. Is there any way that I could help?

bharvey
Scratcher
1000+ posts

Snap! user discussion

PullJosh wrote:

Is there any way that I could help?
Thanks, Josh, but things are actually well in hand, even though it seems like nothing is happening. Right now there's a feature freeze as Jens finishes 4.1 OOP. (Actually there is talk of calling it 5.0 instead; stay tuned.) A bunch of piled-up PRs will be pulled at the same time. You can see a lot of what's happening in the dev version. We are having a summit meeting at the Bordeaux Scratch conference to try to get the details settled, and the rollout of the social site will definitely be high on the agenda.

We all get the urgency! The back end changes are implemented and tested. The thing is, the back end changes and the front end changes have to be turned on at the same time because of incompatibilities in the API. I had hoped this would all happen July 4 weekend, but somehow we missed that and now we're in teacher professional development workshop season, so it probably can't be until mid-August. It will definitely be before September! No huge changes while school is in session.

PullJosh
Scratcher
1000+ posts

Snap! user discussion

bharvey wrote:

PullJosh wrote:

Is there any way that I could help?
Thanks, Josh, but things are actually well in hand, even though it seems like nothing is happening.
Awesome to hear! I'm super excited.

pbjtscratch2126
Scratcher
4 posts

Snap! user discussion

How do you sign into Snap! ? I tried doing a new password, but it didn't work
bharvey
Scratcher
1000+ posts

Snap! user discussion

pbjtscratch2126 wrote:

How do you sign into Snap! ? I tried doing a new password, but it didn't work
When you create your account, you should get an email with an initial password. If you don't see that email, check your junk mail folder.

pbjtscratch2126
Scratcher
4 posts

Snap! user discussion

Sorry for the late reply, But It worked!
Wettining
Scratcher
100+ posts

Snap! user discussion

Is Snap down?

List of awesome people Here


bharvey
Scratcher
1000+ posts

Snap! user discussion

Wettining wrote:

Is Snap down?
Works for me. Does it not connect for you at all, or do you get an error message, or what?

Wettining
Scratcher
100+ posts

Snap! user discussion

bharvey wrote:

Wettining wrote:

Is Snap down?
Works for me. Does it not connect for you at all, or do you get an error message, or what?
It's given me the ‘The site is temporarily down or moved’ page

List of awesome people Here


cycomachead
Scratcher
66 posts

Snap! user discussion

I was having trouble connecting earlier today, too.
frodewin
Scratcher
500+ posts

Snap! user discussion

bharvey wrote:

TruDev wrote:

Are there any news on the social-media site?Also, should we share Snap! projects on this thread? Like, XML?
If you have a project you think will be generally useful, sure. People have done it. But if you're just pining for a social-media site, it's coming, likely this summer if the back end mods are on schedule.

Are there any news on the social-media site?

Why don't you try out some of my projects. I love to get feedback!
Click on the images to try them out.


You can find my best projects here or drop by my profile and say hi there!

Powered by DjangoBB

Standard | Mobile