thoughts on Seaside 3.0
I've been lurking in the squeak/seaside lists for a while, and feel I should add to the discussion of new
features for a possible seaside 3.0.
The major obstacle that I see to further adoption and growth of seaside is widespread community ignorance
of the design side of web development. This has to do with templates, but it runs much, much deeper.
The html templates issue has two sides. From a design standpoint, burying html inside smalltalk leads to
opposite but equal maintainability problems and inelegant html code.
The reality of the web is that good graphic designers create XHTML by hand, and giving good designers
control only of the CSS (like in seaside 2.8) isn't nearly enough. I think everyone should spend an
afternoon reading articles on 'a list apart' to start to understand that there are intelligent people who
devote lots of time to hand-coding "beautiful html." And take a look at the design openings on 'authentic
jobs' to see that there are web design companies that pay lots of money for this specific skill.
These people aren't stupid, just different; after all, if one can make a beautiful shoe, why not, in
principle, beautiful html? The significance of the word "beautiful" is that we've got a different but
legitimate alternative aesthetic perspective, a different community; and Seaside, in its current
form, is wholly incompatible with this design-oriented community.
Consider that RoR was written by a guy who works with graphic designers all day; he was aware of this
fundamental web dichotomy. I think that most smalltalkers come from a very different background
(traditional non-web programming), with a very different set of assumptions. I'm not attacking or
judging these differences, only pointing out that critically analyzing them is crucial if seaside is
going to be useful in commercial web development. Right now, it's not.
I also want to mention that one of the best things about the web is that it's a true crossover field, which
computer science ceased to be a generation ago: nobody gets a 'web sciences' degree (yet). Instead, there
are web designers with backgrounds in print design, print/TV advertising, copywriting, or graphic
design, and they're all learning to work with programmers of all stripes who have moved to web
programming. It's an exciting and still young (fast evolving) field.
And just as the deeper aspects of design are only just starting to appear on the web--typography on the web is
in absolute primitive infancy, while in print it's been established for hundreds of years; grid-based
design is finally coming into the open as well--so the deeper aspects of programming
(patterns/reusability, XP/agile, true OOP) are in their web-infancy too.
The smalltalk community is one of those deep mines of knowledge that could enrich web culture with the
mature perspective that decades of experience bring--but it's going to take some flexibility from the
smalltalkers. To be honest, I don't see that flexibility in the community, and I think it's the
make-or-break question: if the good old way of programming isn't 100% appropriate on the web, is there
interest in exploring the new thing? Or is the interest in trying to force the new thing to fit the old way?
Right now, I think Seaside is much closer to the latter.
I sincerely hope that someone can enlighten me as to how seaside is, or is planning to become, accommodating
for designers who hand-code XHTML, and the web design agencies that employ them. This is only the first
hurdle, but it is I think the toughest, because it requires a fundamental change in perspective.
I started studying smalltalk, and have kept at it, because it solves the problem of making sense of the
conceptually muddled third-hand OOP of PHP (which I use at work); smalltalk is a profound language,
constructed with powerful and simple metaphors, and nothing would make me happier than to do all my
programming in it. I want seaside to take me there. Right now, it can't--but it could. Without templating,
or some equivalent acknowledgment of the values and needs of the design field, it most certainly never
will. - Jared
----- Original Message ----
From: Julian Fitzell <jfitzell <at> gmail.com>
To: Seaside - general discussion <seaside <at> lists.squeakfoundation.org>
Sent: Sunday, July 13, 2008 9:46:43 AM
Subject: Re: [Seaside] About Seaside 3.0
Yes, I think this is the key point. I think there's a general
consensus among most Seaside developers at this point that we prefer
not having a template engine. I hesitate to make a blanket statement
such as "templates are bad", though, and as Colin said various
template systems have existed.
When we started writing Seaside 2 (and again during the first few
successive minor releases), we concentrated on ensuring a layered
architecture. The goal was to allow people to use many of the layers
independently of each other and for alternatives to some of the layers
to develop.
In the end, this hasn't really been exercised much but I'm sure the
boundaries are still defined enough for an interested party to easily
develop a template system (or resurrect Nori). If that layering has
become less defined somewhere and prevents doing so, I'm sure there
would be support for correcting that.
Julian
On Sun, Jul 13, 2008 at 10:47 AM, Marcin Tustin <mm3 <at> zepler.net> wrote:
> If seaside is truly capable of being integrated with external libraries (and
> I cast no doubt on this), then it should be possible for the enthusiasts for
> templates to resurrect the template system, or write their own.
>
> On 7/12/08, Ramon Leon <ramon.leon <at> allresnet.com> wrote:
>>
>> >
>> > I was talking about html templates, because, they are easier
>>
>> > to build, and read, with css, than the seaside concepts, I think.
>>
>>
>> Then I agree with Colin, templates are a step backwards, been there, done
>> that, glad we've moved beyond it. Templates were never a good idea
>> because
>> they force you to mix in some kind of code in with them to do anything at
>> all interesting, even a simple grid full of data requires at a minimum a
>> loop construct and html is a horrible syntax for a programming
>> language. If
>> Smalltalk code is capable of representing the exact same data structures
>> as
>> html is, then we don't need html, and the tools for dealing with code are
>> vastly superior to the tools for dealing with html. Seaside's throwing
>> out
>> templates is one of its best and most bold features.
>>
>>
>> Ramon Leon
>> http://onsmalltalk.com
>>
>> _______________________________________________
>> seaside mailing list
>> seaside <at> lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
> _______________________________________________
> seaside mailing list
> seaside <at> lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
_______________________________________________
seaside mailing list
seaside <at> lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside