Discuss Scratch

NoMod-Programming
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Ethan_1 wrote:

NoMod-Programming wrote:

And…… We're live! Visit whiskers.gwiddle.co.uk
Cool!

Made in 2015 as a clone of Scratch 2, but build in Squeak, Whiskers has been steadliy growing in the Raspberry Pi community, as it isn't powerful enough to run Scratch 2 (which uses Adobe Air©). Because this project is based mostly on spare time and caffeine, though, development may move quickly sometimes, or may not move at all for several days.


May I suggest:

Made in 2015 as a clone of Scratch 2, but built in Squeak, Whiskers has been steadily growing in the Raspberry Pi community, as the Pi isn't powerful enough to run Scratch 2….


Just a couple of things. Looks good though. I am going to test Whiskers locally with the SqueakJS. It sounds like the SqueakJS project has yet to do a fair number of optimizations, so the speed could increase. I may submit an issue about this. It is one of several things the owner has todo, and I think I'll make the case to prioritize speed.
I'll fix it.

liam48D wrote:

NoMod-Programming wrote:

And…… We're live! Visit whiskers.gwiddle.co.uk
Looks great! Why is the home page a picture of a MacBook and a phone, though? Shouldn't it be a picture of a Raspberry Pi?
I might consider it.


Also, a new beta is out. This fixes some UI bugs and colors, temporarily breaks custom blocks (in order to allow a possibility of custom reporters), temporarily disables the paint editor (as the new one is partly finished), fixes a few internal bugs, fixes a bug concerning the top of custom blocks, removes herobrine, removed the red coloring of beta blocks, adds a new (partially finished) sound editor, fixes a bug concerning two custom blocks running at once, fixed a couple bugs in ScratchProcess, in the process of removing the (useless) XML parser, fixed the new block dialog, fixed a bug concerning MenuMorph, MVCMenuMorph, CustomMenuMorph, SelectionMenuMorph, PopUpMenuMorph, and BlockMorph, added delete and duplicate to the right button menu in custom parameter reporters, fixed the deletion of scripts under a ProcedureHatBlockMorph, fixed the position of CBlockMorphs and IfElseBlockMorph added as a wrap to a ProcedureHatBlockMorph, added HSL colors to the Color class, fixed the loading and saving of certain block tuples, fixed a complicated bug concerning the creation of a custom block with a certain name, fixed recursive custom blocks, AND fixed the reporting of certain strings in reporter blocks.
WOAH THAT WAS A LONG PARAGRAPH. NOW DOWNLOAD THE NEW BETA HERE
-Io-
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

NoMod-Programming wrote:

Ethan_1 wrote:

NoMod-Programming wrote:

And…… We're live! Visit whiskers.gwiddle.co.uk
Cool!

Made in 2015 as a clone of Scratch 2, but build in Squeak, Whiskers has been steadliy growing in the Raspberry Pi community, as it isn't powerful enough to run Scratch 2 (which uses Adobe Air©). Because this project is based mostly on spare time and caffeine, though, development may move quickly sometimes, or may not move at all for several days.


May I suggest:

Made in 2015 as a clone of Scratch 2, but built in Squeak, Whiskers has been steadily growing in the Raspberry Pi community, as the Pi isn't powerful enough to run Scratch 2….


Just a couple of things. Looks good though. I am going to test Whiskers locally with the SqueakJS. It sounds like the SqueakJS project has yet to do a fair number of optimizations, so the speed could increase. I may submit an issue about this. It is one of several things the owner has todo, and I think I'll make the case to prioritize speed.
I'll fix it.

liam48D wrote:

NoMod-Programming wrote:

And…… We're live! Visit whiskers.gwiddle.co.uk
Looks great! Why is the home page a picture of a MacBook and a phone, though? Shouldn't it be a picture of a Raspberry Pi?
I might consider it.


Also, a new beta is out. This fixes some UI bugs and colors, temporarily breaks custom blocks (in order to allow a possibility of custom reporters), temporarily disables the paint editor (as the new one is partly finished), fixes a few internal bugs, fixes a bug concerning the top of custom blocks, removes herobrine, removed the red coloring of beta blocks, adds a new (partially finished) sound editor, fixes a bug concerning two custom blocks running at once, fixed a couple bugs in ScratchProcess, in the process of removing the (useless) XML parser, fixed the new block dialog, fixed a bug concerning MenuMorph, MVCMenuMorph, CustomMenuMorph, SelectionMenuMorph, PopUpMenuMorph, and BlockMorph, added delete and duplicate to the right button menu in custom parameter reporters, fixed the deletion of scripts under a ProcedureHatBlockMorph, fixed the position of CBlockMorphs and IfElseBlockMorph added as a wrap to a ProcedureHatBlockMorph, added HSL colors to the Color class, fixed the loading and saving of certain block tuples, fixed a complicated bug concerning the creation of a custom block with a certain name, fixed recursive custom blocks, AND fixed the reporting of certain strings in reporter blocks.
WOAH THAT WAS A LONG PARAGRAPH. NOW DOWNLOAD THE NEW BETA HERE
Love the MC reference. Btw wouldn't the custom reporter support break the compatibility with Scratch 2?
NoMod-Programming
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

-Io- wrote:

NoMod-Programming wrote:

Ethan_1 wrote:

NoMod-Programming wrote:

And…… We're live! Visit whiskers.gwiddle.co.uk
Cool!

Made in 2015 as a clone of Scratch 2, but build in Squeak, Whiskers has been steadliy growing in the Raspberry Pi community, as it isn't powerful enough to run Scratch 2 (which uses Adobe Air©). Because this project is based mostly on spare time and caffeine, though, development may move quickly sometimes, or may not move at all for several days.


May I suggest:

Made in 2015 as a clone of Scratch 2, but built in Squeak, Whiskers has been steadily growing in the Raspberry Pi community, as the Pi isn't powerful enough to run Scratch 2….


Just a couple of things. Looks good though. I am going to test Whiskers locally with the SqueakJS. It sounds like the SqueakJS project has yet to do a fair number of optimizations, so the speed could increase. I may submit an issue about this. It is one of several things the owner has todo, and I think I'll make the case to prioritize speed.
I'll fix it.

liam48D wrote:

NoMod-Programming wrote:

And…… We're live! Visit whiskers.gwiddle.co.uk
Looks great! Why is the home page a picture of a MacBook and a phone, though? Shouldn't it be a picture of a Raspberry Pi?
I might consider it.


Also, a new beta is out. This fixes some UI bugs and colors, temporarily breaks custom blocks (in order to allow a possibility of custom reporters), temporarily disables the paint editor (as the new one is partly finished), fixes a few internal bugs, fixes a bug concerning the top of custom blocks, removes herobrine, removed the red coloring of beta blocks, adds a new (partially finished) sound editor, fixes a bug concerning two custom blocks running at once, fixed a couple bugs in ScratchProcess, in the process of removing the (useless) XML parser, fixed the new block dialog, fixed a bug concerning MenuMorph, MVCMenuMorph, CustomMenuMorph, SelectionMenuMorph, PopUpMenuMorph, and BlockMorph, added delete and duplicate to the right button menu in custom parameter reporters, fixed the deletion of scripts under a ProcedureHatBlockMorph, fixed the position of CBlockMorphs and IfElseBlockMorph added as a wrap to a ProcedureHatBlockMorph, added HSL colors to the Color class, fixed the loading and saving of certain block tuples, fixed a complicated bug concerning the creation of a custom block with a certain name, fixed recursive custom blocks, AND fixed the reporting of certain strings in reporter blocks.
WOAH THAT WAS A LONG PARAGRAPH. NOW DOWNLOAD THE NEW BETA HERE
Love the MC reference. Btw wouldn't the custom reporter support break the compatibility with Scratch 2?
No… It's only internally, in case it gets added.
Jonathan50
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Whiskers website wrote:

1. Download and install Scratch 1.4 from here. Make sure you complete the setup process.
That doesn't seem like a good idea… it should be done from apt/synaptic.
And that will only work on Debian derived distros anyway…

Last edited by Jonathan50 (Jan. 14, 2016 21:44:52)

infinitytec
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Nice! Great updates!
SimpleScratch
Scratcher
500+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

as the Pi isn't powerful enough to run Scratch 2….
May I suggest just deleting that as its not true
Power isn't the issue - its the reliance on Flash/Air that does it it in

Also I'd like to re-iterate changing the Windows instructions to placing Whiskers.image into c:\program files(x86)\Scratch and creating a short-cut to it

No one (especially us teaching in schools) will want to stop their normal Scratch 1.4 from working (as its the one guarantee of a working Scratch install)

Simon
Jonathan50
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

I made a .deb (for version 346.15, which is the latest at the time of writing): link
To install:
sudo dpkg --install whiskers-346.15.deb
sudo apt-get install -f # if scratch is not installed
Enjoy
(if you don't have Scratch installed the first command will give errors: don't worry as the second command will fix it)

Edit: I fixed the .desktop file
Yay recursion works! Great job!!

Last edited by Jonathan50 (Jan. 14, 2016 22:52:52)

Tymewalk
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

This looks awesome!

Why did Scratch move away from Squeak anyways? Clearly 2.0 works on it.
Jonathan50
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Do you know why this script doesn't work?
define tree depth: (depth) size: (size)
if <(depth) > [0]>
pen down
move (size) steps
pen up
turn cw (15) degrees
tree depth: ((depth) - (1)) size: ((size) * (0.75))
turn ccw (15) degrees
turn ccw (15) degrees
tree depth: ((depth) - (1)) size: ((size) * (0.75))
turn cw (15) degrees
move ((size) * (-1)) steps
end
It just goes on the left but it doesn't draw the right half.
The same script works fine in Scratch 2.0.
(LS97's scratchblocks converter still works quite well you do need to delete the extra newlines though. And it even works fine with custom blocks!! Define doesn't work though.)

Edit: if there's more than one recursive call in a custom block the second one doesn't work

Last edited by Jonathan50 (Jan. 15, 2016 02:24:39)

NoMod-Programming
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Jonathan50 wrote:

Do you know why this script doesn't work?
define tree depth: (depth) size: (size)
if <(depth) > [0]>
pen down
move (size) steps
pen up
turn cw (15) degrees
tree depth: ((depth) - (1)) size: ((size) * (0.75))
turn ccw (15) degrees
turn ccw (15) degrees
tree depth: ((depth) - (1)) size: ((0) * ((size) * (0.75)))
turn cw (15) degrees
move ((size) * (-1)) steps
end
It just goes on the left but it doesn't draw the right half.
The same script works fine in Scratch 2.0.
(LS97's scratchblocks converter still works quite well you do need to delete the extra newlines though. And it even works fine with custom blocks!! Define doesn't work though.)

Edit: if there's more than one recursive call in a custom block the second one doesn't work
Interesting… Well it is a beta… I'll look into that. I think it has to do with the way I implemented some finishing checks.

Jonathan50 wrote:

Whiskers website wrote:

1. Download and install Scratch 1.4 from here. Make sure you complete the setup process.
That doesn't seem like a good idea… it should be done from apt/synaptic.
And that will only work on Debian derived distros anyway…
Ok.. I'm adding this to my list of pending changes…

SimpleScratch wrote:

as the Pi isn't powerful enough to run Scratch 2….
May I suggest just deleting that as its not true
Power isn't the issue - its the reliance on Flash/Air that does it it in

Also I'd like to re-iterate changing the Windows instructions to placing Whiskers.image into c:\program files(x86)\Scratch and creating a short-cut to it

No one (especially us teaching in schools) will want to stop their normal Scratch 1.4 from working (as its the one guarantee of a working Scratch install)
Simon
Ok. I might delete that… And the Windows instructions… I might see what I can do. Again, on my windoze computer, doing that gives me a “Squeak! Select an image file” prompt, which might look scary to new users. I might see what I can do.

Jonathan50 wrote:

I made a .deb (for version 346.15, which is the latest at the time of writing): link
To install:
sudo dpkg --install whiskers-346.15.deb
sudo apt-get install -f # if scratch is not installed
Enjoy
(if you don't have Scratch installed the first command will give errors: don't worry as the second command will fix it)

Edit: I fixed the .desktop file
Yay recursion works! Great job!!
Ooh! Thanks for the *.deb file! And I'm glad recursion finally works. That was a huge priority a while ago. (Also, just now I think I got custom reporters fully working!).

Tymewalk wrote:

This looks awesome!

Why did Scratch move away from Squeak anyways? Clearly 2.0 works on it.
Thank! Scratch moved away from Squeak because an online editor would run faster and better in Flash than Java. Then they realised that programming some of the features they did in a few weeks in Flash would have taken months to do in Squeak, as there are no prebuilt functions for some important aspects of 2.0 (e.g. vector images), so the discontinued the squeak versions and have moved to Flash ever since.

In fact, Whiskers isn't a full port just yet. I have quite a bit to do, and I find that vector images will be quite hard to implement (if it's even possible) considering the amount of time it is taking me to make a bitmap editor. Plus, I don't know if Scratch 2 will ike loading anything other than bitmap from 1.x, seeing as that's the way it's programmed to open it. It would take a completely new saving engine to do it, and quite frankly, I'm not sure Squeak 2.8 could handle it.

EDIT: Nearly ninja'd myself

Last edited by NoMod-Programming (Jan. 15, 2016 00:35:13)

-Io-
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Jonathan50 wrote:

Do you know why this script doesn't work?
define tree depth: (depth) size: (size)
if <(depth) > [0]>
pen down
move (size) steps
pen up
turn cw (15) degrees
tree depth: ((depth) - (1)) size: ((size) * (0.75))
turn ccw (15) degrees
turn ccw (15) degrees
tree depth: ((depth) - (1)) size: ((0) * ((size) * (0.75)))
turn cw (15) degrees
move ((size) * (-1)) steps
end
It just goes on the left but it doesn't draw the right half.
The same script works fine in Scratch 2.0.
(LS97's scratchblocks converter still works quite well you do need to delete the extra newlines though. And it even works fine with custom blocks!! Define doesn't work though.)

Edit: if there's more than one recursive call in a custom block the second one doesn't work
I think that “size: ((0) * ((size) * (0.75)))” in the second custom block should be “size: ((size) * (0.75))”
Jonathan50
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

-Io- wrote:

Jonathan50 wrote:

Do you know why this script doesn't work?
-snip- :: grey
It just goes on the left but it doesn't draw the right half.
The same script works fine in Scratch 2.0.
(LS97's scratchblocks converter still works quite well you do need to delete the extra newlines though. And it even works fine with custom blocks!! Define doesn't work though.)

Edit: if there's more than one recursive call in a custom block the second one doesn't work
I think that “size: ((0) * ((size) * (0.75)))” in the second custom block should be “size: ((size) * (0.75))”
what oh you're right but no that doesn't fix it, it's still the same.
I imported it into Scratch 2.0 and it works fine. And I tried another, simpler block with two recursive calls and it works in Scratch 2.0 but not yet Whiskers.

Last edited by Jonathan50 (Jan. 15, 2016 02:22:28)

-Io-
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Jonathan50 wrote:

-Io- wrote:

Jonathan50 wrote:

Do you know why this script doesn't work?
-snip- :: grey
It just goes on the left but it doesn't draw the right half.
The same script works fine in Scratch 2.0.
(LS97's scratchblocks converter still works quite well you do need to delete the extra newlines though. And it even works fine with custom blocks!! Define doesn't work though.)

Edit: if there's more than one recursive call in a custom block the second one doesn't work
I think that “size: ((0) * ((size) * (0.75)))” in the second custom block should be “size: ((size) * (0.75))”
what oh you're right but no that doesn't fix it, it's still the same.
I imported it into Scratch 2.0 and it works fine. And I tried another, simpler block with two recursive calls and it works in Scratch 2.0 but not yet Whiskers.
Oh. Well, at least i fixed it in Scratch 2
Jonathan50
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Does sharing projects made in Whiskers violate the TOS?
you can actually re-add a ‘Share’ menu button :P

Last edited by Jonathan50 (Jan. 15, 2016 04:17:12)

Jonathan50
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Another bug: clones can't do recursion.
Ethan_1
Scratcher
100+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

NoMod-Programming wrote:

Ok. I might delete that… And the Windows instructions… I might see what I can do. Again, on my windoze computer, doing that gives me a “Squeak! Select an image file” prompt, which might look scary to new users. I might see what I can do.
I can work on a Windows Installer if you want. Finalize the install instructions and I can write the installer for you. Also, the SqueakJS is still really slow, so I don't think it is realistic. Just an Fyi. Im going to look at RSqueak (I like that it is written in PyPy).
Ethan_1
Scratcher
100+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Jonathan50 wrote:

Does sharing projects made in Whiskers violate the TOS?
Yes.
You may only submit user-generated projects that were created with (1) the Scratch website editor or (2) an unmodified copy of the Scratch editor compiled from the source code described in Section 5.3. You may not upload any projects that were created, by you or by anyone else, with a modified version of the Scratch editor.
NoMod-Programming
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Jonathan50 wrote:

Another bug: clones can't do recursion.
Noted.

Ethan_1 wrote:

Jonathan50 wrote:

Does sharing projects made in Whiskers violate the TOS?
Yes.
You may only submit user-generated projects that were created with (1) the Scratch website editor or (2) an unmodified copy of the Scratch editor compiled from the source code described in Section 5.3. You may not upload any projects that were created, by you or by anyone else, with a modified version of the Scratch editor.
Troll workaround: open the Whiskers project in the offline editor, then share it from there
helloandgoodbye9
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

Quick question - Does or will this work with BYOB3?
NoMod-Programming
Scratcher
1000+ posts

Whiskers: Scratch 2.0 for Incompatible Devices

helloandgoodbye9 wrote:

Quick question - Does or will this work with BYOB3?
Probably not, as this is meant to be compatible with Scratch 2, not BYOB. Maybe a generous soul will make a BYOB to Scratch 2 converter somehow, though.

Powered by DjangoBB