[Zope3-Users] Re: Please Guido, pick me, pick me!

Jeff Shell eucci.group at gmail.com
Fri Feb 3 15:11:02 EST 2006


On 2/3/06, Graham Stratton <gns24 at cantab.net> wrote:
> Lennart Regebro wrote:
> > Not if that name changes with every release, becuase then people will
> > see it as a release code name, because that's what it will be.
>
> I agree.  Personally I don't think this name change/extension is
> necessary.  We've already got an extension, it's the '3'.  What we need
> is for the 3 to be a strong part of the brand name everywhere.  It's not
> Zope, or Zope 3.x, it's Zope3.  I appreciate that this already happens
> generally.  Zope3 really needs a logo in which the '3' plays a major
> role, and looks very different to the existing Zope logo.
>
> I agree with those who have said that Zope3 should have its own website.
>   If our aim is to make it clear to people that this is something new,
> then that site needs a completely different design to the existing Zope
> site.  For as long as Zope3 looks like Zope 2, people are not going to
> expect to find any major changes.
>
> I'm trying to think of other examples where people have produced a new
> brand name by adding a version number.  MacOS X?  PlayStation2?  I'm

I agree. Apple was able to get the message out that "Mac OS X = Mac OS
10 = A totally different architecture than Mac OS {6,7,8,9}". Inside
of Mac OS X, Apple has turned their code names into release/brand
names like "Jaguar" and "Tiger", but as a long time Mac OS X user -
whenever those names come up in discussion (when did this feature show
up? I remember upgrading to ..., etc), there's always the "wait, don't
you mean Panther?" "no, I mean Jaguar. Wait. Which one was 10.3?"

I've used Ubuntu on an old Mac. I couldn't tell you the sub-names of
what version(s) I had. I remember 5.04 and 5.10. "hoary hedgehog" and
"sneezing akita" could be the names for all I remember or care. KDE
3.2, Gnome 2.8... I don't know... For me, all of those numbers are
easy to track.

Something that has been hard to balance is how to manage the "Zope 3
is architecturally marvelous and stupendous compared to Zope 2... But
Zope 2 doesn't actually suck!" message. I think that the advent of
Zope 3.2 and the growth of Five in Zope 2 (what is the current Zope 2
release anyways?) should make that message easier to get out.

I've advocated a site concept here many times in the past, and I'm not
going to repeat it. If people think that the Wiki is the best front to
everything, then we deserve our death.

We need:

* Quick access to downloads (I still have problems finding the
download page for Zope 3 on zope.org!)

* A quick summary of:

  - Zope 2, why you might be interested in it, what new technologies
from Zope 3 it uses, why Zope 2 still matters. (Zope 2 serves more
audiences than Zope 3)

  - Zope 3, why you might be interested in it, why it matters that
it's different than Zope 2, why it's a knockout solution for new
projects.

    - The Zope 3 Library - How you might use Zope 3 pieces outside of
the Zope application server, why this should appeal to you as a Python
programmer. How to use Zope 3's library without the ZODB.

    - The Zope 3 App Server - How the Zope 3 Library, the ZODB,
ZServer/Twisted and Security come together to deliver comprehensive
multi-protocol web applications.

    - Additional Applications and Libraries - What you can look at for
inspiration (Schoolbell, for example), use as an application or use
pieces of (ie, how to use schoolbell.relationship on its own [1]), and
how easy it is to write and refactor for reuse.

  - Five, how you can start migrating legacy Zope 2 code towards Zope
3 without having to rewrite everything, and how you can take advantage
of the cleaner code options Zope 3 offers without sacrificing your
finely tuned Zope 2 setup.

Alright. That's not a small list, but I do think that the "what is
zope, why should I care, and I hear about these different Zope things
and want to know what's different?" question should be answered
immediately, with links. The front page for zope.org tried to boil
things down to a few simple bullets. But we need more than bullets,
just as we need more than one big paragraph that tries to
over-summarize. I think TurboGears.org does this well. Look at
http://turbogears.org/about/sqlobject.html -- imagine something like
that for the ZODB that says "hey, why even bother with a relational
database for your Python objects?" (and at the end could still link to
object-relational mapping topics for Zope 3, as well as direct RDBMS
querying options for supporting data, and a page about how to use
zope.schema to generate safe and validated SQL values just like you
can use it to validate forms and other data).

The other thing that I really really really think is needed is
documentation like "Coming in Zope 3.2: formlib. What does it do?"
That can help drive interest or excitement in a coming release (and
maybe even bring in more beta testers), and also provide nice
documentation about the new feature to both existing and new
developers. Burying things like formlib and viewlets in bulleted list
of new features doesn't do them justice.

I, and a few others, try to cover things like this in our weblogs when
we have the time. But... ahhh, time.

I think that Zope's tagline could easily be - "Makes you so productive
and impressive that you're guaranteed customers and work and little
free time to market, pontificate, or whine". Because it's true - I
think that many of us are all busy professionals, more than we are
dreamers looking for the next big distraction. Almost everything that
I've done with Zope 3 since last august has opened the door to more
uses, more customers, and more interest. A pet "knowledge base"
project meant for internal use only is suddenly being shown to a
couple of our biggest clients, and also provided the patterns for a
suddenly different (and new!) project put into
rapid-develop-and-deliver mode that led to a late night last night,
but has given me today off so I have time to actually write this
message. And I know that a lot of what I've done this past week I'll
get to use/reuse in a big project coming up in the next few days.

Finding time to advocate in the middle of all of this is hard. Plus,
we kindof view it as a competitive advantage and don't necessarily
want to give away our secrets (nor do we want to give our customers
details or benefits away easily). It's not really about being selfish,
it's about not having time to think about licensing, advocacy,
promotional materials. Our own website has been nothing but contact
information for years now! And still we stay busy, often busy. And I
know that my company isn't the only one like this. So I understand why
there's still no "good" Zope 3 site. I really hope that The Foundation
can help with that though.

.. [1] I just used schoolbell.relationship (from schoolbell 1.2.x,
prior to the big restructuring they appear to have applied) in an
application I wrote this past week. Awesome. Thank you for making this
available!

.. [etc] zope.formlib is so many many many kinds of awesome, and I
really hope that more Zope 3 'core' development follows that pattern.
The lack of ZCML magic is wonderful. Even more wonderful - i was
dreading trying to make an add form that populated a custom written
date widget with values based on the end of a date range set on the
parent if there were no values set yet. I was dreading that all week.
But last night, when it came time to implement that feature, I found
the 'get_rendered' option very quickly, and three lines of code later
I had a form whose usability had increased tenfold.

--
Jeff Shell


More information about the Zope3-users mailing list