[aida] Aida tutorial

Herbert König herbertkoenig at gmx.net
Sun Dec 7 20:35:42 CET 2008

Hello Janko,

JM> Would you check and follow it to see how understandable is? Note also
JM> that you need to add initialization to Address, see first chapter.

I'm doing and I got stuck.
Don't take this as complaints, I have the opposite of the Midas touch.
Everything Midas turned into gold, when I touch things they turn into
.... This make me good in testing software, which is part of my

This is what I did:
I got me a fresh 3.10.2 image. Being without my usual tools should
help to follow the tutorial more closely.

First, why is the text not wordwrapping? it's too wide to have two
windows (Browser and Squeak) side by side on one screen.

using name as an ivar seemed to collide with my 3.8.2, so there I used
firstName. Let me see what happens in 3.10.

Again I ran into the name problem, the web browser shows an ADemoAdress
instead of the first name. Problem is, that Object defines #name
already, so auto creating accessors (which I did) omits creating #name.

So I went back to changing the ivar of ADemoAddress to firstName, the
accessor and the initialize as well as classSide's newName: ....

Then in an Explorer I changed the firstName ivars of the three
already existing addresses.

Then in the ...App class I always send #firstName instead of name.
Then I changed the Workspace to use firstName: instead of name.

Then I changed the sequence of things and implemented #preferredUrl
before displaying the first address in the browser. And knowing I
would enter my family, I implemented it as:
^'address/', self firstName, '_', self surname, '.html'

Then I implemented the links in the address books #viewMain and got a
404 not found on http://localhost:8888/address/sebastjan_dormir.html.
Being new to web programming I thought the '_' might be bad in an url
but I also got 404 for http://localhost:8888/address/heinzriese.html

So now I will take my 3.8 code and compare it to the 3.10 code to look
for errors. Sorry I don't have an old version of the tutorial to
compare it against the new one. Maybe you can help me out with that.

Some more remarks:

New defined as ^super new initialize is owed to dialects other than
Squeak and does no harm in Squeak? It just seemed uncommon from my
Squeak perspective.

I would put the first opening of the web page directly behind the
definition of viewMain. Let people see what they have done before
talking about it.

The paragraph after mentioning the convenience methods might read:

The *last* line of our example adds our element into a page and frames it
with a standard header and navigation bar on the left. Try to change
that to add directly to self (self add: e) *to get an unadorned page after
refreshing your browser*.

I'm writing tutorials _and_ have to answer the hotline. So I've been
bitten by my ambiguous or incomplete wordings more than once :-))

Now I'll start debugging. I'll report later.


Herbert                            mailto:herbertkoenig at gmx.net

More information about the Aida mailing list