This is a read-only archive of the old Scratch 1.x Forums.
Try searching the current Scratch discussion forums.

#1 2009-03-05 05:04:36

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Elements - a Scratch-like Smalltalk

I have created an experimental Smalltalk development environment which lets you program much like you would in Scratch, i.e. by snapping blocks together. You can even browse through (and change) the Scratch Source Code just by using these block-like syntax elements:

   http://www.chirp.scratchr.org/blog/?p=24.

Enjoy!


Jens Mönig

Offline

 

#2 2009-03-05 06:14:11

adityasm9
Scratcher
Registered: 2008-03-12
Posts: 100+

Re: Elements - a Scratch-like Smalltalk

Jens wrote:

I have created an experimental Smalltalk development environment which lets you program much like you would in Scratch, i.e. by snapping blocks together. You can even browse through (and change) the Scratch Source Code just by using these block-like syntax elements:

   http://www.chirp.scratchr.org/blog/?p=24.

Enjoy!

ultra awesomeness:D and buy the way is there a chirp version for 1.3?

Offline

 

#3 2009-03-05 09:45:23

abeair
Scratcher
Registered: 2008-07-19
Posts: 100+

Re: Elements - a Scratch-like Smalltalk

REALLY cool! Good work Jens!


http://dragcave.net/image/NPtA.gif
http://www.danasoft.com/sig/ObamaLovesMacs.jpg

Offline

 

#4 2009-03-06 23:41:55

Heliosa
Scratcher
Registered: 2007-07-24
Posts: 86

Re: Elements - a Scratch-like Smalltalk

Could elements be used to expand itself and provide a way for a lot of people to contribute to it?


What are you looking at?

Offline

 

#5 2009-03-07 05:35:03

Paddle2See
Scratch Team
Registered: 2007-10-27
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Jens, you continue to amaze!  This is fantastic.  Does this mean I don't have to learn any more Python?  smile


http://i39.tinypic.com/2nav6o7.gif

Offline

 

#6 2009-03-07 06:10:39

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Thanks, Paddle2See! It actually means that once this becomes more polished and usable you might get an easier way into image-based, object-oriented programming. One idea  behind Elements is to offer a way for Scratch-graduates to step up to the "next level" of programming while being able to maintain the draggable blocks paradigm. Also, I wanted to find a way in which the Scratch Source Code could be "visualized" in something Scratch-like...


Jens Mönig

Offline

 

#7 2009-03-07 06:41:04

yambanshee
Scratcher
Registered: 2007-11-06
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

this really does look great! I wonder if the scratch team might want to take this and use it in scratch V2!

Offline

 

#8 2009-03-07 13:56:53

abeair
Scratcher
Registered: 2008-07-19
Posts: 100+

Re: Elements - a Scratch-like Smalltalk

I don't have to learn SmallTalk now!


http://dragcave.net/image/NPtA.gif
http://www.danasoft.com/sig/ObamaLovesMacs.jpg

Offline

 

#9 2009-03-07 14:52:30

adriangl
Scratcher
Registered: 2007-07-02
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

This is great Jens! I can't wait for the full version!!!


Scratchin' since 2007

Offline

 

#10 2009-03-08 06:39:50

s_federici
Scratcher
Registered: 2007-12-18
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

I opened both elementsforscratch090224 and elements090224 and they look almost identical. Which is the main difference?

Offline

 

#11 2009-03-08 07:42:33

s_federici
Scratcher
Registered: 2007-12-18
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

I explored the Object menu of elementsforscratch090224. I guess that the presence of "Scratch" there does the trick :-)

Offline

 

#12 2009-03-08 09:07:47

s_federici
Scratcher
Registered: 2007-12-18
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

Jens, I tried to replicate the short examples that you give in your "Syntax-Elements for Smalltalk". But (maybe as I don't know SmallTalk) I wasn't able to find several (messages?) such as "inform" or "do". Would you mind adding a few explanations? Thanks a lot in advance.

Offline

 

#13 2009-03-08 19:07:33

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Hi Stefano,

it turns out that finding a way to show just those few messages one wants in a certain situation among the thousands which are present in the image seems to be one of the hardest design challenges, and probably one of Elements's major current drawbacks. Best would probably be some kind of data-type sensitive filtering/selection method.

Maybe just adding a "search all methods" entry box might also work...

Having conceded this much  smile  you'll find "inform" in class Object and "do" in class Collection....

Thanks for your feedback!


Jens Mönig

Offline

 

#14 2009-03-08 21:13:55

coolstuff
Community Moderator
Registered: 2008-03-06
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

It's brilliant! I guess i'll have to learn smalltalk, though, because I've no idea how to use it.

Offline

 

#15 2009-05-22 19:09:19

coolstuff
Community Moderator
Registered: 2008-03-06
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Is there ever going to be a second version? I'd be really up to that!

Offline

 

#16 2009-05-22 23:20:41

Magnie
Scratcher
Registered: 2007-12-12
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

I really don't understand Elements.  hmm  I need a guide.  hmm

Offline

 

#17 2009-05-24 19:41:24

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Hi coolstuff. I'm definitely planning to develop Elements further! Currently I'm fidgeting with improving the UI whenever I have some spare time (which isn't often). One of the biggest problems seems to be the sheer number of available message-blocks, and how to access the "right" ones quickly without needing to type in a search text. So, I'm experimenting with some fairly complex type/class interferecing algorithms, which I hope to gradually make simple enough to use in the next version.

Hi Magnie, I'm sorry you're having problems understanding Elements. But you need not feel bad about this, as Elements is still *very* experimental and not nearly as intuitive to use as Scratch. So, hang on, until - some day - it'll become easier all by itself  smile


Jens Mönig

Offline

 

#18 2009-05-25 11:30:50

Magnie
Scratcher
Registered: 2007-12-12
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Okay!  smile

Offline

 

#19 2009-08-26 13:06:01

s_federici
Scratcher
Registered: 2007-12-18
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

Hi Jens,
I'm now playing with Elements (that I understand really better now that I have studied Squeak a little  wink  ). I would like to "run" the Scratch UI from inside Elements, but I couldn't find a way similar to the one allowed by the Scratch image (when open in Squeak, i.e. by selecting "Scratch" in the "open" command of the World menu).

Thanks in advance for your help

Offline

 

#20 2009-08-26 15:21:37

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Hi Stefano,

In Elements for Scratch you can switch to development mode by right clicking on the Elements window background and selecting "switch to development mode". Then you can start Scratch using the World-open menu (left click on the white window background to bring up the World menu, select 'open' and then 'Scratch' at the bottom).


Jens Mönig

Offline

 

#21 2009-08-26 16:20:45

s_federici
Scratcher
Registered: 2007-12-18
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

Thanks! Will you make your Elements for Scratch also available for version 1.4? Or maybe for your excellent BYOB?

Offline

 

#22 2009-08-26 18:57:31

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Stefano,

Wow, I didn't expect there to be such a vivid and widespread interest in Elements or BYOB! Thanks for your feedback.

Elements is included in the current  BYOB 2.0 rc. You can inspect the code behind any Scratch block from BYOB's context menu. If it's a custom block you'll get the Block Editor, else the Elements Editor.

Now, the Elements Editor which is included in BYOB really is the same (with some additional features) as in the stand-alone version of Elements. It's a (more or less) complete Smalltalk Class Browser which lets you inspect (and change) all of the BYOB Source Code. You can also open as many Elements Editors as you like, and drag elements from one window into another one.

The only thing disabled in the BYOB-Elements implementation is switching to development mode and saving the image. Any changes made in the Elements editor will instantly take effect, but will be lost when the application is terminated, so you cannnot accidentally break BYOB. Of course, since Elements lets you change anything, this isn't really locked up....


Jens Mönig

Offline

 

#23 2009-08-27 03:53:28

s_federici
Scratcher
Registered: 2007-12-18
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

Jens wrote:

since Elements lets you change anything, this isn't really locked up....

Wonderful! Would you mind sending me a few indications on how to unlock it at my email federici.stefano at domain gmail.com? Thanks in advance!

Offline

 

#24 2009-08-27 06:34:00

s_federici
Scratcher
Registered: 2007-12-18
Posts: 500+

Re: Elements - a Scratch-like Smalltalk

Jens, sorry if I keep asking you, but I'm struggling at the idea that in BYOB 2.0 there is an activated "mesh feature" that I don't know what it is!!! Where can I find info on this?

Thanks and sorry again for bothering you with request that I guess could be answered by someone else (maybe the Scratch team, that maybe is on vacation...)

Offline

 

#25 2009-08-27 07:07:06

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: Elements - a Scratch-like Smalltalk

Hi Stefano,

here's a short intro:

   1. Install BYOB on several different computers with internet access each.
   2. open a BYOB session on each computer.
   3. pick one and select "Share-Host Mesh" in the menu bar.
   4. a dialog box with the host's IP will open - leave it open.
   5. on the other computers select 'Share-Join Mesh" and enter the host's IP
   6. Now all connected Scratch projects receive every broadcast ...
   7. ... and can sense every global variable (using the sensor value block)...
   8. ... and can send sprites to all others (including nested ones).

Hint: You really don't need internet for this, because you can also start several BYOB instances on the same computer which will just result in the local home IP. However, when launching subsequent BYOB instances from the same folder you will see a warning that Squeak cannot write to the BYOB.changes file. You can safely ignore this warning (or use another folder in which you can delete the changes file altogether - all it is needed for is variable names in the Elements Editor).

Does this help?


Jens Mönig

Offline

 

Board footer