[Wxsqueak] Re: GUI builder ideas

Rob Gayvert rtg at rochester.rr.com
Mon Dec 4 13:40:01 UTC 2006


I think the BuoyBuilder video provides a good example of what we should 
be able to do, only better. In our case the builder would be part of the 
environment, so you don't need the separate edit-compile steps. I didn't 
follow some of the "wiring" parts of the demo, but it seemed to be more 
complicated than what we should have to do, given the right model and 
widgets.

Your SQL analogy points to an important aspect of the GUI model: how to 
define components that can be reused. For a GUI builder to scale well it 
must be possible to construct reusable composite widgets. I'm hoping 
that the MVP pattern will help with this, as seems to be happening in 
Dolphin.

A visual representation of the model sounds appealing, but that's a real 
blue-sky project. But it does bring to mind another feature I'd love to 
see: some way to tie documentation (including graphics) to code in a 
more natural and useful fashion. This could be be especially useful in 
understanding the dynamics of an MVP situation.

.. RobG


Rob Rothwell wrote:
> Rob,
> 
> There were some interesting ideas in the link you posted.  The demos 
> were interesting, and would be even better in Squeak without the need to 
> compile, I think.  They went by REALLY fast, though.  I'd have to watch 
> them several times to get a better feel for it.
> 
> I've been thinking about the "object experience" quite a bit, and, 
> unfortunately, it is still more of a feeling than anything solid.  A lot 
> of that feeling came from discussions with a co-worker around the 
> similarities between [computer] languages as a sort of "behaviour 
> database" and an actual database of any kind.  "Coding" isn't much 
> different than trying to turn data into information.  "Everything you 
> need" (as the Squeakers would say!) is right there...you just have to 
> find it.
> 
> Well, finding it means knowing what it is called, which is just one way 
> of seeing, if you know what I mean.  And seeing can be a funny thing.  
> The old book "Flatland" made the analogy that if you lived in a 2D 
> world, even a 3D object will look "flat" as it "rises" through the plane 
> on which you reside.  I think the visual element in programming can sort 
> of be that third dimension.  Now, I am NOT an object oriented expert by 
> ANY stretch of the imagination, but it seems to me that that's what the 
> original Smalltalkers found with their research, which is why we have 
> mice and GUI's in the first place.  So the challenge to me seems to be 
> able to create that visual "third dimension" that would let you, to some 
> extent, combine the functionality of your objects in a way beyond merely 
> representing the underlying code, which is to say remaining "flat."  
> Perhaps this added dimension would actually help people come up with 
> design patterns for their problems.  Like I said, I have NO IDEA what 
> that would "look" like--this is just a very intuitive feeling based on 
> what I see as the organic nature of Squeak.
> 
> Finally, I see such an "experience" as leading to the ability to use the 
> "answer" from the functionality provided by an object within another 
> object.  The closest vision I have of this is layering query upon query 
> in a database, sometimes with interludes of a make table for speed or 
> when the combinations become too complex.  But instead of turning data 
> into information by connecting related fields, you would be connecting 
> the underlying components of Smalltalk--messages--to create new 
> functionality.  It just seems like the impact on coding effort would 
> have the potential to be similar to reading a complicated SQL statement 
> with many joins and seeing the connections between multiple tables.  I 
> know there are holes in that analogy, but it's as close as I can get 
> right now.
> 
> So I guess, in the end, I am talking about a visual representation of 
> the Model as well as of the View, if I have the lingo right.  People 
> have done a pretty good job with the "View" so far--I guess I just think 
> you could do both.  And, of course, you would always have the ability to 
> see the underlying code representation of these interactions.
> 
> At any rate, I'm always a big fan of trying to get where you're going by 
> trying something out, and I just don't think you can go wrong trying 
> just about anything based on what you are doing!  You are ALL READY 
> tying together real objects.  The question I have is whether you could 
> build a visual language extension for the View (a standard GUI builder) 
> separate from a visual language extension for the Model and then find a 
> way to "connect" them, or if you would have to have a better plan all 
> along.  Once I saw what you were doing, I figured I'd just try to 
> reproduce what has been done to get a feel for it, then back up if I had 
> to.  The final "complication" seems to be how to make the widgets feel 
> as "live" as possible since they do not live in the interpreted space of 
> the VM.
> 
> Yes, it's true, I am long winded...
> 
> Rob
> 
> On 12/1/06, *Rob Gayvert* <rtg at rochester.rr.com 
> <mailto:rtg at rochester.rr.com>> wrote:
> 
>     Could you expound on what you'd like to see in an "object experience"?
>     I've worked with a number of GUI tools, but nothing in .NET. Slashdot
>     had a good article yesterday on this topic:
> 
>           http://it.slashdot.org/article.pl?sid=06/11/30/1523242
> 
>     Personally, I had planned on doing something like Interface Builder
>     using XRC and MVP in some manner, but maybe this is old-fashioned now.
> 
>     .. Rob
> 
> 
>     Rob Rothwell wrote:
> 
>      > Anyway, I guess I am offering to help because what I want
>      > to "do" with wxSqueak is create a more robust, but
>      > "realistic" way of programming in Squeak for the masses--I
>      > think you could go far beyond "GUI builder" to a true "object"
>      > experience beyond what .NET and the like have to offer (again,
>      > another story), and it seems like that is at least similar to
>      > the direction you are headed in as well.  I'm not sure why this
>      > is coming out of MY mouth, but why reinvent something if someone
>      > is already working on it?
> 
> 
> 
> 
> 
> -- 
> The foolish reject what they see, not what they think; the wise reject 
> what they think, not what they see.  -- Huang Po



More information about the Wxsqueak mailing list