building a simple app with "active" gui in squeak?

jack jeaton at
Sat Jun 2 00:57:15 UTC 2001


i am a 3rd year computer studies student at university in canada. i am
in a summer course right now doing a 3 person group project to create a
prototype for degree planning and academic advice software. i have
attached a small .jpg that shows what we are trying to achieve (it shows
the project in a web browser, but that is not essential). i have been
reading about squeak and playing with the demo projects a little bit for
maybe 2 weeks, and am now eager to try and use it more powerfully as an
idea processor but don't know where to begin.

someone suggested smalltalk for wrapping my head around what oo really
is, and i chose squeak. i have just spent the day with self 4.1 (mac)
because i read that would help with morphic but i didn't make much
progress there either. 

the rest of my group wants to do this project in visual basic, and i
wanted to try and get it done in squeak before the end of the weekend,
so that we would have to resort to vb at all... and i could get some
good experience with squeak.

here is a textual description of our functional requirements [see the
diagram for more clarity]:

the student shall be presented with a grid. there shall be four columns,
one to represent each year of an undergraduate degree. there shall be 5-
rows, and each box in the grid will represent a course. for example:
100, 122, 205, etc. 

there are two features that comprise the desired core functionality:

i) active gui:

the initial state of the grid will be as follows: courses for which no
prerequisites are required shall be yellow. courses for which the
student lacks the appropriate prerequisite shall be red.

once the student clicks on any given course, signifying that he/she has
taken that course, or would like to see the effects of taking that
course it shall turn green.

upon any course turning green, indicating successful completion of that
course and therefor its eligibility as a prerequisite, any courses for
which that newly green course alone or another combination of previous
green courses with that new green course shall turn from red to yellow
to indicate their availability.

this is mostly an exploratory way for the student to visualize the
relationships between courses in a single major.

after indicating all of the courses he/she has completed and pressing
the "process" button the student shall receive

ii) suggestion screen

the software must be able to store the courses that the student has
taken and sort them against a list of the required courses for their
major. the suggestion screen shall provide the student with a written
indication of the courses he/she should take to complete the degree.

ideas so far:

i think that the active gui will have something to do with embedding
morphs inside of each other, the buttons will go on top of rows or
columns? i was in self all day, so i don't know how similar the squeak
morphic is yet. i don't know how to implement that [to me] complex
behaviour where the other buttons would all change the appropriate color
in any language.... not a clue.

we were thinking that the gui state could be translated somehow into an
array of courses taken and then sorted against an array of courses
required or something like that, or maybe using an orderedcontainer or
bag? then some simple text processing could transform that container
into english sentences?

i would greatly appreciate any and all suggestions... i have been
reading some of the broad kind of context level papers on smalltalk and
squeak and i like the vision and goals much more than visual basic...
besides i don't even have a pc so it would be hard for me to do any
meaningful [all night] work on that platform. i think that these days it
is irresponsible to develop in any language that is not ported to at
least 3 hardware platforms anyway.

lastly, please cc your responses to me directly at jeaton at, as
for some reason the list server won't send me the list traffic.

*big* thanks in advance,

jack eaton
trent university
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ape2.jpg
Type: image/jpeg
Size: 60654 bytes
Desc: Unknown Document
Url :

More information about the Squeak-dev mailing list