
Grace Colby, Didier Bardon
The Art of AI Programming
10/16/90

Midterm Project proposal

Domain: Graphic design
Topic: Representing rules for visual hierarchy

Didier and I have built a partial ontology for graphic design elements and 
would like to start formulating rules that eventually will be used to 
construct designs. 

The goal for this project is to represent design rules used to create a 
visual hierarchy and demonstrate these by testing exisiting designs for 
compliance with these rules.

Tasks for completeing the ontology

- Represent a page or two-dimensional space in which visual elements 
  reside.

- Represent the empty space on a page. 

Tasks for completeing the hierarchy 

- Represent the design rules for visual hierarchy. 

This is a rough draft of those rules:

Visual hierarchy for text elements is determined by:
significant difference in point size or 
significant difference in weight or tone (density) or
significant difference in surrounding white space or
significant difference in position and
consistency of one visible attribute.

Two low-level tests will have to be devised:
1. Test of significant difference
2. Test for consistency


Patrick McLean:

	I'd like to work with the world-facts database, firstly I guess
parsing it into a form which I like and secondly trying to build a solid
base for being able to ask a wide range of questions about the world and
getting sensible answers.

Ken Haase Suggestions:  (some are two phase projects)

A representation of people, computers, etc that uses information
available over computer networks (finger, host data, etc).

Automatic query tools for extending the parser and saving word
knowledge in special files.

A unix-based (CLIM) interface to ARLOtje.

Debugging tools for tracking inferences in ARLOtje.

Trying to parse some dictionary definitions into ARLOtje (using an
online dictionary).

Write a parser for HUH (perhaps using ARLOtje as an intermediary)
which translates English descriptions of programs into LISP (or even
C) programs.

Implement a unit editor browser for the Macintosh, perhaps with
significant graphics capabilities.


Project Title:	ARLOtje and the NeXT

This two-part project will explore the problem of interfacing ARLOtje
with a graphical user interface on a UNIX workstation.  In particular,
we will be interfacing ARLOtje running under Allegro CL with Objective
C and the NeXT user interface.

The goals of this project will include:

	1. A graphical version of the DU command.
	2. A graphical, interactive version of the EU command.
	3. A slot editor.
	4. A properties editor.
	5. A unit editor.
	6. A network display program.

Obviously, this project is very open ended.  Milestones for completion
are the graphical DU command for the mid-term project and the
graphical EU command for end-of-term project.  All the rest will be gravey.

To make all of this work, we are going to need to play with the
internals of ARLOtje and do some hairy interfacing between Allegro and
Objective C.  It may turn out that the easiest way to do this is with
a client-server model, in which case we may have the Objective C
routines in one process and the ARLOtje in another --- possibly on
another machine.  We will probably develop a system for turning ARLO
slots and units into byte streams and ways of reconstructing them
afterwards. 

If we have enough people, we may also develop X or Macintosh clients
for the system.

Prior experience programming in Objective C or on the NeXT is not
required, but highly desirable.



