I'll give you a couple of examples of things I consider "power user"
features that actually end up hindering newbies.
1) Inconsistent use of "ognl" in templates. Sometimes "foo" means
"ognl:foo". Sometimes it means the literal "foo". This helps power users
save 5 keystrokes from time to time, because they know, from experience,
whether the framework is expecting an expression or a literal in a given
context. Newbies though haven't a clue. At least once every two weeks
there's a fresh thread where somebody gets confused about this.
2) Using a -D parameter to turn on or off the page cache. Sure, if
you're familiar with java and/or come from a unix background this is pretty
straightforward. If you're a newbie though whose only real experience is
programming via an IDE like eclipse, this sends you scurrying to the user
list going "how do I do this?". A property file would seem to accomplish the
same thing in a much more "newbie friendly" fashion.
3) The strong (and growing) preference the framework seems to have
for abstract page classes and properties. For some people, especially power
users, this is great because it saves you time having to create concrete
properties (it may offer other benefits as well). For a newbie though, this
is a mind fuck because they can't *see* where their properties are. The code
that executes doesn't actually match the code they wrote.
4) The whole delegate model for validators. Sure, it's conceptually
elegant and probably makes the gang of four happy. A newbie though would be
500% better off though if BasePage contained date, string, int, and float
validators by default. For that matter, you should be able to validate a
TextField; why do we need a separate "valid field" (I believe this one is
addressed in 4.0?). Or, for that matter, why should I have to put in place a
validation delegate just to let my users enter a numeric quantity?
5) The rewind cycle. I'd venture to guess that 40% of all posts in
the user list are somehow related to problems with the rewind cycle. An
advanced user can almost always find a way to make it work for any given
case. A newbie though just gets lost and baffled when setting up a list of 3
dogs and asking the user to pick one turns into a long and glorious journey
through the bowels of page-persistence logic. I understand there are some
changes being made here for 4.0, and I'm hoping for an improvement, but I
can't help contrast it with .NET where page persistence just plain works,
100% of the time, every time, with absolutely no user intervention or
understanding.
The fact is Tapestry works, and for an advanced user it works well.
For a new user though, it's not an easy thing to pick up, and it just
doesn't feel like a lot of the design effort is going into newbification.
I'm not trying to put down your work Howard, you've built a great
tool. The point I'm trying to make though is that it's *not* a beginner's
tool, and for some reason a lot of folks out there in user-land seem to
think it is. So you've got this disconnect where users are coming in, hoping
to get Mac OS, and finding themselves running KDE instead.
--- Pat
> -----Original Message-----
> From: Howard Lewis Ship [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, July 19, 2005 5:36 PM
> To: Tapestry users
> Subject: Re: Tapestry starting to look too steep
>
> I find this a funny reaction to where Tapestry is evolving to. The
> enhancements in 4.0 are mostly about letting the framework do more; it
> may be more "esoteric" beneath the surface, but what it exposes to the
> user is getting simpler and simpler.
>
> On 7/19/05, Patrick Casey <[EMAIL PROTECTED]> wrote:
> >
> >
> > > -----Original Message-----
> > > From: Karthik Abram [mailto:[EMAIL PROTECTED]
> > > Sent: Tuesday, July 19, 2005 2:52 PM
> > > To: Tapestry users
> > > Subject: RE: Tapestry starting to look too steep
> > >
> > >
> > > The best way to learn Tapestry is to write a component on your own. I
> do
> > > agree that .NET is way simpler - with 4.0 it "feels" like Tapestry is
> > > becoming more esoteric (deliberately using 'esoteric' and not
> > > 'complicated').
> > >
> >
> > Yah, I get the same feel. It's becoming more and more a tool for
> > hard core programmers. I mean how many programming newbies even know
> what
> > the *concept* of a delegate is, much less understand annotation
> libraries,
> > the whole "bean" thing, etc.
> >
> > I'm kind of of two minds about the direction, because on the one
> > hand the hard-core programmer in me goes "cool, I can use some of that
> > stuff", but the pragmatist in me wonders if it might be approaching a
> > complexity level where it'll be easier to just roll my own than learn
> the
> > tapestry way. I suppose the actual release of 4.0 will tell the tale,
> until
> > then all I can do is keep my fingers crossed.
> >
> > --- Pat
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Howard M. Lewis Ship
> Independent J2EE / Open-Source Java Consultant
> Creator, Jakarta Tapestry
> Creator, Jakarta HiveMind
>
> Professional Tapestry training, mentoring, support
> and project work. http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]