[Etoys] First stab at JournalMorph
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
> 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...
More information about the Etoys