[Etoys] First stab at JournalMorph

Bert Freudenberg bert at freudenbergs.de
Wed Mar 18 12:36:57 EDT 2009

On 15.03.2009, at 14:18, karl ramberg wrote:

> I have put together a widget that is able to load pictures and  
> sounds from the Journal on the XO.

I only today had time to look at this. It's a great start!

> Work is slow because I have to do most programming in secure mode to  
> see that what I'm doing is  acctually working.

Since you are using the squeakletDirectory things should work fine  
with or without rainbow.

> Also some features like file reading are quite slow on the XO

The built-in NAND is really slow, in particular because the CPU has to  
uncompress the files on the fly. On other systems disk access is done  
by DMA so the CPU is free to do other stuff, but not on the XO.

> so the purpose of the widget is somewhat questionable... Or maybe  
> it's just the way I did stuff that slows it down.

Well you are querying the datastore for every single click (try  
putting "self beep" in #journalEntries). Other than that I see no  
obviously wrong things.

> The widget also saves SketchMorphs as pngs to the Journal by Drag'n  
> droping a Sketch on it or by use of tile scripts. That is quite  
> useful if Etoys is deployed as just a paint activity.

Nice. There should be visual feedback to indicate dropability. Also,  
why restrict it to sketch morphs? Also, it should not really "eat" the  
morph ... feedback like when sending a morph to a buddy would be nice.  
The new entry should get the current timestamp so it shows on top of  
the Journal.

> Sound playing is just a hack at the moment.
> One issue that is slowing the widget down so it's almost unusable  
> with big pictures is that the current player is diplayed as a  
> thumbnail in the Viewer, and that operation takes a looong time.

This should obviously be cached. You can listen to Created, Deleted,  
and Updated signals on the datastore to know when it is necessary to  
drop your caches.

> So, comments and suggestions are welcome.

Hehe: the singular of "entries" is "entry" ;)

A morph does not belong in the "Sugar-DBus" category, those are only  
the compiled proxies.

Setting the cursor does not work yet.

And once the basics work right we can think about ideas how to make  
the interface more "etoy-like". I like the idea of reusing the  
holder's collection protocol. Maybe we can make it look even more like  
a holder - holders support showing their contents as thumbnails or  
text or full morphs, for example. For large Journals we need paging  
support. And much of the slow operations could be done in a background  

But for now: Great! This is going to be really useful.

Maybe if you upload it somewhere accessible by the XO's web browser  
you would get more comments? It's kinda cumbersome of moving a project  
from email into the XO's journal ...

- Bert -

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://lists.laptop.org/pipermail/etoys/attachments/20090318/0c69e382/attachment.htm 

More information about the Etoys mailing list