Diverse questions

View: New views
7 Messages — Rating Filter:   Alert me  

Diverse questions

by Stéphane Ducasse-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi

I'm currently evaluating if we should or not use Tweak for the dev of  
an application to help kids to
learn reading. The project is a bit risky since this is the first one  
of vincent and we have to have a success there.
I have a bunch of questions:

- Are there any large examples of applications developed in Tweak?
I know that lot of people are developing at impara using Tweak, are  
these projects available so that we can learn
from the examples? Is there a squeaksource with tweak projects?

- Besides Sophie and impara are there people developing in Tweak? Is  
it too early to try if we do not have a guru at end?

- do you work with the tweak tools? Since I found the navigation  
missing for example in the users of...

- I read the code of CPainter and this is a pleasure to rid

- What blue means for the instance variables?

- I could not saved (fileout the code) only method but not class  
category or class. Is it normal?


Some small feedback (tweak 1-2 update 590)

- the creation of window or some widgets seems slow, there are some  
flashes, is it normal?

- sometimes I got slow redraws of part of the screen, is it normal?

- the paintool does not draw correctly its subcomponents

- I created a "sketmorph" and play with the menu and created a tile  
for this object. But I could not destroy it (pressing the x halo morph
did not work)

- I downloaded the latest version and clicked on update: it udpated  
but now I do not have the update
option anymore. Is is normal?

I was wondering

why we get
onLayoutChanged
        | box |
        <on: layoutChanged>
        box := self localBounds insetBy: borderWidth.
        board bounds: box.
        palette topRight: box topRight.

and not

onLayoutChanged
        <on: layoutChanged>

        | box |
        box := self localBounds insetBy: borderWidth.
        board bounds: box.
        palette topRight: box topRight.


Feedback on the bank account tutorial
============================
"and second, accessor methods (#balance and #balance:) have been  
automatically generated."
the browser did not refresh correctly I was seeing them until I  
reclicked on the class


_______________________________________________
Tweak mailing list
Tweak@...
http://impara.de/mailman/listinfo/tweak

Re: Diverse questions

by Fournier Eric :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Jan 25, 2006, at 1:49 AM, Stéphane Ducasse wrote:

> Hi
>
> I'm currently evaluating if we should or not use Tweak for the dev  
> of an application to help kids to
> learn reading. The project is a bit risky since this is the first  
> one of vincent and we have to have a success there.
> I have a bunch of questions:
>
> - Are there any large examples of applications developed in Tweak?
> I know that lot of people are developing at impara using Tweak, are  
> these projects available so that we can learn
> from the examples? Is there a squeaksource with tweak projects?

There is one now, look at Hermes. I can't claim it's model code ;)  
but parts are cool. The basic code was written in about 1.5 months  
late in '05 (2 people, one working on the C plugin), then refined  
over another for the browser-deliver proof of concept.

>
> - Besides Sophie and impara are there people developing in Tweak?  
> Is it too early to try if we do not have a guru at end?

I have found Bert and Andreas to be responsive to the big problems,  
which are few but are significant.
They have written enough code to allow much harvesting (Hermes  
liberally rips off the File Dialog code). I got pretty far without  
understanding how everything works.


>
> - do you work with the tweak tools? Since I found the navigation  
> missing for example in the users of...
>

I avoid them. I really, really tried to develop using the Tweak IDE  
tools, but this is an unfinished area. The good news is that you  
don't have to. All the Morphic tools have been patched to be Tweak-
compliant (so they could build the initial Tweak components, I  
suppose)! I found developing in Morphic and running in Tweak to be a  
perfectly viable solution. Even the Transcript talks across worlds.  
The only real limitation I have found with that model is that what  
you run in Tweak must be instantiated and live in the Tweak world.


> - I read the code of CPainter and this is a pleasure to rid
>
> - What blue means for the instance variables?

The color coding is free form, but it is suggested to color them to  
reflect their 'type' (option-click over them to see choices).

>
> - I could not saved (fileout the code) only method but not class  
> category or class. Is it normal?
>

You tried in Tweak right? Drop to Morphic, it works there (and works  
fine on Tweak classes). For this reason (and others) I recommend  
avoiding the 'Tweak Project' in favor of the 'Tweak Project Window'  
since the latter gives you easy access to both worlds.

>
> Some small feedback (tweak 1-2 update 590)
>
> - the creation of window or some widgets seems slow, there are some  
> flashes, is it normal?

I'm convinced the Tools are double-instantiated. It seems the initial  
in-hand copy gets lost, and a new one is instantiated upon drop, or  
something else is happening to run the init code twice. I hate the  
paradigm anyway...I'm always annoyed when something suddenly appears  
glued to my mouse cursor that I didn't put there.

>
> - sometimes I got slow redraws of part of the screen, is it normal?

With the Tweak IDE Tools, yes (but Morphic can be slow to redraw,  
say, dependent panes in browsers remote to a changed items too). But  
with your own application, no. We have found the interface to be  
quite responsive. Hermes (IMAP email client) is almost as fast as my  
desktop (Apple's Mail.app client). There is an issue with the event  
loop scheduling being a little tight in 'Tweak Project' that causes  
some os user process hogging (and Morphic events to be totally  
suspended). Other than those things, it is pretty well behaved.

>
> - the paintool does not draw correctly its subcomponents
>
> - I created a "sketmorph" and play with the menu and created a tile  
> for this object. But I could not destroy it (pressing the x halo morph
> did not work)

Halo destruction works for CPlayers but I seem to remember having  
problems getting of of tiles too.

>
> - I downloaded the latest version and clicked on update: it udpated  
> but now I do not have the update
> option anymore. Is is normal?

No. The Menus should be invariant. I do remember a bug I saw awhile  
back that dropped parts of the menu, but have not seen this lately.  
Fix was to throw away the world, but I think there is a 'Restore  
World Menu' that does the right thing.

>
> I was wondering
>
> why we get
> onLayoutChanged
> | box |
> <on: layoutChanged>
> box := self localBounds insetBy: borderWidth.
> board bounds: box.
> palette topRight: box topRight.
>
> and not
>
> onLayoutChanged
> <on: layoutChanged>
>
> | box |
> box := self localBounds insetBy: borderWidth.
> board bounds: box.
> palette topRight: box topRight.
>
>
> Feedback on the bank account tutorial
> ============================
> "and second, accessor methods (#balance and #balance:) have been  
> automatically generated."
> the browser did not refresh correctly I was seeing them until I  
> reclicked on the class
>

Again, You were looking at a Tweak browser? Try the same experiment  
in a Morphic browser. To be fair, Morphic has some missed redraws as  
well, just fewer of them.

With just a few months in Tweak (well, Squeak too) I'm far from an  
expert. I don't have a history using Morphic (or MVC). Smalltalk was  
a survey language that was interesting from my school days and some  
later independent study. So, I'm a newby. Sort of.

But the first time I changed a value in an object buried deep in a  
collection, and had the visual representation of that change show up  
in the UI widget the right way, and quickly, and after I had done  
absolutely nothing to make it so (other than integrate the widget  
correctly), I was hooked.

Hope this helps.

Eric Fournier
Java and Web Services
University of Minnesota Office of Information Technology
190 Shepherd Labs

emf@...



_______________________________________________
Tweak mailing list
Tweak@...
http://impara.de/mailman/listinfo/tweak

Re: Diverse questions

by Bob Courchaine :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Eric Fournier wrote:
> There is one now, look at Hermes. I can't claim it's model code ;)  but
> parts are cool. The basic code was written in about 1.5 months  late in
> '05 (2 people, one working on the C plugin), then refined  over another
> for the browser-deliver proof of concept.

Where can we find Hermes, Eric?

Bob
_______________________________________________
Tweak mailing list
Tweak@...
http://impara.de/mailman/listinfo/tweak

Re: Diverse questions

by Fournier Eric :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Look for Hermes in SqueakSource or SqueakMap.

--Eric

On Jan 25, 2006, at 10:36 AM, Bob Courchaine wrote:

> Eric Fournier wrote:
>> There is one now, look at Hermes. I can't claim it's model  
>> code ;)  but
>> parts are cool. The basic code was written in about 1.5 months  
>> late in
>> '05 (2 people, one working on the C plugin), then refined  over  
>> another
>> for the browser-deliver proof of concept.
>
> Where can we find Hermes, Eric?
>
> Bob
> _______________________________________________
> Tweak mailing list
> Tweak@...
> http://impara.de/mailman/listinfo/tweak


_______________________________________________
Tweak mailing list
Tweak@...
http://impara.de/mailman/listinfo/tweak

Re: Diverse questions

by Stéphane Ducasse-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tx for the answers


>> - do you work with the tweak tools? Since I found the navigation  
>> missing for example in the users of...
>>
>
> I avoid them. I really, really tried to develop using the Tweak IDE  
> tools, but this is an unfinished area. The good news is that you  
> don't have to. All the Morphic tools have been patched to be Tweak-
> compliant (so they could build the initial Tweak components, I  
> suppose)! I found developing in Morphic and running in Tweak to be  
> a perfectly viable solution. Even the Transcript talks across  
> worlds. The only real limitation I have found with that model is  
> that what you run in Tweak must be instantiated and live in the  
> Tweak world.

Ok I prefer that.

>> - I read the code of CPainter and this is a pleasure to rid
>>
>> - What blue means for the instance variables?
>
> The color coding is free form, but it is suggested to color them to  
> reflect their 'type' (option-click over them to see choices).

I read the bank account but there is italic, bold, normal but not  
blue hence my question

>> - I could not saved (fileout the code) only method but not class  
>> category or class. Is it normal?
>>
>
> You tried in Tweak right?

Sure :)

> Drop to Morphic, it works there (and works fine on Tweak classes).  
> For this reason (and others) I recommend avoiding the 'Tweak  
> Project' in favor of the 'Tweak Project Window' since the latter  
> gives you easy access to both worlds.
>
>> Some small feedback (tweak 1-2 update 590)
>>
>> - the creation of window or some widgets seems slow, there are  
>> some flashes, is it normal?
>
> I'm convinced the Tools are double-instantiated. It seems the  
> initial in-hand copy gets lost, and a new one is instantiated upon  
> drop, or something else is happening to run the init code twice. I  
> hate the paradigm anyway...I'm always annoyed when something  
> suddenly appears glued to my mouse cursor that I didn't put there.
>
>>
>> - sometimes I got slow redraws of part of the screen, is it normal?
>
> With the Tweak IDE Tools, yes (but Morphic can be slow to redraw,  
> say, dependent panes in browsers remote to a changed items too).  
> But with your own application, no. We have found the interface to  
> be quite responsive. Hermes (IMAP email client) is almost as fast  
> as my desktop (Apple's Mail.app client). There is an issue with the  
> event loop scheduling being a little tight in 'Tweak Project' that  
> causes some os user process hogging (and Morphic events to be  
> totally suspended). Other than those things, it is pretty well  
> behaved.

OK

>> - the paintool does not draw correctly its subcomponents
>>
>> - I created a "sketmorph" and play with the menu and created a  
>> tile for this object. But I could not destroy it (pressing the x  
>> halo morph
>> did not work)
>
>> - I downloaded the latest version and clicked on update: it  
>> udpated but now I do not have the update
>> option anymore. Is is normal?
>
> No. The Menus should be invariant. I do remember a bug I saw awhile  
> back that dropped parts of the menu, but have not seen this lately.  
> Fix was to throw away the world, but I think there is a 'Restore  
> World Menu' that does the right thing.

?

>> I was wondering
>>
>> why we get
>> onLayoutChanged
>> | box |
>> <on: layoutChanged>
>> box := self localBounds insetBy: borderWidth.
>> board bounds: box.
>> palette topRight: box topRight.
>>
>> and not
>>
>> onLayoutChanged
>> <on: layoutChanged>
>>
>> | box |
>> box := self localBounds insetBy: borderWidth.
>> board bounds: box.
>> palette topRight: box topRight.
>>
>>
>> Feedback on the bank account tutorial
>> ============================
>> "and second, accessor methods (#balance and #balance:) have been  
>> automatically generated."
>> the browser did not refresh correctly I was seeing them until I  
>> reclicked on the class
>>
>
> Again, You were looking at a Tweak browser? Try the same experiment  
> in a Morphic browser. To be fair, Morphic has some missed redraws  
> as well, just fewer of them.
>
> With just a few months in Tweak (well, Squeak too) I'm far from an  
> expert. I don't have a history using Morphic (or MVC). Smalltalk  
> was a survey language that was interesting from my school days and  
> some later independent study. So, I'm a newby. Sort of.
>
> But the first time I changed a value in an object buried deep in a  
> collection, and had the visual representation of that change show  
> up in the UI widget the right way, and quickly, and after I had  
> done absolutely nothing to make it so (other than integrate the  
> widget correctly), I was hooked.

I know I like the idea of active value.
I just do not like the XML in the class def when we could have  
smalltalk code but this is easily fixable.

>
> Hope this helps.

Thanks

>
> Eric Fournier
> Java and Web Services

:)


> University of Minnesota Office of Information Technology
> 190 Shepherd Labs
>
> emf@...
>
>
>

_______________________________________________
Tweak mailing list
Tweak@...
http://impara.de/mailman/listinfo/tweak

Re: Diverse questions

by Bert Freudenberg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Eric answered many questions already, but here are a few more comments:

Am 25.01.2006 um 08:49 schrieb Stéphane Ducasse:

> I know that lot of people are developing at impara using Tweak, are  
> these projects available so that we can learn from the examples?

The Etoys work is public, Sophie is going to be open-source. There  
are some hacks at

        http://source.impara.de/Stuff.html

You might check out the WorldNavigator there which is pretty handy.

> Is there a squeaksource with tweak projects?

Not that I know of. There are some student projects with Tweak UI  
from the University of Magdeburg, but they would have to announce  
that themselves.

> - do you work with the tweak tools? Since I found the navigation  
> missing for example in the users of...

We hadn't too many resources to spend on them after Marcus finished.  
We hope ToolBuilder will come to the rescue here. Until then, we  
develop with the Morphic tools.

> - I read the code of CPainter and this is a pleasure to rid

Thanks :) IIRC that was one of the first things I did with TCAR.

> Some small feedback (tweak 1-2 update 590)
>
> - the creation of window or some widgets seems slow, there are some  
> flashes, is it normal?

That's a bug, related to how projects are drawn.

> onLayoutChanged
> | box |
> <on: layoutChanged>
> ...
>
> onLayoutChanged
> <on: layoutChanged>
> | box |
> ...

Property notation is just an extension of the original Smalltalk  
primitive notation in angled brackets. I guess you would have to ask  
Dan why it's this way around, I'd prefer the latter syntax, too :)

- Bert -


_______________________________________________
Tweak mailing list
Tweak@...
http://impara.de/mailman/listinfo/tweak

Re: Diverse questions

by Fournier Eric :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Jan 25, 2006, at 11:32 AM, Stéphane Ducasse wrote:

> Tx for the answers

np, mp.

>
>>> now I do not have the update
>>> option anymore. Is is normal?
>>
>> No. The Menus should be invariant. I do remember a bug I saw  
>> awhile back that dropped parts of the menu, but have not seen this  
>> lately. Fix was to throw away the world, but I think there is a  
>> 'Restore World Menu' that does the right thing.
>
> ?

Look at the Tweak Debug menu, select 'Restore World Menu'. That re-
initializes the menu bar and can recover lost menu items. I have not  
had to use it for a long time. The menu registration scheme is  
similar to Morphic.

>
> I know I like the idea of active value.
> I just do not like the XML in the class def when we could have  
> smalltalk code but this is easily fixable.


Sigh. A sign of the times ;)


>> Java and Web Services
>
> :)

Yeah, looks funny here.

Eric Fournier
University Technology Development Center
University of Minnesota Office of Information Technology
190 Shepherd Labs

emf@...



_______________________________________________
Tweak mailing list
Tweak@...
http://impara.de/mailman/listinfo/tweak