Design of WAComponent(s)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
29 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Design of WAComponent(s)

Andreas Tönne
Hello!

Inspired by my own work needs on Seaside 2.8 on VisualWorks 7.6 and also by
the recent discussion on MVC vs. Seaside I like to start a discussion about
forming a generalization of components, giving them more inner structure and
more uniformity. A more detailed model of WAComponent. Possibly there are
projects running in the Squeak world that I do not know of and that make
this discussion unnecessary. In that case I would be grateful for any
pointers!

To illustrate where I am coming from, let me pick one of the predefined
components in the core: WATree. I picked this component because it is
generally useful (a typical element of web applications) and because it
supports my ideas nicely.

The class comment says " WATree implements a tree menu, which supports
nesting, collapsing and expanding. Prefixes items with "+/-" to indicate
items that can be expanded/collapsed."

If you look at the implementation then you see that it has several
fundamentally different tasks:

- provide a tree fascade over an arbitrary object
- manage the selection in this tree model
- manage the tree expansion/collapse model of the tree
- create the XHTML presentation of the tree model
- (indirectly) provide controller behavior by letting you place callbacks in
the select: block

Also the view part is rather inflexible in the XHTML generated: it builds an
unordered list with constant css classes for the elements.

I am an old school Smalltalker who values clear models and responsibilities.
When I looked at this component, my first thought was "this is a bit much
for one class" and the second one was "what is exactly the intended
responsibility of components?". Add that you cannot have two trees on a page
with different appearance (style) without some work, involving code
duplication.

If we split this class into independent concepts that can be
recombined/varied in useful ways then we get:
- a model of a tree
- a model of the visual appearance (expand/collapse) of the tree model
- a XHTML generator
= a domain logic combining the above three with selection and interface to
the application logic (callback)

One can put the collapsed/expanded information into the domain logic object,
which means a new WATree model will be constructed from a tree model and a
matching XHTML generator. How is this useful?

- stays object-oriented on the model side by encapsulating the tree model
instead of exposing it in blocks
- allows different renderings of such tree expansion state. Unordered lists
of buttons, labels and associated children are fine but one option
- allows more configuration control on the styles attached (ok this could be
a simple useful addition to WATree in its current shape too)
- when modeled right it allows to share XHTML rendering among components

Interestingly, the shore components example has its own, rather differently
implemented tree component with a dedicated model of the visual tree
appearance and using tables instead of unordered lists. So by not providing
the developer with a Seaside Component Framework, a lot of unnecessary
development work and code duplication is taking place. I think the message
to new developers should be "pick a component and configure it to your
needs" instead of "look at the examples and program one for yourself".

So what do you think? Is there a project/plans in this direction? Did I
violate the principles of Seaside?

Andreas

--
Andreas Tönne
Lead Consultant
Cincom Systems GmbH & Co. oHG
Tel.: +49 6196 9003 100
Mobile: +49 172 6159272
Fax: +49 6196 9003 270

Geschäftsführer/Managing Directors: Thomas M. Nies, Gerald L. Shawhan
oHG mit Sitz/based in Schwalbach/Ts. (Amtsgericht Königstein/Ts. HRA
2653)
Pers. haftender Gesellschafter/Partner liable to unlimited extent:
Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht Königstein/
Ts. HRB 5069)

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Lukas Renggli
>  responsibility of components?". Add that you cannot have two trees on a page
>  with different appearance (style) without some work, involving code
>  duplication.

Of course you can have different looking trees on a single page, you
simply put them into a div-tag with a specific class/id.

>  If we split this class into independent concepts that can be
>  recombined/varied in useful ways then we get:
>  - a model of a tree
>  - a model of the visual appearance (expand/collapse) of the tree model
>  - a XHTML generator
>  = a domain logic combining the above three with selection and interface to
>  the application logic (callback)

Maybe you want to the check the history of WATree in the mailing list?
Why it was put into Seaside-Core and why it will be gone in Seaside
2.9.

The goal of WATree is to give a component for quick prototyping and as
such it is probably not useful for your specific needs.

>  development work and code duplication is taking place. I think the message
>  to new developers should be "pick a component and configure it to your
>  needs" instead of "look at the examples and program one for yourself".

I guess most people start with one of the ready-made components and
use it until they hit the limits. And only then they start to subclass
or write their own widget.

Of course it would be nice if WATree was more configurable, but I
doubt a newbie would prefer it over the simplicity of WATree. Having
to provide several models for a working tree, reminds me of my worst
nightmares when looking at the code of students that use Swing JTable
for the first time.

It is so simple and quick to create my own widget that does exactly
what I need, why should I bother with a huge library that could do
everything after hours of configuration?

>  So what do you think? Is there a project/plans in this direction? Did I
>  violate the principles of Seaside?

There are several projects working on widget libraries. You mentioned
ShoreComponents. Scriptaculous-Components is another one, focusing on
widgets with AJAX interaction. Both approaches don't provide much more
than a few configuration blocks.

It certainly does not violate the principles of Seaside. It might be
worth to investigate how well this scales?

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Steve Aldred-3
Lukas Renggli wrote:
> Maybe you want to the check the history of WATree in the mailing list?
> Why it was put into Seaside-Core and why it will be gone in Seaside
> 2.9.
>  

Does that mean there won't be a tree widget at all?

We've found trees very useful as a means of browsing complex data. They
can be used like compact vertical tabs, people readily understand
drilling down (node expansion) through detail. On selection a linked
pane can completely change its format to suit the detail of the tree
node selected.

cheers
Steve
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Lukas Renggli
> Does that mean there won't be a tree widget at all?

Sure, it will be in some extra package, but not in the core anymore.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Andreas Tönne
In reply to this post by Lukas Renggli
Lukas,

please do not overrate my choice of WATree. My ideas were more general. I
did not know that WATree has such special status or else I would have picked
another example.

You said

> It is so simple and quick to create my own widget that does exactly
> what I need, why should I bother with a huge library that could do
> everything after hours of configuration?

and this is a point where I disagree. Surely I follow your aversion against
an Überframework like Swing. But I have seen too many copy&paste
applications to know that the average developer out there needs and likes
some guidance through designed inner structure of frameworks.

Right now things are small and the number of components is manageable. With
a growing number of components and component features I fear that we might
see a similar development as the wrapper framework of VisualWorks. It used
to be based on a simple, clear and powerful model. Then step by step it got
overloaded by features and variation. Today its implementation is "baked
together" with a lot of copy&paste.

Your suggestion to name multiple trees (or other components for that matter)
through enclosing DIV is exactly one of those principles I am looking at.
For the purpose of XHTML generation a component might need a name for its
styles. The programmers choice is to *know* that one names components
externally by enclosing them in a DIV and using path names to specify
dedicated styles. The designers choice is to place this knowledge into the
component and make it one of the options a user of the component might take.

Another example of this implementation vs. design choice is the composition
of components. Right now a component uses a composite pattern by convention.
I would prefer the composite pattern to be pre-implemented. I am sure this
has been discussed excessively already :-)

Did you refer to this mailing list or to seaside-dev for the 2.9 features
discussions?

If you like to see how such frameworks scale, I will try this out.

See it anytime next month on www.smalltalk80.de.

Andreas


Am 05.03.2008 11:58 Uhr schrieb "Lukas Renggli" unter <[hidden email]>:

>>  responsibility of components?". Add that you cannot have two trees on a page
>>  with different appearance (style) without some work, involving code
>>  duplication.
>
> Of course you can have different looking trees on a single page, you
> simply put them into a div-tag with a specific class/id.
>
>>  If we split this class into independent concepts that can be
>>  recombined/varied in useful ways then we get:
>>  - a model of a tree
>>  - a model of the visual appearance (expand/collapse) of the tree model
>>  - a XHTML generator
>>  = a domain logic combining the above three with selection and interface to
>>  the application logic (callback)
>
> Maybe you want to the check the history of WATree in the mailing list?
> Why it was put into Seaside-Core and why it will be gone in Seaside
> 2.9.
>
> The goal of WATree is to give a component for quick prototyping and as
> such it is probably not useful for your specific needs.
>
>>  development work and code duplication is taking place. I think the message
>>  to new developers should be "pick a component and configure it to your
>>  needs" instead of "look at the examples and program one for yourself".
>
> I guess most people start with one of the ready-made components and
> use it until they hit the limits. And only then they start to subclass
> or write their own widget.
>
> Of course it would be nice if WATree was more configurable, but I
> doubt a newbie would prefer it over the simplicity of WATree. Having
> to provide several models for a working tree, reminds me of my worst
> nightmares when looking at the code of students that use Swing JTable
> for the first time.
>
> It is so simple and quick to create my own widget that does exactly
> what I need, why should I bother with a huge library that could do
> everything after hours of configuration?
>
>>  So what do you think? Is there a project/plans in this direction? Did I
>>  violate the principles of Seaside?
>
> There are several projects working on widget libraries. You mentioned
> ShoreComponents. Scriptaculous-Components is another one, focusing on
> widgets with AJAX interaction. Both approaches don't provide much more
> than a few configuration blocks.
>
> It certainly does not violate the principles of Seaside. It might be
> worth to investigate how well this scales?
>
> Cheers,
> Lukas

--
Andreas Tönne
Lead Consultant
Cincom Systems GmbH & Co. oHG
Tel.: +49 6196 9003 100
Mobile: +49 172 6159272
Fax: +49 6196 9003 270

Geschäftsführer/Managing Directors: Thomas M. Nies, Gerald L. Shawhan
oHG mit Sitz/based in Schwalbach/Ts. (Amtsgericht Königstein/Ts. HRA
2653)
Pers. haftender Gesellschafter/Partner liable to unlimited extent:
Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht Königstein/
Ts. HRB 5069)

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Lukas Renggli
>  please do not overrate my choice of WATree. My ideas were more general. I
>  did not know that WATree has such special status or else I would have picked
>  another example.

Sure, there are many similar examples.

>  > It is so simple and quick to create my own widget that does exactly
>  > what I need, why should I bother with a huge library that could do
>  > everything after hours of configuration?
>
> and this is a point where I disagree. Surely I follow your aversion against
>  an Überframework like Swing. But I have seen too many copy&paste
>  applications to know that the average developer out there needs and likes
>  some guidance through designed inner structure of frameworks.

I should have added: "... and it is hard to create a widget that fits
all needs."

I guess WATableReport (or WATreeReport) is already a bit closer to
your imagination (they both have a model for their columns)?

>  Right now things are small and the number of components is manageable. With
>  a growing number of components and component features I fear that we might
>  see a similar development as the wrapper framework of VisualWorks. It used
>  to be based on a simple, clear and powerful model. Then step by step it got
>  overloaded by features and variation. Today its implementation is "baked
>  together" with a lot of copy&paste.

Seaside 2.8 is slightly smaller than Seaside 2.7, without dropping
functionality.

Seaside 2.9 will be much smaller than Seaside 2.8, by separately
packaging external functionality.

>  Another example of this implementation vs. design choice is the composition
>  of components. Right now a component uses a composite pattern by convention.
>  I would prefer the composite pattern to be pre-implemented. I am sure this
>  has been discussed excessively already :-)

There used to be WAContainer and WAFrameComponent. WAContainer was
dropped a long time ago because its functionality was integrated into
WAComponent. WAFrameComponent was dropped in Seaside 2.7, because
there were no users.

>  Did you refer to this mailing list or to seaside-dev for the 2.9 features
>  discussions?

To this mailing-list. seaside-dev is not that old ;-)

>  If you like to see how such frameworks scale, I will try this out.

I am interested too. Keep us updated.

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Sebastian Sastre-2
In reply to this post by Andreas Tönne
Hi Andreas,

        I think is not MVC vs. Seaside. I think Seaside is a platform which
provides solutions to a certain point but also allows you to take that point as
a start of something bigger. I'm taking advantage of Seaside to make one by one
a more complex (an powerful) kind of components which makes the developer to
feel like programing widgets in a desktop application. In fact pretty much
Dolphin Smalltalk style which is MVP, a variation of MVC.

        For me is no discussion to make because it's working so well. I even
make the javascript part on this components to be inheritable, beacouse it's
supported by the smalltalk hierarchy, and dinamically updateable (after an
updater you can make a DOM element to behave differently). And is so easy that
the tooltip I saw being discussed will be easier and more powerful to make from
seaside itself than to wrap that ProtoTip.

        cheers,

Sebastian Sastre

 

> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En nombre
> de Andreas T ö nne
> Enviado el: Miércoles, 05 de Marzo de 2008 07:30
> Para: [hidden email]
> Asunto: [Seaside] Design of WAComponent(s)
>
> Hello!
>
> Inspired by my own work needs on Seaside 2.8 on VisualWorks
> 7.6 and also by
> the recent discussion on MVC vs. Seaside I like to start a
> discussion about
> forming a generalization of components, giving them more
> inner structure and
> more uniformity. A more detailed model of WAComponent.
> Possibly there are
> projects running in the Squeak world that I do not know of
> and that make
> this discussion unnecessary. In that case I would be grateful for any
> pointers!
>
> To illustrate where I am coming from, let me pick one of the
> predefined
> components in the core: WATree. I picked this component because it is
> generally useful (a typical element of web applications) and
> because it
> supports my ideas nicely.
>
> The class comment says " WATree implements a tree menu, which supports
> nesting, collapsing and expanding. Prefixes items with "+/-"
> to indicate
> items that can be expanded/collapsed."
>
> If you look at the implementation then you see that it has several
> fundamentally different tasks:
>
> - provide a tree fascade over an arbitrary object
> - manage the selection in this tree model
> - manage the tree expansion/collapse model of the tree
> - create the XHTML presentation of the tree model
> - (indirectly) provide controller behavior by letting you
> place callbacks in
> the select: block
>
> Also the view part is rather inflexible in the XHTML
> generated: it builds an
> unordered list with constant css classes for the elements.
>
> I am an old school Smalltalker who values clear models and
> responsibilities.
> When I looked at this component, my first thought was "this
> is a bit much
> for one class" and the second one was "what is exactly the intended
> responsibility of components?". Add that you cannot have two
> trees on a page
> with different appearance (style) without some work, involving code
> duplication.
>
> If we split this class into independent concepts that can be
> recombined/varied in useful ways then we get:
> - a model of a tree
> - a model of the visual appearance (expand/collapse) of the tree model
> - a XHTML generator
> = a domain logic combining the above three with selection and
> interface to
> the application logic (callback)
>
> One can put the collapsed/expanded information into the
> domain logic object,
> which means a new WATree model will be constructed from a
> tree model and a
> matching XHTML generator. How is this useful?
>
> - stays object-oriented on the model side by encapsulating
> the tree model
> instead of exposing it in blocks
> - allows different renderings of such tree expansion state.
> Unordered lists
> of buttons, labels and associated children are fine but one option
> - allows more configuration control on the styles attached
> (ok this could be
> a simple useful addition to WATree in its current shape too)
> - when modeled right it allows to share XHTML rendering among
> components
>
> Interestingly, the shore components example has its own,
> rather differently
> implemented tree component with a dedicated model of the visual tree
> appearance and using tables instead of unordered lists. So by
> not providing
> the developer with a Seaside Component Framework, a lot of unnecessary
> development work and code duplication is taking place. I
> think the message
> to new developers should be "pick a component and configure it to your
> needs" instead of "look at the examples and program one for yourself".
>
> So what do you think? Is there a project/plans in this
> direction? Did I
> violate the principles of Seaside?
>
> Andreas
>
> --
> Andreas Tönne
> Lead Consultant
> Cincom Systems GmbH & Co. oHG
> Tel.: +49 6196 9003 100
> Mobile: +49 172 6159272
> Fax: +49 6196 9003 270
>
> Geschäftsführer/Managing Directors: Thomas M. Nies, Gerald L. Shawhan
> oHG mit Sitz/based in Schwalbach/Ts. (Amtsgericht Königstein/Ts. HRA
> 2653)
> Pers. haftender Gesellschafter/Partner liable to unlimited extent:
> Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht Königstein/
> Ts. HRB 5069)
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Philippe Marschall
In reply to this post by Andreas Tönne
2008/3/5, Andreas Tönne <[hidden email]>:
> ....

I think the main point to understand here is that the components that
come with Seaside are not a component library or even a component
framework. They are simple stand alone components. They are not made
with reusabilty, configurabitlity or customyzability in mind. They are
focused on KISS and "getting the job done" and mostly for use Seaside
itself. They will get you started fast but at one point sooner rather
than later you will hit their limits. That's ok, they're not supposed
to be the "be all, end all".

The points you made IMHO apply only if you want to build a component
library or even component framework. That should be an addon protect
and has no place in Seaside-Core. Honestly I have my doubts if such a
such thing could ever work given the very special needs of users
concerning not only functionality but also mark up.

Cheers
Philippe

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Boris Popov, DeepCove Labs (SNN)
+1, for example there's no way I could see a standard "login" component work for us, let alone anything else that I can think of. Components is something you build as you make up your own application, its not something you take off the shelf and plug in.

-Boris

--
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

[hidden email]

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.

> -----Original Message-----
> From: [hidden email] [mailto:seaside-
> [hidden email]] On Behalf Of Philippe Marschall
> Sent: Wednesday, March 05, 2008 12:25 PM
> To: Seaside - general discussion
> Subject: Re: [Seaside] Design of WAComponent(s)
>
> 2008/3/5, Andreas Tönne <[hidden email]>:
> > ....
>
> I think the main point to understand here is that the components that
> come with Seaside are not a component library or even a component
> framework. They are simple stand alone components. They are not made
> with reusabilty, configurabitlity or customyzability in mind. They are
> focused on KISS and "getting the job done" and mostly for use Seaside
> itself. They will get you started fast but at one point sooner rather
> than later you will hit their limits. That's ok, they're not supposed
> to be the "be all, end all".
>
> The points you made IMHO apply only if you want to build a component
> library or even component framework. That should be an addon protect
> and has no place in Seaside-Core. Honestly I have my doubts if such a
> such thing could ever work given the very special needs of users
> concerning not only functionality but also mark up.
>
> Cheers
> Philippe
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Ramon Leon-5
> Subject: RE: [Seaside] Design of WAComponent(s)
>
> +1, for example there's no way I could see a standard "login"
> component work for us, let alone anything else that I can
> think of. Components is something you build as you make up
> your own application, its not something you take off the
> shelf and plug in.
>
> -Boris

+2, the components that are included in Seaside are more useful as examples
rather than reusable widgets, and though I haven't kept up with 2.9,
hopefully they're being ejected into another package because they don't
belong in Core, they belong in external widget libraries.  

All widget libraries have limitations, there's no such thing as a generic
widget that works for everyone.  In web apps, in many cases, you'll end up
rolling your own, or living with the limitations of some other library like
Yahoo widgets or Mootools or something.

The only reusable widgets you'll ever be happy with, are the ones you roll
yourself and share between your own projects.

Ramon Leon
http://onsmalltalk.com

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Sebastian Sastre-2
In reply to this post by Philippe Marschall
> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En nombre
> de Philippe Marschall
> Enviado el: Miércoles, 05 de Marzo de 2008 17:25
> Para: Seaside - general discussion
> Asunto: Re: [Seaside] Design of WAComponent(s)
>
> 2008/3/5, Andreas Tönne <[hidden email]>:
> > ....
>
> I think the main point to understand here is that the components that
> come with Seaside are not a component library or even a component
> framework. They are simple stand alone components. They are not made
> with reusabilty, configurabitlity or customyzability in mind. They are
> focused on KISS and "getting the job done" and mostly for use Seaside
> itself. They will get you started fast but at one point sooner rather
> than later you will hit their limits. That's ok, they're not supposed
> to be the "be all, end all".
>
> The points you made IMHO apply only if you want to build a component
> library or even component framework. That should be an addon protect
> and has no place in Seaside-Core. Honestly I have my doubts if such a
> such thing could ever work given the very special needs of users
> concerning not only functionality but also mark up.
>
> Cheers
> Philippe
>

Quoting you:
"...They are not made with reusabilty, configurabitlity or customyzability in mind..."

Quoting Seaside site:
"About
Seaside provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably and maintainably.
..."

Note that *reusably* is the second *bold* word after quickly.

And also (from same source):
"...Embedded components. Stop thinking a whole page at a time; Seaside lets you build your UI as a tree of individual, stateful component objects, each encapsulating a small part of a page. Often, these can be used over and over again, within and between applications - nearly every application, for example, needs a way to present a batched list of search results, or a table with sortable columns, and Seaside includes components for these out the box..."

So?

Sebastian

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

stephane ducasse
Hi sebastian

I still see the point of andreas.
I would love to have a usable report widget in which I can plug other  
components.
I already sent that a while back but once I show Seaside to a guy at  
microsoft.
He was impressed then after 3 min he asked me how many widgets are  
ready to use.
And he was right.

There are no incompatibilities between seaside as it is now and a cool  
widgets set.
Having a cool widgets set with basic but fully working widgets would  
be a big plus: we could
prototype even faster our applications. I do not have the skills and  
time of lukas
to create widgets from scratch. But I imagine that I should be able to  
reuse them.

Stef


On Mar 6, 2008, at 5:10 PM, Sebastian Sastre wrote:

>> -----Mensaje original-----
>> De: [hidden email]
>> [mailto:[hidden email]] En nombre
>> de Philippe Marschall
>> Enviado el: Miércoles, 05 de Marzo de 2008 17:25
>> Para: Seaside - general discussion
>> Asunto: Re: [Seaside] Design of WAComponent(s)
>>
>> 2008/3/5, Andreas Tönne <[hidden email]>:
>>> ....
>>
>> I think the main point to understand here is that the components that
>> come with Seaside are not a component library or even a component
>> framework. They are simple stand alone components. They are not made
>> with reusabilty, configurabitlity or customyzability in mind. They  
>> are
>> focused on KISS and "getting the job done" and mostly for use Seaside
>> itself. They will get you started fast but at one point sooner rather
>> than later you will hit their limits. That's ok, they're not supposed
>> to be the "be all, end all".
>>
>> The points you made IMHO apply only if you want to build a component
>> library or even component framework. That should be an addon protect
>> and has no place in Seaside-Core. Honestly I have my doubts if such a
>> such thing could ever work given the very special needs of users
>> concerning not only functionality but also mark up.
>>
>> Cheers
>> Philippe
>>
>
> Quoting you:
> "...They are not made with reusabilty, configurabitlity or  
> customyzability in mind..."
>
> Quoting Seaside site:
> "About
> Seaside provides a layered set of abstractions over HTTP and HTML  
> that let you build highly interactive web applications quickly,  
> reusably and maintainably.
> ..."
>
> Note that *reusably* is the second *bold* word after quickly.
>
> And also (from same source):
> "...Embedded components. Stop thinking a whole page at a time;  
> Seaside lets you build your UI as a tree of individual, stateful  
> component objects, each encapsulating a small part of a page. Often,  
> these can be used over and over again, within and between  
> applications - nearly every application, for example, needs a way to  
> present a batched list of search results, or a table with sortable  
> columns, and Seaside includes components for these out the box..."
>
> So?
>
> Sebastian
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Andreas Tönne
Stephane,

thank you for getting my point. ;-)

All,

I found the various objectives for Seaside hiding behind the answers very
interesting.

No offense please but some answers show a lack of appreciation for the users
of Seaside. If you want to grow the users base of Seaside, you need to
answer the question of Microsoft. If you dont, it will remain a great tool
from specialists for specialists. And fade in oblivion eventually.

Let me get some points about my objectives straight (because some jumped to
conclusions).

1. I do not look at a "one-framework-fits-it-all" approach. I know the
limitations of a pluggable design for components. It is extremely hard!
(designing Smalltalk applications for 21 years should qualify me to say
that) Particularly the mixing of structure, presentation and interactivity
in one XHTML structure limits the configuration choices for a general
framework alot. (but I see a value in getting there half way)
2. I agree that the core should be small and needs some cleanup (and
commenting please).

Having said that, please think about this statement of Stephane for a
minute:

> I do not have the skills and time of lukas to create widgets from scratch.
> But I imagine that I should be able to reuse them.

Chapeau! That *IS* the main point. Those non-specialist that might be
attracted to Seaside and Smalltalk are very likely not fluent in the details
of XHTML, Java-script and AJAX. Asking them to create new components from
the given examples will end in bad copy&paste programming.

One interesting point is the size or specialization of predefined
components. A login component is indeed not very interesting for a
predefined component. Individual widgets that need to be pieced together
from primitive HTML and AJAX elements are much more promising. These
*expected* elements for UI design are pretty much standard and hence open
for a standard implementation. I shoot for 80:20. I like to catch 80% of the
standard widgets and components and let 20% be custom implementations.

Andreas


Am 06.03.2008 17:21 Uhr schrieb "stephane ducasse" unter
<[hidden email]>:

> Hi sebastian
>
> I still see the point of andreas.
> I would love to have a usable report widget in which I can plug other
> components.
> I already sent that a while back but once I show Seaside to a guy at
> microsoft.
> He was impressed then after 3 min he asked me how many widgets are
> ready to use.
> And he was right.
>
> There are no incompatibilities between seaside as it is now and a cool
> widgets set.
> Having a cool widgets set with basic but fully working widgets would
> be a big plus: we could
> prototype even faster our applications. I do not have the skills and
> time of lukas
> to create widgets from scratch. But I imagine that I should be able to
> reuse them.
>
> Stef
>
>
> On Mar 6, 2008, at 5:10 PM, Sebastian Sastre wrote:
>
>>> -----Mensaje original-----
>>> De: [hidden email]
>>> [mailto:[hidden email]] En nombre
>>> de Philippe Marschall
>>> Enviado el: Miércoles, 05 de Marzo de 2008 17:25
>>> Para: Seaside - general discussion
>>> Asunto: Re: [Seaside] Design of WAComponent(s)
>>>
>>> 2008/3/5, Andreas Tönne <[hidden email]>:
>>>> ....
>>>
>>> I think the main point to understand here is that the components that
>>> come with Seaside are not a component library or even a component
>>> framework. They are simple stand alone components. They are not made
>>> with reusabilty, configurabitlity or customyzability in mind. They
>>> are
>>> focused on KISS and "getting the job done" and mostly for use Seaside
>>> itself. They will get you started fast but at one point sooner rather
>>> than later you will hit their limits. That's ok, they're not supposed
>>> to be the "be all, end all".
>>>
>>> The points you made IMHO apply only if you want to build a component
>>> library or even component framework. That should be an addon protect
>>> and has no place in Seaside-Core. Honestly I have my doubts if such a
>>> such thing could ever work given the very special needs of users
>>> concerning not only functionality but also mark up.
>>>
>>> Cheers
>>> Philippe
>>>
>>
>> Quoting you:
>> "...They are not made with reusabilty, configurabitlity or
>> customyzability in mind..."
>>
>> Quoting Seaside site:
>> "About
>> Seaside provides a layered set of abstractions over HTTP and HTML
>> that let you build highly interactive web applications quickly,
>> reusably and maintainably.
>> ..."
>>
>> Note that *reusably* is the second *bold* word after quickly.
>>
>> And also (from same source):
>> "...Embedded components. Stop thinking a whole page at a time;
>> Seaside lets you build your UI as a tree of individual, stateful
>> component objects, each encapsulating a small part of a page. Often,
>> these can be used over and over again, within and between
>> applications - nearly every application, for example, needs a way to
>> present a batched list of search results, or a table with sortable
>> columns, and Seaside includes components for these out the box..."
>>
>> So?
>>
>> Sebastian
>>
>> _______________________________________________
>> seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

--
Andreas Tönne
Lead Consultant
Cincom Systems GmbH & Co. oHG
Tel.: +49 6196 9003 100
Mobile: +49 172 6159272
Fax: +49 6196 9003 270

Geschäftsführer/Managing Directors: Thomas M. Nies, Gerald L. Shawhan
oHG mit Sitz/based in Schwalbach/Ts. (Amtsgericht Königstein/Ts. HRA
2653)
Pers. haftender Gesellschafter/Partner liable to unlimited extent:
Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht Königstein/
Ts. HRB 5069)

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

Boris Popov, DeepCove Labs (SNN)
In reply to this post by Andreas Tönne
Re: [Seaside] Design of WAComponent(s)

Ah, but widgets are different from components. Widget may be a date picker and component may be a login prompt. I'm all for having widgets so long as their markup is well designed not to interfere outright with peoples work, but I can't see components being general enough to be useful, those you build up yourself as pieces of your application.

Cheers!

-Boris (via BlackBerry)

----- Original Message -----
From: [hidden email] <[hidden email]>
To: Seaside - general discussion <[hidden email]>
Sent: Thu Mar 06 08:52:52 2008
Subject: Re: [Seaside] Design of WAComponent(s)

Stephane,

thank you for getting my point. ;-)

All,

I found the various objectives for Seaside hiding behind the answers very
interesting.

No offense please but some answers show a lack of appreciation for the users
of Seaside. If you want to grow the users base of Seaside, you need to
answer the question of Microsoft. If you dont, it will remain a great tool
from specialists for specialists. And fade in oblivion eventually.

Let me get some points about my objectives straight (because some jumped to
conclusions).

1. I do not look at a "one-framework-fits-it-all" approach. I know the
limitations of a pluggable design for components. It is extremely hard!
(designing Smalltalk applications for 21 years should qualify me to say
that) Particularly the mixing of structure, presentation and interactivity
in one XHTML structure limits the configuration choices for a general
framework alot. (but I see a value in getting there half way)
2. I agree that the core should be small and needs some cleanup (and
commenting please).

Having said that, please think about this statement of Stephane for a
minute:

> I do not have the skills and time of lukas to create widgets from scratch.
> But I imagine that I should be able to reuse them.

Chapeau! That *IS* the main point. Those non-specialist that might be
attracted to Seaside and Smalltalk are very likely not fluent in the details
of XHTML, Java-script and AJAX. Asking them to create new components from
the given examples will end in bad copy&paste programming.

One interesting point is the size or specialization of predefined
components. A login component is indeed not very interesting for a
predefined component. Individual widgets that need to be pieced together
from primitive HTML and AJAX elements are much more promising. These
*expected* elements for UI design are pretty much standard and hence open
for a standard implementation. I shoot for 80:20. I like to catch 80% of the
standard widgets and components and let 20% be custom implementations.

Andreas


Am 06.03.2008 17:21 Uhr schrieb "stephane ducasse" unter
<[hidden email]>:

> Hi sebastian
>
> I still see the point of andreas.
> I would love to have a usable report widget in which I can plug other
> components.
> I already sent that a while back but once I show Seaside to a guy at
> microsoft.
> He was impressed then after 3 min he asked me how many widgets are
> ready to use.
> And he was right.
>
> There are no incompatibilities between seaside as it is now and a cool
> widgets set.
> Having a cool widgets set with basic but fully working widgets would
> be a big plus: we could
> prototype even faster our applications. I do not have the skills and
> time of lukas
> to create widgets from scratch. But I imagine that I should be able to
> reuse them.
>
> Stef
>
>
> On Mar 6, 2008, at 5:10 PM, Sebastian Sastre wrote:
>
>>> -----Mensaje original-----
>>> De: [hidden email]
>>> [[hidden email]] En nombre
>>> de Philippe Marschall
>>> Enviado el: Miércoles, 05 de Marzo de 2008 17:25
>>> Para: Seaside - general discussion
>>> Asunto: Re: [Seaside] Design of WAComponent(s)
>>>
>>> 2008/3/5, Andreas Tönne <[hidden email]>:
>>>> ....
>>>
>>> I think the main point to understand here is that the components that
>>> come with Seaside are not a component library or even a component
>>> framework. They are simple stand alone components. They are not made
>>> with reusabilty, configurabitlity or customyzability in mind. They
>>> are
>>> focused on KISS and "getting the job done" and mostly for use Seaside
>>> itself. They will get you started fast but at one point sooner rather
>>> than later you will hit their limits. That's ok, they're not supposed
>>> to be the "be all, end all".
>>>
>>> The points you made IMHO apply only if you want to build a component
>>> library or even component framework. That should be an addon protect
>>> and has no place in Seaside-Core. Honestly I have my doubts if such a
>>> such thing could ever work given the very special needs of users
>>> concerning not only functionality but also mark up.
>>>
>>> Cheers
>>> Philippe
>>>
>>
>> Quoting you:
>> "...They are not made with reusabilty, configurabitlity or
>> customyzability in mind..."
>>
>> Quoting Seaside site:
>> "About
>> Seaside provides a layered set of abstractions over HTTP and HTML
>> that let you build highly interactive web applications quickly,
>> reusably and maintainably.
>> ..."
>>
>> Note that *reusably* is the second *bold* word after quickly.
>>
>> And also (from same source):
>> "...Embedded components. Stop thinking a whole page at a time;
>> Seaside lets you build your UI as a tree of individual, stateful
>> component objects, each encapsulating a small part of a page. Often,
>> these can be used over and over again, within and between
>> applications - nearly every application, for example, needs a way to
>> present a batched list of search results, or a table with sortable
>> columns, and Seaside includes components for these out the box..."
>>
>> So?
>>
>> Sebastian
>>
>> _______________________________________________
>> seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

--
Andreas Tönne
Lead Consultant
Cincom Systems GmbH & Co. oHG
Tel.: +49 6196 9003 100
Mobile: +49 172 6159272
Fax: +49 6196 9003 270

Geschäftsführer/Managing Directors: Thomas M. Nies, Gerald L. Shawhan
oHG mit Sitz/based in Schwalbach/Ts. (Amtsgericht Königstein/Ts. HRA
2653)
Pers. haftender Gesellschafter/Partner liable to unlimited extent:
Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht Königstein/
Ts. HRB 5069)

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Ramon Leon-5
In reply to this post by Andreas Tönne
> No offense please but some answers show a lack of
> appreciation for the users of Seaside. If you want to grow
> the users base of Seaside, you need to answer the question of
> Microsoft. If you dont, it will remain a great tool from
> specialists for specialists. And fade in oblivion eventually.

Why?  Emacs and Vi do pretty well as editors without catering to newbies,
why the assumption that building tools for experienced programmers is
somehow fatal?  Seaside is a framework, not a component library.

> > I do not have the skills and time of lukas to create
> widgets from scratch.
> > But I imagine that I should be able to reuse them.
>
> Chapeau! That *IS* the main point. Those non-specialist that
> might be attracted to Seaside and Smalltalk are very likely
> not fluent in the details of XHTML, Java-script and AJAX.
> Asking them to create new components from the given examples
> will end in bad copy&paste programming.

How does that have anything to do with whether the core should or shouldn't
include generic components?  No one is saying reusable components are bad,
look at ShoreComponents, that is how generic components should be done, as
separate packages that don't bloat the core framework.  It'd be great to
have a wide variety of component options, no one disputes that, they just
don't belong in the core framework.

BTW, anyone not fluent in the details of XHTML, Javascript and AJAX isn't
going to make it very far in *any* web framework.  If you want to develop
web applications, these things are pretty much required learning.  Seaside
may let you write XHTML, Javascript, and Ajaxy stuff in Smalltalk syntax,
but you still have to understand them to make effective use of those
abstractions.  There's no getting around that.

Ramon Leon
http://onsmalltalk.com

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

stephane ducasse
In reply to this post by Andreas Tönne
Go do it!
Once you get some component I can try to rewrite my dead simple but  
boring to code
Comix collection app (search, sorted result, report table with comix  
component view inside).

Stef

On Mar 6, 2008, at 5:52 PM, Andreas Tönne wrote:

> Stephane,
>
> thank you for getting my point. ;-)
>
> All,
>
> I found the various objectives for Seaside hiding behind the answers  
> very
> interesting.
>
> No offense please but some answers show a lack of appreciation for  
> the users
> of Seaside. If you want to grow the users base of Seaside, you need to
> answer the question of Microsoft. If you dont, it will remain a  
> great tool
> from specialists for specialists. And fade in oblivion eventually.
>
> Let me get some points about my objectives straight (because some  
> jumped to
> conclusions).
>
> 1. I do not look at a "one-framework-fits-it-all" approach. I know the
> limitations of a pluggable design for components. It is extremely  
> hard!
> (designing Smalltalk applications for 21 years should qualify me to  
> say
> that) Particularly the mixing of structure, presentation and  
> interactivity
> in one XHTML structure limits the configuration choices for a general
> framework alot. (but I see a value in getting there half way)
> 2. I agree that the core should be small and needs some cleanup (and
> commenting please).
>
> Having said that, please think about this statement of Stephane for a
> minute:
>
>> I do not have the skills and time of lukas to create widgets from  
>> scratch.
>> But I imagine that I should be able to reuse them.
>
> Chapeau! That *IS* the main point. Those non-specialist that might be
> attracted to Seaside and Smalltalk are very likely not fluent in the  
> details
> of XHTML, Java-script and AJAX. Asking them to create new components  
> from
> the given examples will end in bad copy&paste programming.
>
> One interesting point is the size or specialization of predefined
> components. A login component is indeed not very interesting for a
> predefined component. Individual widgets that need to be pieced  
> together
> from primitive HTML and AJAX elements are much more promising. These
> *expected* elements for UI design are pretty much standard and hence  
> open
> for a standard implementation. I shoot for 80:20. I like to catch  
> 80% of the
> standard widgets and components and let 20% be custom implementations.
>
> Andreas
>
>
> Am 06.03.2008 17:21 Uhr schrieb "stephane ducasse" unter
> <[hidden email]>:
>
>> Hi sebastian
>>
>> I still see the point of andreas.
>> I would love to have a usable report widget in which I can plug other
>> components.
>> I already sent that a while back but once I show Seaside to a guy at
>> microsoft.
>> He was impressed then after 3 min he asked me how many widgets are
>> ready to use.
>> And he was right.
>>
>> There are no incompatibilities between seaside as it is now and a  
>> cool
>> widgets set.
>> Having a cool widgets set with basic but fully working widgets would
>> be a big plus: we could
>> prototype even faster our applications. I do not have the skills and
>> time of lukas
>> to create widgets from scratch. But I imagine that I should be able  
>> to
>> reuse them.
>>
>> Stef
>>
>>
>> On Mar 6, 2008, at 5:10 PM, Sebastian Sastre wrote:
>>
>>>> -----Mensaje original-----
>>>> De: [hidden email]
>>>> [mailto:[hidden email]] En nombre
>>>> de Philippe Marschall
>>>> Enviado el: Miércoles, 05 de Marzo de 2008 17:25
>>>> Para: Seaside - general discussion
>>>> Asunto: Re: [Seaside] Design of WAComponent(s)
>>>>
>>>> 2008/3/5, Andreas Tönne <[hidden email]>:
>>>>> ....
>>>>
>>>> I think the main point to understand here is that the components  
>>>> that
>>>> come with Seaside are not a component library or even a component
>>>> framework. They are simple stand alone components. They are not  
>>>> made
>>>> with reusabilty, configurabitlity or customyzability in mind. They
>>>> are
>>>> focused on KISS and "getting the job done" and mostly for use  
>>>> Seaside
>>>> itself. They will get you started fast but at one point sooner  
>>>> rather
>>>> than later you will hit their limits. That's ok, they're not  
>>>> supposed
>>>> to be the "be all, end all".
>>>>
>>>> The points you made IMHO apply only if you want to build a  
>>>> component
>>>> library or even component framework. That should be an addon  
>>>> protect
>>>> and has no place in Seaside-Core. Honestly I have my doubts if  
>>>> such a
>>>> such thing could ever work given the very special needs of users
>>>> concerning not only functionality but also mark up.
>>>>
>>>> Cheers
>>>> Philippe
>>>>
>>>
>>> Quoting you:
>>> "...They are not made with reusabilty, configurabitlity or
>>> customyzability in mind..."
>>>
>>> Quoting Seaside site:
>>> "About
>>> Seaside provides a layered set of abstractions over HTTP and HTML
>>> that let you build highly interactive web applications quickly,
>>> reusably and maintainably.
>>> ..."
>>>
>>> Note that *reusably* is the second *bold* word after quickly.
>>>
>>> And also (from same source):
>>> "...Embedded components. Stop thinking a whole page at a time;
>>> Seaside lets you build your UI as a tree of individual, stateful
>>> component objects, each encapsulating a small part of a page. Often,
>>> these can be used over and over again, within and between
>>> applications - nearly every application, for example, needs a way to
>>> present a batched list of search results, or a table with sortable
>>> columns, and Seaside includes components for these out the box..."
>>>
>>> So?
>>>
>>> Sebastian
>>>
>>> _______________________________________________
>>> seaside mailing list
>>> [hidden email]
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>
>>
>> _______________________________________________
>> seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> --
> Andreas Tönne
> Lead Consultant
> Cincom Systems GmbH & Co. oHG
> Tel.: +49 6196 9003 100
> Mobile: +49 172 6159272
> Fax: +49 6196 9003 270
>
> Geschäftsführer/Managing Directors: Thomas M. Nies, Gerald L. Shawhan
> oHG mit Sitz/based in Schwalbach/Ts. (Amtsgericht Königstein/Ts. HRA
> 2653)
> Pers. haftender Gesellschafter/Partner liable to unlimited extent:
> Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht Königstein/
> Ts. HRB 5069)
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Sebastian Sastre-2
In reply to this post by Andreas Tönne


> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En nombre
> de Andreas T ö nne
> Enviado el: Jueves, 06 de Marzo de 2008 13:53
> Para: Seaside - general discussion
> Asunto: Re: [Seaside] Design of WAComponent(s)
>
> Stephane,
>
> thank you for getting my point. ;-)
>
> All,
>
> I found the various objectives for Seaside hiding behind the
> answers very
> interesting.
>
> No offense please but some answers show a lack of
> appreciation for the users
> of Seaside. If you want to grow the users base of Seaside, you need to
> answer the question of Microsoft. If you dont, it will remain
> a great tool
> from specialists for specialists. And fade in oblivion eventually.
>
> Let me get some points about my objectives straight (because
> some jumped to
> conclusions).
>
> 1. I do not look at a "one-framework-fits-it-all" approach. I know the
> limitations of a pluggable design for components. It is
> extremely hard!
> (designing Smalltalk applications for 21 years should qualify
> me to say
> that) Particularly the mixing of structure, presentation and
> interactivity
> in one XHTML structure limits the configuration choices for a general
> framework alot. (but I see a value in getting there half way)
> 2. I agree that the core should be small and needs some cleanup (and
> commenting please).
>
> Having said that, please think about this statement of Stephane for a
> minute:
>
> > I do not have the skills and time of lukas to create
> widgets from scratch.
> > But I imagine that I should be able to reuse them.
>
> Chapeau! That *IS* the main point. Those non-specialist that might be
> attracted to Seaside and Smalltalk are very likely not fluent
> in the details
> of XHTML, Java-script and AJAX. Asking them to create new
> components from
> the given examples will end in bad copy&paste programming.
>
> One interesting point is the size or specialization of predefined
> components. A login component is indeed not very interesting for a
> predefined component. Individual widgets that need to be
> pieced together
> from primitive HTML and AJAX elements are much more promising. These
> *expected* elements for UI design are pretty much standard
> and hence open
> for a standard implementation. I shoot for 80:20. I like to
> catch 80% of the
> standard widgets and components and let 20% be custom implementations.
>
> Andreas
>

I've taken some trade offs and what you've described in your last paragraph is
exactly what I've done in my hierarchy.
All that thanks to the amazing Seaside platform.
Let me count to give an idea..
7 inputs (text, password, boolean, date, etc) including an autocompleter from my
own (all the js but prototype cames from objects from the image and is not plain
text).
4 values (non inputs)
14 other controls (tabs, anchor, menu, menu from button, etc)
4 layouts (flow horizontal, flow vertical and border covers 99.9% of layout
needs)
On top of that I've have near 200 (and counting) abolutely application custom
made components (editors, headers, toolbars, more creative widgets of our own,
etc) they often have intense DOM interaction between them and are allways loose
coupled using announcements (at server) and #fire: (at DOM).
So I'm sure anyone capable of *using* MVP to develop desktop apps will love to
use this beacause the barrier to scale that apps to web are lowered to a
minimum.
Cheers,

Sebastian




_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Sebastian Sastre-2
In reply to this post by Ramon Leon-5

> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En nombre
> de Ramon Leon
> Enviado el: Jueves, 06 de Marzo de 2008 14:20
> Para: 'Seaside - general discussion'
> Asunto: RE: [Seaside] Design of WAComponent(s)
>
> > No offense please but some answers show a lack of
> > appreciation for the users of Seaside. If you want to grow
> > the users base of Seaside, you need to answer the question of
> > Microsoft. If you dont, it will remain a great tool from
> > specialists for specialists. And fade in oblivion eventually.
>
> Why?  Emacs and Vi do pretty well as editors without catering
> to newbies,
> why the assumption that building tools for experienced programmers is
> somehow fatal?  Seaside is a framework, not a component library.
>
You mean the point is Seaside must apply as a Vi kind of tool? One of the things
I'm happy to use ubuntu (with NXServer) is not to need vi anymore to fill my
expensive cerebral RAM with exotic key combinations (used once a while) of
software not designed to respect basic design principles not to mention human
beings heuristics.
I hope Seaside NEVER take a path which make it comparable to that kind of
software. I mean never ever to the end of time

I'm sure you know technology should be meant to deconstruction of the barriers
of dominating things (machines) to do the human's will and not to build new
barriers or keep them. Doing that reveals the developer's established statu quo
of that epoch which IMHO is nothing more than a small mediocre thought none here
should have (among other things because how Smalltalk has born).

> > > I do not have the skills and time of lukas to create
> > widgets from scratch.
> > > But I imagine that I should be able to reuse them.
> >
> > Chapeau! That *IS* the main point. Those non-specialist that
> > might be attracted to Seaside and Smalltalk are very likely
> > not fluent in the details of XHTML, Java-script and AJAX.
> > Asking them to create new components from the given examples
> > will end in bad copy&paste programming.
>
> How does that have anything to do with whether the core
> should or shouldn't
> include generic components?  No one is saying reusable
> components are bad,
> look at ShoreComponents, that is how generic components
> should be done, as
> separate packages that don't bloat the core framework.  It'd
> be great to
> have a wide variety of component options, no one disputes
> that, they just
> don't belong in the core framework.
>
This very important. None is questioning what the core of Seaside has to be made
of. I'm happy with the taken path for 2.9. In any case Seaside must care for the
interest of the better preserve and mature the good platform it is.
The things we create *on* it are just talking about the richness it provides.
Something good can grow from it beacouse is a solid fundation.

Cheers,

Sebastian


> BTW, anyone not fluent in the details of XHTML, Javascript
> and AJAX isn't
> going to make it very far in *any* web framework.  If you
> want to develop
> web applications, these things are pretty much required
> learning.  Seaside
> may let you write XHTML, Javascript, and Ajaxy stuff in
> Smalltalk syntax,
> but you still have to understand them to make effective use of those
> abstractions.  There's no getting around that.
>
> Ramon Leon
> http://onsmalltalk.com
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Design of WAComponent(s)

Ramon Leon-5
> You mean the point is Seaside must apply as a Vi kind of
> tool?

No, Vi was just an example.  My point is it's a false assumption that every
program *must* be friendly to newbs to be successful or worth using.  

Not that Seaside is that difficult, but the goal shouldn't be trying to hand
hold people who don't know anything about web development, Javascript, or
Ajax and try and make web developers out of them.  The goal is a better web
framework for *web developers*.  If you don't know much about web
development, you've got things you need to learn before you pick up Seaside.

> > core framework.  It'd be great to have a wide variety of component
> > options, no one disputes that, they just don't belong in the core
> > framework.
> >
> This very important. None is questioning what the core of
> Seaside has to be made of. I'm happy with the taken path for
> 2.9. In any case Seaside must care for the interest of the
> better preserve and mature the good platform it is.
> The things we create *on* it are just talking about the
> richness it provides.
> Something good can grow from it beacouse is a solid fundation.
>
> Cheers,
>
> Sebastian

And that's the main point, Seaside is the foundation, it's not supposed to
be the ultimate component library nor should it try to be, that's not what
frameworks are for.  Frameworks serve as the foundation of such libraries.

Ramon Leon
http://onsmalltalk.com

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Design of WAComponent(s)

stephane ducasse
Come on.
I'm far from a newbie (at least I believe it) and this is boring to
develop from scratch the same. I imagine that lot of people reuse  
their own component.
When I write a desktop app, I'm not a newbie still I like to reuse  
window, buttons and label.
At least I'm not interested in knowing how scrollbar and other details  
work.
Where is the newbie here?

Why people like to take extreme statements.


On Mar 6, 2008, at 7:25 PM, Ramon Leon wrote:

>> You mean the point is Seaside must apply as a Vi kind of
>> tool?
>
> No, Vi was just an example.  My point is it's a false assumption  
> that every
> program *must* be friendly to newbs to be successful or worth using.
>
> Not that Seaside is that difficult, but the goal shouldn't be trying  
> to hand
> hold people who don't know anything about web development,  
> Javascript, or
> Ajax and try and make web developers out of them.  The goal is a  
> better web
> framework for *web developers*.  If you don't know much about web
> development, you've got things you need to learn before you pick up  
> Seaside.
>
>>> core framework.  It'd be great to have a wide variety of component
>>> options, no one disputes that, they just don't belong in the core
>>> framework.
>>>
>> This very important. None is questioning what the core of
>> Seaside has to be made of. I'm happy with the taken path for
>> 2.9. In any case Seaside must care for the interest of the
>> better preserve and mature the good platform it is.
>> The things we create *on* it are just talking about the
>> richness it provides.
>> Something good can grow from it beacouse is a solid fundation.
>>
>> Cheers,
>>
>> Sebastian
>
> And that's the main point, Seaside is the foundation, it's not  
> supposed to
> be the ultimate component library nor should it try to be, that's  
> not what
> frameworks are for.  Frameworks serve as the foundation of such  
> libraries.
>
> Ramon Leon
> http://onsmalltalk.com
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
12