[Seaside] [BUG] Tutorial 2 report

Jim Benson jb@speed.net
Sun, 26 May 2002 22:45:35 -0700


Off to tutorial 2. Here are my comments:

My first comment is to place the three new classes in the tutorial into a
different category. For example something like "Seaside-Examples-Tutorial".
You can get lost trying to navigate through all of the different classes in
"Seaside-Examples" just looking for the tutorial classes that you are
working on.

My previous comment on Tutorial 1, that it would be nice to identify where
all of the defined methods should be placed, is also true here. What happens
is something along the lines of "here is the definition of a method" an
explanation of the method, and "put it where it belongs". The dummy reader
(me) shouldn't have to guess where that is when the method is first
introduced, just a simple "put this here". I tend to be one of those "All
action, no brains" type of guys, I plug in the code as soon as its defined,
play with it, and then come back for the explanation.

As an aside, I've found that when I've written Squeak tutorials it also
helps to make a changeset available with all of the code ready to go. That
seems to help either the a) advanced user who understands what's going on
and just wants to browse the code (I call this the lazy user) and b) the
"inept" user (for the lack of a better term) who can't follow the directions
well enough to follow the tutorial and fiddle with the code/image at the
same time [this is especially useful for people who don't speak English as a
first language ].

You might consider placing the tutorials on the Swiki.

BUG:

The "Bounding The Back Button" section did not work at all on my setup. I'm
using Squeak 3.2 gamma-4857, Comanche 5.0 and IE 6.0.026 on a Windows XP
box. The user can still navigate as before the #isolate: call was added. I
thought this was one of the more interesting aspects of Seaside, and eagerly
look forward to its return.

Seaside comments:

I thought that this tutorial was very well done, and pointed out what makes
Seaside different than other web authoring tools. I thought the continuation
talk was very coherent. The tutorials also makes me salivate for the
calendar app (tutorial or no) which I happen to need right now.

=====================================

I'll tell the other part of the story. I've been looking at the
collaborative web ideas, such as the Wiki, Lotus Notes, web community
building software, etc. I looked at the implementation of the Swiki, and
felt scared. The Swiki implementation takes that idea of separating out the
templates, html and such into external files, and to use Squeak as a
scripting language that you read in off the disk in these discrete files.
Needless to say, that has a very unnatural feel to me.

Anyway, I read the excellent Paul Graham article:

http://www.paulgraham.com/icad.html

(when I read articles about Lisp, I usually just substitute: "A strange
looking Smalltalk dialect" ). He seemed to make a lot of sense (or at least
he wrote things that I've been saying for the last several years, so I know
he's of the same religion), so I read another article he wrote about Lisp
and web development:

http://www.paulgraham.com/lib/paulgraham/bbnexcerpts.txt

Let's see, he could basically kick anybodies ass doing web development
because of S-Exprs and Continuations. I needed an evolved Wiki type of
application, and I shuddered at the thought of developing in the Swiki
environment. This is due mostly because Swiki has decoupled itself from the
Smalltalk development environment by putting all of the code out in separate
files. The Swiki didn't have S-Exprs or Continuations, I would have to write
those myself. I was alone in the world.

Then I remembered the Seaside talks on the Squeak mailing list. I read
through the tutorials and the mailing lists and I saw my new friends S-Exprs
and Continuations, right here, right now. Right now I'm as happy as a pig in
slop, I can't wait to get my little apps up and running.

Jim

PS: I'm through with the tutorials; Don't feel you have to change them on my
account ;-)