Re: [Zope3-dev] The vision thing
On Mar 6, 2006, at 10:44 AM, Andrew Sawyers wrote: On Mon, 2006-03-06 at 09:45 +, Stefane Fermigier wrote: Benji York wrote: Geoff Davis wrote: * What can we learn from Rails / Django / TurboGears? Fun presentation along those lines: http://oodt.jpl.nasa.gov/better-web-app.mov I saw that last week from some internal folks at my work. While I despise TTW development, I will admit this presentation changed my opinion some on the audience whom might find it useful. Now if we can just make it so whatever they do TTW can be replicated as a base FS product for easy migration to the *right way* :) TTW is very very useful. Not everyone has access to all of the tools all of the time. I have been developing in Zope for at least 5 years and 90% of what I do to build websites is TTW. Options are good, they are called features. Jake http://www.ZopeZone.com Zoping for the rest of us ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: Movies, audiences, wasted effort, was Re: [Zope3-dev] The vision thing
Paul Winkler wrote: [snip] I'm hoping to see a similarly interactive, yet long-term-sane, working style evolve for in zope 3. Maybe we'll get there with Persisent Modules and fssync. This is an issue that's important to me, and to Jim. We had a discussion about all of this in various weblogs a few months ago - I referenced them earlier in some of these threads. I get the impression that Jim wants to drop the promise that Zope 3 is going to gain TTW development features though. It hasn't happened so far, and it's misleading peope. He wants to refocus these efforts to Zope 2's ZMI as far as I understand. I'm not sure whether this is the right wa to go - any presumed new-style TTW development tools would hopefully leverage the Zope 3 components, so even though I'm targeting a Zope 2 audience initially perhaps I'd still like my newly developed system to work with in a pure Zope 3 environment. This means that dropping our promise that we're going to regain functionality in Zope 3 may not be the optimal approach in all this. If there's a moral to this story, it's this: Scaffolding that gets you up and running with a minimum of fuss is a great thing. Rapid interactive and iterative development is also a great thing. But if you can't easily transition from there to more complex apps that are still maintainable, it sucks. It's irritating to have to throw away some of your knowledge and completely replace it with new ways of thinking; it's better if the new knowledge strictly supplements the old. It's worse than irritating to have to throw away your work and rebuild it from scratch; it's better if your new work can cleanly leverage the old. Put another way, if we consider Jim's first two audiences, how do we teach a single person to move from i don't want to have to care to zope zen master / SVN contributor with minimal wasted effort along the way? Today I don't know if there's a clear coherent story to be told there, even for zope 2. If there was... wow, that would be a great. Sorry if I haven't really said anything new. It's good to say more people say this in different words. I have a very similar experience. On the one hand, Zope 2 TTW development is a great marketing feature to draw people in, and a great way of working for a certain group of people, some of whom will never become a software developer because they don't even want to. On the other hand, this way of working in Zope 2 has produced hard to maintain code, and creating UIs for it all sometimes has been a waste of effort that could've been better spent on making the APIs better, say. We need a way to enable the Zope 2 TTW person to be productive without that person creating huge maintenance costs later on. Code created by ZMI developers should look like something that could also be on the filesystem, and can be checked into SVN, and refactored and developed further, i.e. be taken into real maintenance without major hurdles. Regards, Martijn ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] The vision thing
Benji York wrote: Geoff Davis wrote: * What can we learn from Rails / Django / TurboGears? Fun presentation along those lines: http://oodt.jpl.nasa.gov/better-web-app.mov One of the best put together movies I've seen. Yeah, really awesome! Should have won the Oscar! ;) Another relevant link: http://www.sitepoint.com/blogs/2006/03/04/zend-framework-is-out/ i.e. the PHP community trying to imitate us (+ an Eclipse-based ide, for which there is also an interesting proposa, cf. http://blogs.nuxeo.com/sections/blogs/fermigier/2006_02_13_about-the-eclipse - but unfortunately not much traction). S. -- Stéfane Fermigier, Tel: +33 (0)6 63 04 12 77 (mobile). Nuxeo Collaborative Portal Server: http://www.nuxeo.com/cps Gestion de contenu web / portail collaboratif / groupware / open source! ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] The vision thing
On Mon, 2006-03-06 at 09:45 +, Stefane Fermigier wrote: Benji York wrote: Geoff Davis wrote: * What can we learn from Rails / Django / TurboGears? Fun presentation along those lines: http://oodt.jpl.nasa.gov/better-web-app.mov I saw that last week from some internal folks at my work. While I despise TTW development, I will admit this presentation changed my opinion some on the audience whom might find it useful. Now if we can just make it so whatever they do TTW can be replicated as a base FS product for easy migration to the *right way* :) Would be a good video to highlight on zope.org (when it's done). Andrew One of the best put together movies I've seen. Yeah, really awesome! Should have won the Oscar! ;) Another relevant link: http://www.sitepoint.com/blogs/2006/03/04/zend-framework-is-out/ i.e. the PHP community trying to imitate us (+ an Eclipse-based ide, for which there is also an interesting proposa, cf. http://blogs.nuxeo.com/sections/blogs/fermigier/2006_02_13_about-the-eclipse - but unfortunately not much traction). S. ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Movies, audiences, wasted effort, was Re: [Zope3-dev] The vision thing
On Sun, Mar 05, 2006 at 04:04:48PM -0500, Benji York wrote: Geoff Davis wrote: * What can we learn from Rails / Django / TurboGears? Fun presentation along those lines: http://oodt.jpl.nasa.gov/better-web-app.mov One of the best put together movies I've seen. Really interesting stuff. I was struck by the way he presents zope/plone. He gives it a winning fun factor score for hello world... by doing through-the-web development. So he says Zope [2] rocks precisely because of features that many of us have been largely ignoring and advising against for a couple years now. The kind of thing that the built-in zope 2 tutorial shows you how to do. Why is Zope 2 TTW fun? - No restarts - No configuration That's certainly food for thought. The sample app demos were also interesting... he kinda glosses over what exactly was the full zope/plone stack and how he did it, but since he generated a Plone content-like app from a UML model it's not hard to guess :) Notably it was the kind of app that sits squarely in the single-developer- in-a-hurry space. The I just want some forms to save some data and I don't want to care how it works space. The space where, as Jim keeps saying, zope 2 traditionally excelled and Plone lives today. A similar app could've been written pretty quickly in Zope 3 by writing a schema and using browser:addform, browser:editform, and browser:schemadisplay. It would be interesting to see how that would go in the movie. I suspect that the movie author (named Sean Kelly i think?) would've complained about the xml sit-ups and the numerous server restarts. (In the middle of the movie he gives a link to his article at http://www.developer.com/xml/article.php/3583081 which includes the line The fad of applications using XML for their configuration files is dismaying, to say the least...) This is the kind of guy for whom TTW development really is compelling. Watching the hello world section reminded me of when I used to really enjoy doing that stuff. But there are some important things left out of that story. Why did I stop enjoying TTW work? Like a lot of Zope 2 developers: * I needed my work to live in CVS. ZODB history and undo isn't good enough as version control. * I needed to write tests that I can run without having a real ZODB and without starting up a server. * I needed a sane way to deploy software from dev to staging and from staging to production. ZSyncer is fine for what it does, but it too is a poor substitute for version control, shell scripts, make, et al. * The unix shell still beats the pants off the ZMI as a complete working environment (even with ExternalEditor, the find tab, etc.) * I got tired of bouncing between restricted and unrestricted code. I want to live in unrestricted code as much as possible. Ultimately the zope 2 restart time started to become less of a problem than dealing with all those problems when working TTW. For CMF development, I settled on a pretty nice compromise: templates and scripts in filesystem directory views, with the scripts doing only view-related glue. This got me files on the filesystem and in CVS, and no restarts when tweaking UI. The scripts are easily testable using CMFTestCase. Pretty nice way to work. I still have to deal with some restricted code, but I'm mostly resigned to that. In Zope 3, we take restarts and filesystem-only development for granted, because it's intended specifically for the audience that I'm a member of... developers who have those concerns. I'm hoping to see a similarly interactive, yet long-term-sane, working style evolve for in zope 3. Maybe we'll get there with Persisent Modules and fssync. If there's a moral to this story, it's this: Scaffolding that gets you up and running with a minimum of fuss is a great thing. Rapid interactive and iterative development is also a great thing. But if you can't easily transition from there to more complex apps that are still maintainable, it sucks. It's irritating to have to throw away some of your knowledge and completely replace it with new ways of thinking; it's better if the new knowledge strictly supplements the old. It's worse than irritating to have to throw away your work and rebuild it from scratch; it's better if your new work can cleanly leverage the old. Put another way, if we consider Jim's first two audiences, how do we teach a single person to move from i don't want to have to care to zope zen master / SVN contributor with minimal wasted effort along the way? Today I don't know if there's a clear coherent story to be told there, even for zope 2. If there was... wow, that would be a great. Sorry if I haven't really said anything new. -- Paul Winkler http://www.slinkp.com ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: Movies, audiences, wasted effort, was Re: [Zope3-dev] The vision thing
On Mon, Mar 06, 2006 at 05:13:57PM -0700, Jeff Shell wrote: On 3/6/06, Paul Winkler [EMAIL PROTECTED] wrote: A similar app could've been written pretty quickly in Zope 3 by writing a schema and using browser:addform, browser:editform, and browser:schemadisplay. It would be interesting to see how that would go in the movie. I suspect that the movie author (named Sean Kelly i think?) would've complained about the xml sit-ups and the numerous server restarts. Those are bad options anyways. They do not have growth potential either, as you then have to make the conceptual leap from something magically generated by this XML declaration into how do I customize what happens on edit? Actually I agree with you. Dynamic scaffolding has the same problems I was complaining about re. TTW development: it does a bunch of magic that you have to understand and know how to do from scratch the moment you want to go beyond it. In that paragraph I was only trying to fit zope 3 into the kinds of things done in that movie; some of his other examples are pretty magical too. I write this UML model and presto, I get all this with zero lines of code, wow neat. What I'd really like is something like what you say later on: This is an area where Rails is particularly strong. I'm normally not a fan of code generation. But their tool generates just-enough. It's code you can actually understand and start building from, and a quick run to the api docs they have online is usually all that's needed to start understanding the code you're looking at. The code their tool generates runs basically what you see if you have it dynamically providing 'scaffolding', so the conceptual difference between the automatically generated and what it gives you out of the box is pretty small. OK, so what if we had a code generator that would read some browser:addform/editform/schemadisplay directives and spit out some functionally equivalent code (python, zcml, and zpt) that you could just start using and editing? I think that might be pretty handy. I really like the concept of through the web tweaking and manipulation. But I'm sick of templates and scripts. I'm not quite sick of templates yet, but I am sick of scripts. I still use them in CMF because they give me a convenient place to do what I described: view-related glue that I can tweak without restart. -- Paul Winkler http://www.slinkp.com ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] The vision thing
Jeff Shell has posted some thought-provoking pieces on his blog that are relevant to Jim's recent attempt to better articulate a vision for Zope: http://griddlenoise.blogspot.com/2006/03/zope-crisis-of-faith-coming-this-march.html http://griddlenoise.blogspot.com/2006/03/crisis-of-faith-messengers-have-been.html I share some of Jeff's concerns. One thing that he has been doing that I think is really important for us is to systematically explore Django / TurboGears / Rails to see what they are doing that we can learn from. I have already seen several interesting posts from Jeff on this list and would love to hear more from him on the topic. I have two questions for everyone: * Can we address Jeff's concerns? If so, how? * What can we learn from Rails / Django / TurboGears? Geoff ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] The vision thing
On 3/5/06, Geoff Davis [EMAIL PROTECTED] wrote: Jeff Shell has posted some thought-provoking pieces on his blog that are relevant to Jim's recent attempt to better articulate a vision for Zope: http://griddlenoise.blogspot.com/2006/03/zope-crisis-of-faith-coming-this-march.html http://griddlenoise.blogspot.com/2006/03/crisis-of-faith-messengers-have-been.html I share some of Jeff's concerns. One thing that he has been doing that I think is really important for us is to systematically explore Django / TurboGears / Rails to see what they are doing that we can learn from. I have already seen several interesting posts from Jeff on this list and would love to hear more from him on the topic. I have two questions for everyone: * Can we address Jeff's concerns? If so, how? * What can we learn from Rails / Django / TurboGears? To me it seems mostly that one of his concerns are that we are having the vision debate instead of a vision. :-) The other one is the same olf concern: We have no website full of hype. The second one should be easy to fix, but I think out of a general concern for peoples sensibilities, nothing is happening. Too much talk, not enough hockey. The first one I have no solution for, except agreeing on a vision. Which for me seems dead simple, but of course, other don't agree. ;-) -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/ ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] The vision thing
Geoff Davis wrote: ... * Can we address Jeff's concerns? If so, how? * What can we learn from Rails / Django / TurboGears? I think that one of the first steps is to agree on who our target audiences are and target them individually. Zope has a number of target audences, including: - Non-technical users who just want to crank our a web application with little muss and fuss. This was the original focus of Zope 2 and now Plone. - People who know what an app server is and know they need one. People who know they need to reuse applications and need tools to customise them. People who know they need rich servcies, like security, transactions, etc. These are the people for whom Zope 3 was written. - People who want straightforward tools for developing small to moderate complexity sites in Python. I don't think we are servving this audience well. Then there are more fragmented audiences, like people who want a dirt simple way to create applications based on relational databases. My main point is that we need to consider each of these audiences, as they have separate concerns. We need to be explicit about this and have messages and technical solutions tailored to each audience. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] The vision thing
On Sunday 05 March 2006 10:22, Jim Fulton wrote: My main point is that we need to consider each of these audiences, as they have separate concerns. We need to be explicit about this and have messages and technical solutions tailored to each audience. I agree with that. Our first step is to understand our audiences well and then build a roadmap/vision based on our understanding. I'll note that a roadmap/vision is *not* a promise, but something that we want to work towards. Of course, the roadmap should also take resources and interests into account. Regards, Stephan -- Stephan Richter CBU Physics Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] The vision thing
On 3/5/06, Jim Fulton [EMAIL PROTECTED] wrote: I think that one of the first steps is to agree on who our target audiences are and target them individually. Zope has a number of target audences, including: - Non-technical users who just want to crank our a web application with little muss and fuss. This was the original focus of Zope 2 and now Plone. - People who know what an app server is and know they need one. People who know they need to reuse applications and need tools to customise them. People who know they need rich servcies, like security, transactions, etc. These are the people for whom Zope 3 was written. - People who want straightforward tools for developing small to moderate complexity sites in Python. I don't think we are servving this audience well. Then there are more fragmented audiences, like people who want a dirt simple way to create applications based on relational databases. My main point is that we need to consider each of these audiences, as they have separate concerns. We need to be explicit about this and have messages and technical solutions tailored to each audience. Right you are. Good refocusing post. :-) Zope3 does of course cater to audience #2 very well. Superbly even. It does not cater to audience #1 at all, and notably, don't think it should. Why? Because most of them do not want a set of tools, they want a complete CMS, or at least a framework and a large set of bits which you can stick on easily. The effort to cater to these people should be something written for or on or with Zope3, not a part if Zope3 itself, and includes such things as TTW development products and CMS stuff. We are evidently not serving audience #3 well, because they are complaining. I'm not sure what to do except make Zope3s basic bits easier to use by themselves, which everybody agrees to. So maybe we need THREE visions, and not one? Vision #2 (starting with that one because it's easier): Improving Zope3, refactoring a bit, putting ZCML on a diet and so on. All this seems to me to be straight on track, or? Vision #1: A CMS framework and TTW tools for Zope3. Vision #3: Eggs for the basic technologies. So where is Five and Zope2 in all this? Well, it continues to be an an upgrade/transition path for people that are using Zope2 now, but want to slowly move over to the #1 vision. -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/ ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] The vision thing
Geoff Davis wrote: * What can we learn from Rails / Django / TurboGears? Fun presentation along those lines: http://oodt.jpl.nasa.gov/better-web-app.mov One of the best put together movies I've seen. -- Benji York Senior Software Engineer Zope Corporation ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com