Hi,
I've got a couple of questions - one about BYOB and the other about Snap!
In BYOB, if I import the tools project, I get the error "Unknown class VariableDeclarationBlockMorph" when I try to save out the project that I imported in. Is there a workaround for this issue?
With Snap!, I find the UI to be quite sluggish, e.g. scrolling the list of blocks is really slow even with Firefox 6 and hardware acceleration. Is this something that remains to be optimized? As it is, I prefer the standalone BYOB for its responsiveness. BTW, will the standalone Smalltalk version of BYOB be abandoned altogether. Could you at least look at putting out an updated version 3.1.1 based on Pharo with the Cog VM?
Cheers,
Adrian
Offline
asampal wrote:
Hi,
I've got a couple of questions - one about BYOB and the other about Snap!
In BYOB, if I import the tools project, I get the error "Unknown class VariableDeclarationBlockMorph" when I try to save out the project that I imported in. Is there a workaround for this issue?
With Snap!, I find the UI to be quite sluggish, e.g. scrolling the list of blocks is really slow even with Firefox 6 and hardware acceleration. Is this something that remains to be optimized? As it is, I prefer the standalone BYOB for its responsiveness. BTW, will the standalone Smalltalk version of BYOB be abandoned altogether. Could you at least look at putting out an updated version 3.1.1 based on Pharo with the Cog VM?
Cheers,
Adrian
I'm gonna have to agree with you in terms of snap! being sluggish, even on my intel i7 2600k (top of the range) I've only been trying with firefox though, maybe chrome is faster or something?
Offline
rookwood101 wrote:
asampal wrote:
Hi,
I've got a couple of questions - one about BYOB and the other about Snap!
In BYOB, if I import the tools project, I get the error "Unknown class VariableDeclarationBlockMorph" when I try to save out the project that I imported in. Is there a workaround for this issue?
With Snap!, I find the UI to be quite sluggish, e.g. scrolling the list of blocks is really slow even with Firefox 6 and hardware acceleration. Is this something that remains to be optimized? As it is, I prefer the standalone BYOB for its responsiveness. BTW, will the standalone Smalltalk version of BYOB be abandoned altogether. Could you at least look at putting out an updated version 3.1.1 based on Pharo with the Cog VM?
Cheers,
AdrianI'm gonna have to agree with you in terms of snap! being sluggish, even on my intel i7 2600k (top of the range) I've only been trying with firefox though, maybe chrome is faster or something?
It does seem to be faster in google chrome, although still not really fast.
Offline
Folks, I promised to let you know - you can now play with formal parameters, recursion and closures in our Snap! pre-pre-pre-pre-alpha version. Now you can in effect build your own blocks.
Enjoy!
--Jens
RE: Sluggishness. I'm not too worried about slowness just now. Except for scrolling the prototype's blocks palette - which will be taken care of - the GUI isn't too bad for what it's going. The beauty lies in the evaluator which will be (and already is) quite faster than BYOB 3.
Last edited by Jens (2011-09-19 18:16:14)
Offline
asampal wrote:
In BYOB, if I import the tools project, I get the error "Unknown class VariableDeclarationBlockMorph" when I try to save out the project that I imported in. Is there a workaround for this issue?
The only saving issue that I know about has to do with saving self-referential data structures. Try clicking Edit>Clear All Variables before you save and see if that fixes it.
BTW, will the standalone Smalltalk version of BYOB be abandoned altogether. Could you at least look at putting out an updated version 3.1.1 based on Pharo with the Cog VM?
Sorry, I think we're done with the Smalltalk version. But feel free to take it on as your own project!
Last edited by bharvey (2011-09-20 00:42:32)
Offline
bharvey wrote:
joefarebrother wrote:
or.. implement firs class colours like in panther!
On the list. But remember, no major new features in 4.0, just getting the 3.1 stuff working in JS.
I thought it was html
Offline
joefarebrother wrote:
bharvey wrote:
joefarebrother wrote:
or.. implement firs class colours like in panther!
On the list. But remember, no major new features in 4.0, just getting the 3.1 stuff working in JS.
I thought it was html
HTML is merely a markup language, you can't do programming in it, javascript on the other hand IS a programming language so that's why it's used.
Offline
itsme213 wrote:
Smalltalk on Javascript. (...)
http://amber-lang.net/
Hi, Sophie.
I love the Amber project! Looks like they're checking out Snap!'s Morphic GUI: http://irclogger.com/.amber-lang/2011-09-20
Offline
bharvey wrote:
Bookworm300 wrote:
I'm confused. Is Snap done or not? If it is can you give me the link?
No, but if you click "4.0 status" on byob.berkeley.edu (or snap.berkeley.edu, the same page )and then click the picture, it'll take you to Jens's pre-pre-pre-pre-alpha demo.
Thanks!
Offline
bharvey wrote:
titaniumbones wrote:
The issue is, how to detect if a sprite X is touching another sprite of 'kind' Y.
I think this should do it:
http://cs.berkeley.edu/~bh/touch-kind.png
Here, "ant" is the name of the parent of all the ants (type Y), and "myself" is the object that wants to know who's touching it (object X). The OBJECT (MYSELF) block is providing an extra input to ASK that fills the input slot in the TOUCHING? block. You can't just say TOUCHING? (OBJECT (MYSELF)) because then "myself" would be the object being asked, rather than the one doing the asking. But the second ASK doesn't take an extra input (so you click the left arrow to get rid of the slot).
ASK and KEEP are in the tools project or ToolSprite.
Disclaimer: I haven't actually tried this.
P.S. If I were doing this myself I'd use the grey-border feature instead of explicit THE BLOCK blocks, but people seem to find it more understandable this way.
P.P.S. As I look back on this, it's needlessly inefficient; you could just ask the parent for its ATTRIBUTE(CHILDREN) and make the TOUCHING? test on them. But I don't have time to rewrite it just now.
P.P.P.S. And you're right, there should be a FIND FIRST in the tools collection. I'll do that for 4.0.
thanks for this brian! Sorry I took a while to respond. In the end Mika worked around this problem using messaging before we had a chance to come back to the forum.
It's really interesting working with a smart 7th-grader on BYOB. Last year I would have said that BYOB is too complicated for her -- or at least, that the advanced features mostly just fly over her head. But after doing this project she already has an intuitive grasp, for instance, of what the gray border syntax means, and of when it makes sense to build a new block. Some of the lambda-y features are still hard to grasp, but by exploring and copying the toolsprite scripts she's slowly learning more; and I'd say she's in most respects more comfortable than I am with the language now.
So: nice work guys! I wish there was some way for me to tell the Scratch folks how much richer Mika's programming experience has been with BYOB!
Offline
titaniumbones wrote:
I wish there was some way for me to tell the Scratch folks how much richer Mika's programming experience has been with BYOB!
There's a "contact us" button on the Scratch page that sends email to the Scratch Team.
Offline
Snap! New features : broadcast, wait, glide
@Jens Do you intend to implement into Snap! the sophisticated ways of doing of Scratch as to keep (more or less) identical speed and delays, irrespectively of the processor speed ?
ps - Jens, sorry to unveil your new features !!
Offline
xly wrote:
Do you intend to implement into Snap! the sophisticated ways of doing of Scratch as to keep (more or less) identical speed and delays, irrespectively of the processor speed?
IANJ, but this seems like the very last decision we make, after we see how fast we can get it altogether! All else being equal, yeah, that's a nice feature -- well, no, maybe it isn't, because it just encourages people to use timing as a rough means of synchronization rather than using message passing between sprites as they should. Which is okay for little kids but perhaps not for our target audience? Any votes, especially from teachers?
Offline
xly wrote:
ps - Jens, sorry to unveil your new features !!
it's wonderful that you're testing them!
Other new features are:
- LAUNCH (thread forking)
- error catching
- implicit parameters (empty slots in lambdas)
Enjoy!
Offline
We'll, I'm no teacher, but I definitely think that no delays or waits should be implemented in Snap.
@ IANJ: So that's an acronym now?
Offline
I'm assuming you guys are working on some kind of array system, such as lists for snap? As this is a feature I use a lot in scratch.
Offline
xly wrote:
Snap! New features : broadcast, wait, glide
@Jens Do you intend to implement into Snap! the sophisticated ways of doing of Scratch as to keep (more or less) identical speed and delays, irrespectively of the processor speed ?
http://www.xleroy.net/ByobTuto/New/broadcast.gif
ps - Jens, sorry to unveil your new features !!
Oooooh, cool new colors and drawing of blocks. Snap will be awesome. But I don't quite get it. Broadcast, wait and glide were in BYOB 1, 2 and 3. Are you recreating all of the blocks?
Offline
Jens wrote:
yup, I'm re-writing BYOB 3.1 completely in JavaScript.
Would you be able to give me a template code for me to edit? I really want to learn JavaScript more, and this would be really helpful!
Offline
you can view the code of the website @ http://chirp.scratchr.org/dl/experiment … turus.html being javascript, all the source is shown without needing to be decompiled. on firefox press Ctrl+U to view page source, I'm not sure what it is on internet explorer though.
Offline
Jens wrote:
yup, I'm re-writing BYOB 3.1 completely in JavaScript.
Oh... right, I was wondering how you got so cool looking blocks. They look like they are in experimental viewer. Wow, nice job.
Offline