Fully agree with this and the original posting.. after a year on and off zoping, DTML is still hard. And while I may be using it the "wrong way", as it stands every other zope beginner will do the same. What can be done ? NB I post these 2 cents to stimulate ideas and don't imply that DC folk haven't already thought through this whole issue thoroughly. 1. documentation Documenting high-level design patterns and low-level code snippets will definitely help, but I foresee an explosion of recipes. You know something is not optimal when you find yourself saving every useful snippet because you know it will be hard to reinvent. 2. clearer partitioning Clearer partitioning of functionality should clarify the learning curve and reduce frustration. 3. something else What's the ideal situation from user's point of view ? <handwaving> I've heard smalltalk, particularly squeak smalltalk, described as "liquid" and "transparent", meaning you can change things from the application level right down to virtual machine and it's completely consistent. There are no steep jumps in the learning curve requiring a new mindset, language, etc. I'm also reminded of Lucent's inferno where /*everything*/is/in/one/access-controlled/namespace. For zope to be more like this (it already goes a long way), I guess it would be python all the way, with a single conceptually-simple namespace that is always available, from bottom to top. Python is too hard for some ? Keep a limited DTML as an alternative. But to python users we will say: forget dtml; use python, use this single zope namespace, and you can do anything you want, things will work as you expect. Is this (a) what we have already ? (b) attainable ? (c) unrealistic ? Comments welcome. Regards, -Simon