Re: [RF] Chainsaws and Seeds

2005-12-12 Thread dave-

Antonio Gallardo wrote:


dave- wrote:


Stefano Mazzocchi wrote:


Mark Lowe wrote:


Nice charts.. They assume that the same folk that are there at the
start of the start line are the same folk that are end or even perhaps
middle. Despite having a lot of respect for stefano's achievements and
the contribution that cocoon has made, I think the graphs are wrong,
or at least fail to account for iterations of staff turnover.





Hmmm, this is a very valid point, I'll have to think about it some 
more. Hmm...


IMHO, it does not matter whether the graphs are right or wrong, I 
think the web 2..0 movement has transcended the issue in any case.


Model Based Architectures and Graphical interfaces have allowed far 
less technical people access to complex environments.  I think, 
although I am not absolutely positive, that a java/pipeline/sitemap 
is a better base than perl/python upon which to build such systems.  
It is for that reason I posted the following 2 visions in another 
thread:


As a first vision, I would like to see cocoon accessible to less 
technical people.  This could be done with elegant simplicity and a 
graphical interface.  Here is a good web 2.0 example 
http://www.activegrid.com/what/applicationbuilder.php.


As a second vision, artifacts created by the graphical interface 
along with any written code could become the model from which 
alternative implementation systems might be generated.  For example, 
a model POJO could be implementationally persisted in various ways.   
dave-



Should not be this more a Lepido[1] concern?


Yes, it is currently a Lepido concern, but perhaps it should be a 
general community concern.  I think the cocoon community should refocus 
their vision to a model based architecture (MBA) as the single point to 
align to.


A MBA would allow for concurrent competing implementation possibilities 
rather than having to choose between them.  For example, the model could 
be implemented  as a pure java implementation or as a java./javascript 
implementation without having to choose between them..


I think Lepido would then refocus toward providing a graphical front end 
to the model.


Re: [RF] Chainsaws and Seeds

2005-12-11 Thread Mark Lowe
I've been wanting to add my 2 pence since stefano's is cocoon
redundant thread. I also admit i'm not a cocoon developer.

Nice charts.. They assume that the same folk that are there at the
start of the start line are the same folk that are end or even perhaps
middle. Despite having a lot of respect for stefano's achievements and
the contribution that cocoon has made, I think the graphs are wrong,
or at least fail to account for iterations of staff turnover.

In the case of a strong SOC approach vs embedding stuff in htmls
(including taglibs), I think whoever that the graphs work as a
concept. As long and no crack addicts wrote the orginal xsl's etc, any
new folk or contractors can fall into line see whats going on and
hence cost of ownership could indeed be reduced.

Seeing that everyone seems to agree that cocoon's strength are the
pipelines, consider the following

c:import var=xmlds uri=mydatasource.xml
c:import var=htmlRenderer uri=/WEB-INF/xsl/html/foo.xsl /
x:transform xsl=${htmlRenderer} xml=${xmlds} /

or even a i18n example

myxmlfmt:message key=mykey //myxml

This is a over simplification and I know that cocoon does a lot more,
but I think that leveraging standard kit (when it works) would make
life so much easier. JSTL wasn't around when cocoon set out to solve
these problems, I even sincerely believe that cocoon's influence
helped the development of techologies like jstl, so my point isn't
about which is better or worse.

Up until now I've been using jsps for the view controllers with
clearly named file..

/controller/fooController.jsp

jsp:useBean id=errors class=java.util.HashMap scope=request /
c:choose
c:when test=${empty param.email}
fmt:message key=message.email.required var=msg /
c:set target=${errors} property=email value=${msg}
/c:when
c:when test=${myvalidations:email(email)}
 c:set target..  . etc
/c:when
..
c:choose
c:when test=${!empty errors}
   jsp:forward page=mypage.jsp /
/c:when
..

in mypage.jsp iterate over error map or even a specialised java class
like ValidationError, and generate relevant xml.

Of course there's no reason why scripting or even continuations
couldn't be added, view controller logic in jstl wont be everyone's
cup to tea. But good ide and container support make it a reasonable
choice.

Again overly simple and maybe folk don't like jstl controllers, want
continuations etc, so its not like jstl can do everything. It would
need extending to do all that. But if folk want to talk about cost of
ownership, ide support, contractor/staff turnover and such like, while
maintaining SOC.

Lego is good, SOC is good, room to choose ajax or vanilla html output,
all these things are good. And before the standard kit supported it in
a usable manner was cocoon's main advantage. I see these advances in
jstl as some of the fruits of the cocoon project, and ironically not
leveraged by it. Refining jstl into something more aligned with cocoon
would seem to have more advantages than costs, would provide a clear
means of integrating legacy cocoon apps and maintain SOC.

Hope I haven't bored or annoyed anyone, just had a big itch for a long time.

Mark

On 12/11/05, Niclas Hedhman [EMAIL PROTECTED] wrote:
 On Saturday 10 December 2005 19:20, Stefano Mazzocchi wrote:
  Niclas Hedhman wrote:

   The orthogonality of Cocoon has died. Noone talks about views. Noone
   highlights the ability to serve same content to many user agents. Noone
   is interested in truly useful smaller components. Noone cares about the
   developer vs designer vs deployer roles.
 
  Hmmm, interesting, didn't see it this way. I wonder if it's because the
  real life forces those role to hybridize over and over, if we didn't
  make the right choice in separating them or because really nobody cares.
 
  If nobody really cares, then I wonder what in hell are we still thinking
  in terms of SoC!

 I think that is purely a matter of who is in the studied group.
 When you started Cocoon, you had the vision to look beyond the developer, and
 saw that scalability is a problem and went out to create a solution. But,
 somehow Cocoon didn't manage to reach out to those where this was important,
 instead it became the geek tool, and that part of the vision eroded.

   I am predicting that the next round of waves will not be around
   delivering HTML or XML to web browsers, AJAX or not. It will center
   around dedicated clients. And not _any_ client - but the Mobile clients.
 
  I very strongly disagree. Mobiles are getting richer and richer, and the
  HTML browser software is becoming more and more commoditized. It might
  be easier for everybody to deliver XHTML with Ajax-retrieved CSS and
  content than to do it the other way around.

 Ok, we disagree. Time will show what the future holds. You think the client
 side will converge over the next 5 years, I say it will diverge a lot, fueled
 by the inadequacy of HTML and ever higher demanding users, with new set of
 challenges.

  But the important point is 

Re: [RF] Chainsaws and Seeds

2005-12-11 Thread Stefano Mazzocchi

Mark Lowe wrote:


Nice charts.. They assume that the same folk that are there at the
start of the start line are the same folk that are end or even perhaps
middle. Despite having a lot of respect for stefano's achievements and
the contribution that cocoon has made, I think the graphs are wrong,
or at least fail to account for iterations of staff turnover.


Hmmm, this is a very valid point, I'll have to think about it some more. 
Hmm...


--
Stefano.



Re: [RF] Chainsaws and Seeds

2005-12-11 Thread dave-

Stefano Mazzocchi wrote:


Mark Lowe wrote:


Nice charts.. They assume that the same folk that are there at the
start of the start line are the same folk that are end or even perhaps
middle. Despite having a lot of respect for stefano's achievements and
the contribution that cocoon has made, I think the graphs are wrong,
or at least fail to account for iterations of staff turnover.



Hmmm, this is a very valid point, I'll have to think about it some 
more. Hmm...


IMHO, it does not matter whether the graphs are right or wrong, I think 
the web 2..0 movement has transcended the issue in any case.


Model Based Architectures and Graphical interfaces have allowed far less 
technical people access to complex environments.  I think, although I am 
not absolutely positive, that a java/pipeline/sitemap is a better base 
than perl/python upon which to build such systems.  It is for that 
reason I posted the following 2 visions in another thread:


As a first vision, I would like to see cocoon accessible to less 
technical people.  This could be done with elegant simplicity and a 
graphical interface.  Here is a good web 2.0 example 
http://www.activegrid.com/what/applicationbuilder.php.


As a second vision, artifacts created by the graphical interface along 
with any written code could become the model from which alternative 
implementation systems might be generated.  For example, a model POJO 
could be implementationally persisted in various ways.   dave- 


Re: [RF] Chainsaws and Seeds

2005-12-11 Thread Antonio Gallardo

dave- wrote:


Stefano Mazzocchi wrote:


Mark Lowe wrote:


Nice charts.. They assume that the same folk that are there at the
start of the start line are the same folk that are end or even perhaps
middle. Despite having a lot of respect for stefano's achievements and
the contribution that cocoon has made, I think the graphs are wrong,
or at least fail to account for iterations of staff turnover.




Hmmm, this is a very valid point, I'll have to think about it some 
more. Hmm...


IMHO, it does not matter whether the graphs are right or wrong, I 
think the web 2..0 movement has transcended the issue in any case.


Model Based Architectures and Graphical interfaces have allowed far 
less technical people access to complex environments.  I think, 
although I am not absolutely positive, that a java/pipeline/sitemap is 
a better base than perl/python upon which to build such systems.  It 
is for that reason I posted the following 2 visions in another thread:


As a first vision, I would like to see cocoon accessible to less 
technical people.  This could be done with elegant simplicity and a 
graphical interface.  Here is a good web 2.0 example 
http://www.activegrid.com/what/applicationbuilder.php.


As a second vision, artifacts created by the graphical interface along 
with any written code could become the model from which alternative 
implementation systems might be generated.  For example, a model POJO 
could be implementationally persisted in various ways.   dave-


Should not be this more a Lepido[1] concern?

Best Regards,

Antonio Gallardo.

[1] http://www.eclipse.org/lepido/


Re: [RF] Chainsaws and Seeds

2005-12-10 Thread Niclas Hedhman
On Friday 09 December 2005 02:21, Stefano Mazzocchi wrote:

And in terms of moving the equi-cost point to the left, there are two 
fundmentally different variables to consider.

for instance, if t
  
  y = a *  b / x  `
   \/


total cost of ownership (y)
     ^
     |                   o
     |            o  |
     |       o   |
     |    o  v
     |  o  \ 2.
     | o\
     |o  1.
     +--
                        complexity (x)


 1. Essential focus on lessening the threshold, i.e. lower a.

 2. Increasing the power of the functionality that are required for really
complex systems, i.e. increasing the root base.

Often, these are also interlinked, and it is important that the lowering of 
a doesn't make ( b  1 )...

I think everyone are at this point focusing on 1. The market talks about 
quick starters and Cocoon peeps wants to me too in that area. I don't 
give a flying fart about RubyOnRail as my gut says that it doesn't make it 
easier to become the next Rembrandt, only providing me with more cryons than 
the other kids.

I think Stefano's RF is great. He challenges people's presence and 
motivations. If you want to do weblog apps - GO. If you want to DB record 
viewer app - GO. If you want JAWA (Just Another Web Application) - GO. 
GO - because there are 50 other frameworks out there, all of them with their 
strengths, weaknesses and hype. I am sure there is some that suits YOU, as 
well as me. JAWA is not why I keep my interest...

The reason to stay, is not to compete with Struts, Tapestry, Wicket, RoR, PHP 
and every other JAWA framework out there.

The orthogonality of Cocoon has died. Noone talks about views. Noone 
highlights the ability to serve same content to many user agents. Noone is 
interested in truly useful smaller components. Noone cares about the 
developer vs designer vs deployer roles.


I am predicting that the next round of waves will not be around delivering 
HTML or XML to web browsers, AJAX or not. It will center around dedicated 
clients. And not _any_ client - but the Mobile clients.
And this is a lot more interesting to Cocoon than one first realizes.
 1. Cocoon is already equipped to serve mobile clients, both WML and binary
formats. No change required.
 2. The most important aspect is the ability to generate media for different
device models. No change required.
 3. Americans have no clue about what is about to happen. Europeans are better
prepared, and Cocoon is apparently a very European project.

So, all of you who wants JAWA, Cocoon may not be the best tool. I don't think 
we should even try to become the best. Cocoon is already great in many 
aspects. We should concentrate on this, and become the defacto standard for 
mobile backends.


Finally, my take on what Cocoon Really Needs.

Cocoon needs a New Vision Statement. One paragraph of what Cocoon is all 
about, that blows my (the user's) mind away. 

Cocoon needs better Marketing. Struts didn't become Struts by developers 
complimenting each other on how great they were. Grab the opportunity of 
becoming the mobile backend 'standard'.

Cocoon needs new Architecture. Marc's to the point list of how to get that 
organized is a good starting point.

Cocoon needs better Documentation. Yeah, yeah, I know the story ;o)


My 2 cents.

Niclas


Re: [RF] Chainsaws and Seeds

2005-12-10 Thread Stefano Mazzocchi

Niclas Hedhman wrote:

On Friday 09 December 2005 02:21, Stefano Mazzocchi wrote:

And in terms of moving the equi-cost point to the left, there are two 
fundmentally different variables to consider.


for instance, if t
  
  y = a *  b / x  `
   \/


total cost of ownership (y)
 ^
 |   o
 |o  |
 |   o   |
 |o  v
 |  o  \ 2.
 | o\
 |o  1.
 +--
complexity (x)


 1. Essential focus on lessening the threshold, i.e. lower a.

 2. Increasing the power of the functionality that are required for really
complex systems, i.e. increasing the root base.

Often, these are also interlinked, and it is important that the lowering of 
a doesn't make ( b  1 )...


I think everyone are at this point focusing on 1. The market talks about 
quick starters and Cocoon peeps wants to me too in that area. I don't 
give a flying fart about RubyOnRail as my gut says that it doesn't make it 
easier to become the next Rembrandt, only providing me with more cryons than 
the other kids.


Good one :-)

I think Stefano's RF is great. 


Thanks.

He challenges people's presence and 
motivations. If you want to do weblog apps - GO. If you want to DB record 
viewer app - GO. If you want JAWA (Just Another Web Application) - GO. 
GO - because there are 50 other frameworks out there, all of them with their 
strengths, weaknesses and hype. I am sure there is some that suits YOU, as 
well as me. JAWA is not why I keep my interest...


The reason to stay, is not to compete with Struts, Tapestry, Wicket, RoR, PHP 
and every other JAWA framework out there.


The orthogonality of Cocoon has died. Noone talks about views. Noone 
highlights the ability to serve same content to many user agents. Noone is 
interested in truly useful smaller components. Noone cares about the 
developer vs designer vs deployer roles.


Hmmm, interesting, didn't see it this way. I wonder if it's because the 
real life forces those role to hybridize over and over, if we didn't 
make the right choice in separating them or because really nobody cares.


If nobody really cares, then I wonder what in hell are we still thinking 
in terms of SoC!


I am predicting that the next round of waves will not be around delivering 
HTML or XML to web browsers, AJAX or not. It will center around dedicated 
clients. And not _any_ client - but the Mobile clients.


I very strongly disagree. Mobiles are getting richer and richer, and the 
HTML browser software is becoming more and more commoditized. It might 
be easier for everybody to deliver XHTML with Ajax-retrieved CSS and 
content than to do it the other way around.


But the important point is not that you can do it, it's all those 
borderline cases where you *can'* and, therefore, your complexity starts 
to increase dramatically.


Cocoon will help moving stuff back to the server with very reasonable 
costs and move stuff from the server to the client gradually.


*that* is, IMO, the real need: a web framework that is powerful and 
flexible, yet easy to use, that allows to position your web application 
on all possible shades between a controller that stays most on the 
client or most on the server, with the ability to fine-tune that over 
time with as much ease.



And this is a lot more interesting to Cocoon than one first realizes.
 1. Cocoon is already equipped to serve mobile clients, both WML and binary
formats. No change required.


Sure, but that's really not that hard to achieve.


 2. The most important aspect is the ability to generate media for different
device models. No change required.


Pipelines are first class citizens in Cocoon land, but you are talking 
to one use of it, one that makes you happy. I'm happy if that happens, 
but there are others. The important part is to keep the pipeline 
machinery as first class, yet make it easier to use even in other 
usecases. See Sylvain's proposal for dynamic and scripted pipelines.



 3. Americans have no clue about what is about to happen. Europeans are better
prepared, and Cocoon is apparently a very European project.


That's complete bullshit. It is true that multi-modal appeal appears 
more in Europe than in the US, but as I said about, you might find that 
the complexity of multi-modality brings uniformity to the client (as it 
happens on the web) instead of bringing more complexity in the server 
side rendering engines, especially now that Mozilla Minimo and stuff 
like that are emerging and that mobiles (in order to run powerful games) 
will have more and more RAM and bigger screens.


So, all of you who wants JAWA, Cocoon may not be the best tool. I don't think 
we should even try to become the best. Cocoon is already great in many 
aspects. We should concentrate on this, and become the defacto standard for 
mobile backends.


I personally don't give a rat's ass 

Re: [RF] Chainsaws and Seeds

2005-12-10 Thread Torsten Curdt
On 08.12.2005, at 19:21, Stefano Mazzocchi wrote:Cocoon is what it is today, but what it is tomorrow is defined by what we, collectively, decide.Amen :)...I also started a long-winded response to this big thread(s) butsince at least a little crowd is going to meet soon at the ApacheConI ended up thinking a few high bandwidth f2f discussion and *then*get back the list might be a better time investment in the end. So let's make it short for now...A lot has been said ...and although there has been some disagreementto me it does not feel like the common vision is really so diverseat all. Simplicity and modularity! ...we just seem to have differentviews on *how* this should happen.I am also one of those who believe that Joel's article just doesn'tget it right. Just because you will *never* throw away all the code!And I assume when people are talking about "from scratch" we willstill find quite some code from the old codebase in the new one.I am sure we would get there through refactoring as well ...butthat's so much hard work ...and with such a big project it willmostly be just a constant pain ...ending in frustrated developersbut that's the last thing we need! We need back some more FUNdeveloping cocoon! (*sigh* The good old 2.x days spring to mind)How childish! Maybe ...but somehow I think that's how it works.Face it! We need the kick of the new! ...and since the core APIgot pretty much stable we added so much new stuff on top that thecore had no "air to breathe" anymore.Time seems to be right to put cocoon on a diet ...give the babysome air to breath and let's resurrect core development.I am sure we can do it again ...and this time we should haveenough people with old versions installed so we *have* to providea migration path. So no user should have to worry ;)Let's do it!...ups ...got longer than I wanted ;)cheers--Torsten

PGP.sig
Description: This is a digitally signed message part


Re: [RF] Chainsaws and Seeds

2005-12-10 Thread Sylvain Wallez

Stefano Mazzocchi wrote:

snip/


What can we do?

Two things:

 1) breath and relax, we are not going to get run over: changing the 
slope does *NOT* change the nature of the function (they will 
understand that as soon as they cross that equi-cost point... and 
complexity grows even faster the more web 2.0-ish you become, 
because there are more and more variables that you don't control that 
get in the mix)


I think it's an utopical vision: when the equi-point moves to the right, 
people realize that they're reaching the limit of their framwork once:

- it's too late to envision changing for another one,
- they reached a very intimate knowledge of their framework, precisely 
because that point is more far to the right.


What this means is that chances that they switch to another platform 
that can handle high complexity but has a steep learning curve are very low.


Also, we have to consider that it's not only the slope of the other 
technologies that has flattened, but also the slope of Cocoon that has 
become steeper. So the equi-point has moved far right because of the 
combination of these two factors, and getting into Cocoon when you tried 
a framework with an easier initial approach will seem like a impossible 
or not-worth-it task.


snip/

But the ASF contains the rules for revolutionaries. This states that 
every committer is allowed to propose an 'internal fork' but there a 
few things that it's not supposed to do, the most important being, use 
the name of the same project.


So, if Sylvain wants to start an internal fork, he can and nobody can 
stop him, but he has to pick a codename that has nothing to do with 
cocoon and cannot release it to the public (as distribution) before 
the cocoon PMC allows that to happen.


Ok. Actually, I was surprised by so many people answering positively to 
my RT, and what started as a rant and potential solutions turned into a 
march towards a revolution, in an uncontrolled way.


Now I understand this isn't the way to go to ensure a smooth 
cohabitation between this experiment and the work that has to be done on 
Cocoon. So I will not name it Cocoon-NG, XP or whatever. Searching for a 
name, I saw my cat walk by, and decided to pick up his name for this 
experiment. So that will be Kiwi, which obviously makes no reference 
to Cocoon.


Let's also calm down all these vision talks (which seem to have 
happened already) and work more quielty on some proof of concept with 
this pull-based pipeline API, and see what comes out.


Sylvain

--
Sylvain WallezAnyware Technologies
http://bluxte.net http://www.anyware-tech.com
Apache Software Foundation Member Research  Technology Director



Re: [RF] Chainsaws and Seeds

2005-12-10 Thread Niclas Hedhman
On Saturday 10 December 2005 19:20, Stefano Mazzocchi wrote:
 Niclas Hedhman wrote:

  The orthogonality of Cocoon has died. Noone talks about views. Noone
  highlights the ability to serve same content to many user agents. Noone
  is interested in truly useful smaller components. Noone cares about the
  developer vs designer vs deployer roles.

 Hmmm, interesting, didn't see it this way. I wonder if it's because the
 real life forces those role to hybridize over and over, if we didn't
 make the right choice in separating them or because really nobody cares.

 If nobody really cares, then I wonder what in hell are we still thinking
 in terms of SoC!

I think that is purely a matter of who is in the studied group.
When you started Cocoon, you had the vision to look beyond the developer, and 
saw that scalability is a problem and went out to create a solution. But, 
somehow Cocoon didn't manage to reach out to those where this was important, 
instead it became the geek tool, and that part of the vision eroded.

  I am predicting that the next round of waves will not be around
  delivering HTML or XML to web browsers, AJAX or not. It will center
  around dedicated clients. And not _any_ client - but the Mobile clients.

 I very strongly disagree. Mobiles are getting richer and richer, and the
 HTML browser software is becoming more and more commoditized. It might
 be easier for everybody to deliver XHTML with Ajax-retrieved CSS and
 content than to do it the other way around.

Ok, we disagree. Time will show what the future holds. You think the client 
side will converge over the next 5 years, I say it will diverge a lot, fueled 
by the inadequacy of HTML and ever higher demanding users, with new set of 
challenges.

 But the important point is not that you can do it, it's all those
 borderline cases where you *can'* and, therefore, your complexity starts
 to increase dramatically.

Agree.

  And this is a lot more interesting to Cocoon than one first realizes.
   1. Cocoon is already equipped to serve mobile clients, both WML and
  binary formats. No change required.

 Sure, but that's really not that hard to achieve.

Really? I take it you are not authoring too many mobile apps atm.
The capabilities varies enormously from model to model. Look at the number of 
JSRs that each model support or not. And that is just the Java world. Then 
throw in a bunch of other platforms and the mess is complete. 

   2. The most important aspect is the ability to generate media for
  different device models. No change required.

 Pipelines are first class citizens in Cocoon land, but you are talking
 to one use of it, one that makes you happy. I'm happy if that happens,
 but there are others. The important part is to keep the pipeline
 machinery as first class, yet make it easier to use even in other
 usecases. See Sylvain's proposal for dynamic and scripted pipelines.

Agree.

   3. Americans have no clue about what is about to happen. Europeans are
  better prepared, and Cocoon is apparently a very European project.

 That's complete bullshit. It is true that multi-modal appeal appears
 more in Europe than in the US,

A bit of a flame-bait, agreed. But face it, there is no mobile communication 
culture in the USA to speak of. Will it change? Yes, I am sure, but not over 
night. Developers also derives from expectations, so where the end-user 
demand is high, a larger set of development efforts will start.
If you don't believe me, you need to go to Japan or Korea.


 As I said, cocoon is designed for situations where the number of people
 involved, the number of technologies involved, the number of existing
 legacy, the number of future complexity is so high that other
 technologies don't work.

 Mobile portals? sure, one of them. Banking data interchange? yup. Pharma
   and Avionic 1000-pages long manual creation and management? you got
 it. Intranets for fortune 500 companies? yup.

 These are all applications where Cocoon has shined. Do you see the pattern?

I see the pattern that a very large crowd out there thinks Cocoon is not 
good at anything, perhaps with the exception of pure document publishing.
Instead of being known as the framework of Good enough for everything it is 
more known as Not good enough for anything. The inertia between those two 
are minute, and all the fancy stuff now being discussed won't change much of 
that.
I have been with Cocoon a long time and talking my head off to get others to 
use it. In a couple of cases, I succeeded, but most of the time not. I have 
now given up, and don't recommend it for any typical JAWA setup. I don't 
recommend it where it makes the most sense (large complex organic systems), 
since I don't feel the vision is there anymore, and don't want to be blamed 
for bringing in a framework that fell apart due to community entropy.


 Cocoon need less people that write email and don't write code, myself
 included.

:o) Ok, I'll go to the same corner and shut up as well.