Questions about modding Snap! and giving it the Scratch 3 style

Hello, I was hoping to mod Snap! and make it look like Scratch 3, but before I start there are a few questions I would like answered:

  • Would it be easier to mod Scratch 3 and add the Snap! features or mod Snap! and give it a new GUI?

  • Are there any good guides on how to mod Snap! (or Scratch) that you would recommend?

  • Has anyone modded Snap! to make it look like Scratch 3 before?

  • Is Snap! programmed in such a way that would make it reasonably easy to change the GUI?

Probably it would be harder to give Snap! the Scratch GUI. Snap! uses javascript modules as its primary source of code, and changing it to the Scratch style would require changing each and every single one of the modules by a lot.
People have already modded Scratch to have more features, some of which are already in Snap!, and though some of the general blocks like the unicode functions would be relatively easy, it would also require modding in first class lists, functions, and blocks.

Not that I know of, though the closest you can get to the Scratch 3 style is turning on Flat Design (editor > settings > Flat Design) and having block size set to 1.6 (editor > settings > Zoom blocks).

Yeah, I was going to ask @samq64 just how close to Scratch 3 he needs to be. If you just want it to look ugly, Flat Design might already meet that need. If it has to be the exact shape of new Scratch blocks, that's harder.

Changing Scratch to become Snap! would be a major undertaking. The most obvious Snap! features, such as individual blocks or zebra coloring, aren't the most important ones. What really makes Snap! Snap! are anonymous functions. That's actually easier to design in in the first place than to retrofit into an existing system in which functions aren't first class.

But honestly, I'd like to talk you out of the whole idea. When you're learning a new language, don't start by trying to make it just like something you already know. Let it be itself! Imho.

Yeah, you're right.

What does that stand for?

In my humble opinion

Did you just call Scratch 3 ugly? :rofl: :rofl:

By the way I'm going to do that too, but it will also have Scratch 1.4 and Scratch 2.0 GUI options. Because including all generations is cool.

Yes. But more than that, I think almost all web sites are ugly, because they work only on white backgrounds. If Flat Design had a dark background, I wouldn't hate it so much.

One reason we have Flat Design as an option is to make it possible to embed a Snap! project in a larger web page, without making the dark background stand out so much.

I've been complaining about the non-support of dark backgrounds in web pages pretty much as long as there's been the web, but finally the authors of browsers are starting to catch on that a bunch of people set their backgrounds to black and then have to deal with black-on-black text on nonconforming sites that set the foreground color without also setting the background color. So I'm hoping I can stop griping about Flat Design soon.

Very good points