To quote my 9 yr old son: "Wow, Do you know what this means? Etoys is very hard to use, but at the end of a project its awesome, Scratch is very easy to use , but its not very good at the end. Now, you can combine them!"
On Tue, May 17, 2011 at 5:41 PM, Bert Freudenberg bert@freudenbergs.dewrote:
Cool new project by Koji Yokokawa:
http://www.squeaksource.com/ScratchConnect.html
- Bert -
etoys-dev mailing list etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
Koji,
Thank you for creating this, it would be great for inclusion in the next version of Etoys.
One idea is to have each laptop as its own game controller, with the Scratch project as the "Game Board/Display" (Tried with two versions of Etoys connected to one Scratch sending messages and it worked fine).
Another idea: kids could enter their answers/comments from their desks, optionally the teacher could see the answers and then display them all at once. Could be used for team games etc. This addresses the problem of the teacher only being able to hear one answer at a time and when one kid answers, the others don't have to think or simply copy and the teacher is not aware of what is going on with all the kids.
Besides being really fun and motivating, it really makes messages much more visible and tangible. Kids using Scratch (in my experience, which is limited) usually don't use Broadcast/Receive.
Question, how does "receive messages" work? ie: how do I send messages from Scratch to Etoys? Can I also pass variables? Is it a broadcast message (ie: send to all connected Etoys or can I address individual Etoys?
Would be real nice if we had a way to do this Etoys to Etoys (perhaps there is and I don't know it).
Stephen
On Tue, May 17, 2011 at 7:11 PM, Steve Thomas sthomas1@gosargon.com wrote:
To quote my 9 yr old son: "Wow, Do you know what this means? Etoys is very hard to use, but at the end of a project its awesome, Scratch is very easy to use , but its not very good at the end. Now, you can combine them!"
On Tue, May 17, 2011 at 5:41 PM, Bert Freudenberg bert@freudenbergs.dewrote:
Cool new project by Koji Yokokawa:
http://www.squeaksource.com/ScratchConnect.html
- Bert -
etoys-dev mailing list etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
I'm sorry to be late reply. I was busy on Scratch Day in Tokyo.
Game Board idea is very interesting. Scratch can be connected with multiple clients simultaneously, so that it already can make multi-player games using multi-Etoys as controllers of the game.
ScratchClient Morph can also receive messages from Scratch and you can use them in the Etoys-way. Scratch sends global variable changes as 'sensor-update' and broadcasts as 'broadcast' message to the clients. When a ScratchClient moprh received the messages from a Scratch, it makes a variable for 'sensor-update' or triggers event named 'broadcast:'+message name for a 'broardcast' message. Other morphs can read the global variables in the Scratch via ScratchClient morph variables in the ScratchConnect Morph. A broadcast message from Scratch can be used as an event in the Etoys event system.
Try to receive messages from Scratch. And, please tell me ideas of using it to motivate children.
Koji
Steve Thomas wrote 11/05/18 12:01:
Koji,
Thank you for creating this, it would be great for inclusion in the next version of Etoys.
One idea is to have each laptop as its own game controller, with the Scratch project as the "Game Board/Display" (Tried with two versions of Etoys connected to one Scratch sending messages and it worked fine).
Another idea: kids could enter their answers/comments from their desks, optionally the teacher could see the answers and then display them all at once. Could be used for team games etc. This addresses the problem of the teacher only being able to hear one answer at a time and when one kid answers, the others don't have to think or simply copy and the teacher is not aware of what is going on with all the kids.
Besides being really fun and motivating, it really makes messages much more visible and tangible. Kids using Scratch (in my experience, which is limited) usually don't use Broadcast/Receive.
Question, how does "receive messages" work? ie: how do I send messages from Scratch to Etoys? Can I also pass variables? Is it a broadcast message (ie: send to all connected Etoys or can I address individual Etoys?
Would be real nice if we had a way to do this Etoys to Etoys (perhaps there is and I don't know it).
Stephen
On Tue, May 17, 2011 at 7:11 PM, Steve Thomas <sthomas1@gosargon.com mailto:sthomas1@gosargon.com> wrote:
To quote my 9 yr old son: "Wow, Do you know what this means? Etoys is very hard to use, but at the end of a project its awesome, Scratch is very easy to use , but its not very good at the end. Now, you can combine them!" On Tue, May 17, 2011 at 5:41 PM, Bert Freudenberg <bert@freudenbergs.de <mailto:bert@freudenbergs.de>> wrote: Cool new project by Koji Yokokawa: http://www.squeaksource.com/ScratchConnect.html - Bert - _______________________________________________ etoys-dev mailing list etoys-dev@squeakland.org <mailto:etoys-dev@squeakland.org> http://lists.squeakland.org/mailman/listinfo/etoys-dev
etoys-dev mailing list etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawa ky@yengawa.com wrote:
Try to receive messages from Scratch.
Couldn't figure out broadcasting from Scratch to Etoys. In Scratch I broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;)
I was able to see Scratch Variables in the viewer of my ScratchClient morph in Etoys. Also by adding a variable to the ScratchClient morph I can see it as a sensorValue in Scratch.
And, please tell me ideas of using it to motivate children.
I simply mentioned to some kids that they could "control" Scratch from Etoys and use their individual computers as Game Controllers for multi-player games and they got excited. Etoys has problems with multi-player control using the keyboard which frustrates kids..
Would be nice to have a simple way to pass messages (and morphs and costumes) between Etoys as well.
Stephen
Koji
Steve Thomas wrote 11/05/18 12:01:
Koji,
Thank you for creating this, it would be great for inclusion in the next version of Etoys.
One idea is to have each laptop as its own game controller, with the Scratch project as the "Game Board/Display" (Tried with two versions of Etoys connected to one Scratch sending messages and it worked fine).
Another idea: kids could enter their answers/comments from their desks, optionally the teacher could see the answers and then display them all at once. Could be used for team games etc. This addresses the problem of the teacher only being able to hear one answer at a time and when one kid answers, the others don't have to think or simply copy and the teacher is not aware of what is going on with all the kids.
Besides being really fun and motivating, it really makes messages much more visible and tangible. Kids using Scratch (in my experience, which is limited) usually don't use Broadcast/Receive.
Question, how does "receive messages" work? ie: how do I send messages from Scratch to Etoys? Can I also pass variables? Is it a broadcast message (ie: send to all connected Etoys or can I address individual Etoys?
Would be real nice if we had a way to do this Etoys to Etoys (perhaps there is and I don't know it).
Stephen
On Tue, May 17, 2011 at 7:11 PM, Steve Thomas <sthomas1@gosargon.com mailto:sthomas1@gosargon.com> wrote:
To quote my 9 yr old son: "Wow, Do you know what this means? Etoys is very hard to use, but at the end of a project its awesome, Scratch is very easy to use , but its not very good at the end. Now, you can combine them!"
On Tue, May 17, 2011 at 5:41 PM, Bert Freudenberg <bert@freudenbergs.de mailto:bert@freudenbergs.de> wrote:
Cool new project by Koji Yokokawa: http://www.squeaksource.com/ScratchConnect.html - Bert - _______________________________________________ etoys-dev mailing list etoys-dev@squeakland.org <mailto:etoys-dev@squeakland.org> http://lists.squeakland.org/mailman/listinfo/etoys-dev
etoys-dev mailing list etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
-- Koji Yokokawa ky@yengawa.com http://www.yengawa.com/
etoys-dev mailing list etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
On 24.05.2011, at 13:57, Steve Thomas wrote:
On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawa ky@yengawa.com wrote:
Try to receive messages from Scratch.
Couldn't figure out broadcasting from Scratch to Etoys. In Scratch I broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;)
I guess Koji-san meant to use a custom event to trigger the script on the ScratchClient. The script name is irrelevant. If you disable "etoys friendly" you find "define a new custom event" in the "more..." submenu for the script trigger. That lets you define other triggers than "mouseDown", "mouseUp" etc. IIUC you need to name it "broadcast:go".
- Bert -
Yes, a broadcast from Scratch will be converted to a custom event in Etoys.
I forgot that the custom event is not available in default. Open preferences from menu-halo of the world and search "etoy" to get "allowEtoyUserCustomEvents" in Etoys.
Koji
Bert Freudenberg wrote 11/05/24 21:10:
On 24.05.2011, at 13:57, Steve Thomas wrote:
On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawaky@yengawa.com wrote:
Try to receive messages from Scratch.
Couldn't figure out broadcasting from Scratch to Etoys. In Scratch I broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;)
I guess Koji-san meant to use a custom event to trigger the script on the ScratchClient. The script name is irrelevant. If you disable "etoys friendly" you find "define a new custom event" in the "more..." submenu for the script trigger. That lets you define other triggers than "mouseDown", "mouseUp" etc. IIUC you need to name it "broadcast:go".
- Bert -
Ah, that preference is more specific. Even better :)
- Bert -
On 24.05.2011, at 17:22, Koji Yokokawa wrote:
Yes, a broadcast from Scratch will be converted to a custom event in Etoys.
I forgot that the custom event is not available in default. Open preferences from menu-halo of the world and search "etoy" to get "allowEtoyUserCustomEvents" in Etoys.
Koji
Bert Freudenberg wrote 11/05/24 21:10:
On 24.05.2011, at 13:57, Steve Thomas wrote:
On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawaky@yengawa.com wrote:
Try to receive messages from Scratch.
Couldn't figure out broadcasting from Scratch to Etoys. In Scratch I broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;)
I guess Koji-san meant to use a custom event to trigger the script on the ScratchClient. The script name is irrelevant. If you disable "etoys friendly" you find "define a new custom event" in the "more..." submenu for the script trigger. That lets you define other triggers than "mouseDown", "mouseUp" etc. IIUC you need to name it "broadcast:go".
- Bert -
-- Koji Yokokawa ky@yengawa.com http://www.yengawa.com/
Totally cool. By setting that preference, the broadcast:* events are auto-magically populated in the "more ..." section of "when scripts should run" (although you need to broadcast at least once to see the event in the list)
Also another nice touch is that you also have the Scratch variable names as events, so you can trigger a script on change in "score" or any variable.
One possible confusion is that variable "custom events" are not pre-pended with anything, so if you create a variable in Scratch named "normal", you have a custom event called "normal" which could cause confusion.
Stephen
On Tue, May 24, 2011 at 11:36 AM, Bert Freudenberg bert@freudenbergs.dewrote:
Ah, that preference is more specific. Even better :)
- Bert -
On 24.05.2011, at 17:22, Koji Yokokawa wrote:
Yes, a broadcast from Scratch will be converted to a custom event in Etoys.
I forgot that the custom event is not available in default. Open
preferences from menu-halo of the world and search "etoy" to get "allowEtoyUserCustomEvents" in Etoys.
Koji
Bert Freudenberg wrote 11/05/24 21:10:
On 24.05.2011, at 13:57, Steve Thomas wrote:
On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawaky@yengawa.com wrote:
Try to receive messages from Scratch.
Couldn't figure out broadcasting from Scratch to Etoys. In Scratch I
broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;)
I guess Koji-san meant to use a custom event to trigger the script on
the ScratchClient. The script name is irrelevant. If you disable "etoys friendly" you find "define a new custom event" in the "more..." submenu for the script trigger. That lets you define other triggers than "mouseDown", "mouseUp" etc. IIUC you need to name it "broadcast:go".
- Bert -
-- Koji Yokokawa ky@yengawa.com http://www.yengawa.com/
etoys-dev mailing list etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
Thank you, Stephen.
I reconsider the naming rule of broadcast events. "broadcast:"+messageName is misleading. I'll remove the "broadcast:". So that the name of custom event name in Etoys is same as the broadcast name in Scratch.
Dispatching event for each change of variable may be overload for values changing continuously. I think that is better to broadcast "variableName" in Scratch as trigger to update the value in Etoys. It's natural for MVC model in Smalltalk too ;)
-- Koji
Steve Thomas wrote 11/05/25 0:57:
Totally cool. By setting that preference, the broadcast:* events are auto-magically populated in the "more ..." section of "when scripts should run" (although you need to broadcast at least once to see the event in the list)
Also another nice touch is that you also have the Scratch variable names as events, so you can trigger a script on change in "score" or any variable.
One possible confusion is that variable "custom events" are not pre-pended with anything, so if you create a variable in Scratch named "normal", you have a custom event called "normal" which could cause confusion.
Stephen
On Tue, May 24, 2011 at 11:36 AM, Bert Freudenberg <bert@freudenbergs.de mailto:bert@freudenbergs.de> wrote:
Ah, that preference is more specific. Even better :) - Bert - On 24.05.2011, at 17:22, Koji Yokokawa wrote: > Yes, > a broadcast from Scratch will be converted to a custom event in Etoys. > > I forgot that the custom event is not available in default. Open preferences from menu-halo of the world and search "etoy" to get "allowEtoyUserCustomEvents" in Etoys. > > Koji > > Bert Freudenberg wrote 11/05/24 21:10: >> >> On 24.05.2011, at 13:57, Steve Thomas wrote: >> >>> On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawa<ky@yengawa.com <mailto:ky@yengawa.com>> wrote: >>>> Try to receive messages from Scratch. >>> Couldn't figure out broadcasting from Scratch to Etoys. In Scratch I broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;) >> >> I guess Koji-san meant to use a custom event to trigger the script on the ScratchClient. The script name is irrelevant. If you disable "etoys friendly" you find "define a new custom event" in the "more..." submenu for the script trigger. That lets you define other triggers than "mouseDown", "mouseUp" etc. IIUC you need to name it "broadcast:go". >> >> - Bert - >> > > -- > Koji Yokokawa <ky@yengawa.com <mailto:ky@yengawa.com>> > http://www.yengawa.com/ _______________________________________________ etoys-dev mailing list etoys-dev@squeakland.org <mailto:etoys-dev@squeakland.org> http://lists.squeakland.org/mailman/listinfo/etoys-dev
Actually I like the prefixing. Maybe the prefix should simply be "scratch"? That would make it obvious where the event comes from.
- Bert -
On 25.05.2011, at 05:13, Koji Yokokawa ky@yengawa.com wrote:
Thank you, Stephen.
I reconsider the naming rule of broadcast events. "broadcast:"+messageName is misleading. I'll remove the "broadcast:". So that the name of custom event name in Etoys is same as the broadcast name in Scratch.
Dispatching event for each change of variable may be overload for values changing continuously. I think that is better to broadcast "variableName" in Scratch as trigger to update the value in Etoys. It's natural for MVC model in Smalltalk too ;)
-- Koji
Steve Thomas wrote 11/05/25 0:57:
Totally cool. By setting that preference, the broadcast:* events are auto-magically populated in the "more ..." section of "when scripts should run" (although you need to broadcast at least once to see the event in the list)
Also another nice touch is that you also have the Scratch variable names as events, so you can trigger a script on change in "score" or any variable.
One possible confusion is that variable "custom events" are not pre-pended with anything, so if you create a variable in Scratch named "normal", you have a custom event called "normal" which could cause confusion.
Stephen
On Tue, May 24, 2011 at 11:36 AM, Bert Freudenberg <bert@freudenbergs.de mailto:bert@freudenbergs.de> wrote:
Ah, that preference is more specific. Even better :)
- Bert -
On 24.05.2011, at 17:22, Koji Yokokawa wrote:
> Yes, > a broadcast from Scratch will be converted to a custom event in
Etoys. > > I forgot that the custom event is not available in default. Open preferences from menu-halo of the world and search "etoy" to get "allowEtoyUserCustomEvents" in Etoys. > > Koji > > Bert Freudenberg wrote 11/05/24 21:10: >> >> On 24.05.2011, at 13:57, Steve Thomas wrote: >> >>> On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawa<ky@yengawa.com mailto:ky@yengawa.com> wrote: >>>> Try to receive messages from Scratch. >>> Couldn't figure out broadcasting from Scratch to Etoys. In Scratch I broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;) >> >> I guess Koji-san meant to use a custom event to trigger the script on the ScratchClient. The script name is irrelevant. If you disable "etoys friendly" you find "define a new custom event" in the "more..." submenu for the script trigger. That lets you define other triggers than "mouseDown", "mouseUp" etc. IIUC you need to name it "broadcast:go". >> >> - Bert - >> > > -- > Koji Yokokawa <ky@yengawa.com mailto:ky@yengawa.com> > http://www.yengawa.com/
etoys-dev mailing list etoys-dev@squeakland.org mailto:etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
-- Koji Yokokawa ky@yengawa.com http://www.yengawa.com/ _______________________________________________ etoys-dev mailing list etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
On Wednesday 25 May 2011 8:43:42 AM Koji Yokokawa wrote:
I reconsider the naming rule of broadcast events. "broadcast:"+messageName is misleading. I'll remove the "broadcast:". So that the name of custom event name in Etoys is same as the broadcast name in Scratch.
How about using '*' as a prefix for extensions? It is short and consistent (as in Squeak method category extensions).
Subbu
Thank you, Bert and Subbu.
However, I still think this simple naming rule is not so bad.
I applied this naming rule. And I also added code to enable allowEtoyUserCustomEvents automatically.
http://www.squeaksource.com/ScratchConnect.html
-- Koji
Koji Yokokawa wrote 11/05/25 12:13:
Thank you, Stephen.
I reconsider the naming rule of broadcast events. "broadcast:"+messageName is misleading. I'll remove the "broadcast:". So that the name of custom event name in Etoys is same as the broadcast name in Scratch.
Dispatching event for each change of variable may be overload for values changing continuously. I think that is better to broadcast "variableName" in Scratch as trigger to update the value in Etoys. It's natural for MVC model in Smalltalk too ;)
-- Koji
Steve Thomas wrote 11/05/25 0:57:
Totally cool. By setting that preference, the broadcast:* events are auto-magically populated in the "more ..." section of "when scripts should run" (although you need to broadcast at least once to see the event in the list)
Also another nice touch is that you also have the Scratch variable names as events, so you can trigger a script on change in "score" or any variable.
One possible confusion is that variable "custom events" are not pre-pended with anything, so if you create a variable in Scratch named "normal", you have a custom event called "normal" which could cause confusion.
Stephen
On Tue, May 24, 2011 at 11:36 AM, Bert Freudenberg <bert@freudenbergs.de mailto:bert@freudenbergs.de> wrote:
Ah, that preference is more specific. Even better :)
- Bert -
On 24.05.2011, at 17:22, Koji Yokokawa wrote:
Yes, a broadcast from Scratch will be converted to a custom event in
Etoys.
I forgot that the custom event is not available in default. Open
preferences from menu-halo of the world and search "etoy" to get "allowEtoyUserCustomEvents" in Etoys.
Koji
Bert Freudenberg wrote 11/05/24 21:10:
On 24.05.2011, at 13:57, Steve Thomas wrote:
On Sun, May 22, 2011 at 6:35 AM, Koji Yokokawa<ky@yengawa.com
mailto:ky@yengawa.com> wrote:
Try to receive messages from Scratch.
Couldn't figure out broadcasting from Scratch to Etoys. In
Scratch I broadcast "go". In Etoys I tried a script named "go" and one named "broadcastgo" but nothing happened in Etoys. One of your short simple videos would help ;)
I guess Koji-san meant to use a custom event to trigger the
script on the ScratchClient. The script name is irrelevant. If you disable "etoys friendly" you find "define a new custom event" in the "more..." submenu for the script trigger. That lets you define other triggers than "mouseDown", "mouseUp" etc. IIUC you need to name it "broadcast:go".
- Bert -
-- Koji Yokokawa <ky@yengawa.com mailto:ky@yengawa.com> http://www.yengawa.com/
etoys-dev mailing list etoys-dev@squeakland.org mailto:etoys-dev@squeakland.org http://lists.squeakland.org/mailman/listinfo/etoys-dev
etoys-dev@lists.squeakfoundation.org