[Seaside] thoughts on Seaside 3.0
jaredhirsch at yahoo.com
Mon Jul 14 17:10:26 UTC 2008
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
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.
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
>> 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
>> 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
>> templates is one of its best and most bold features.
>> Ramon Leon
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
> seaside mailing list
> seaside at lists.squeakfoundation.org
seaside mailing list
seaside at lists.squeakfoundation.org
More information about the seaside