Bix Project: KunstHaus Grasz
CLASSES: CAP 4403 and CAP 6402
PROJECT 3: Equation
DUE DATE: March 21, 2008 @ 1:55PM
ISLAND CLEAN DATE: March 24, 2008
LATEST DRAFT of this document: March 17, 2008
- Definition: An equation is parsed and represented
as a tree, which is a type of graph.
- Concept: Software Aesthetics:
Software is defined as the "bit oriented" non-hardware
structures found in a computer. A primitive form of software
is data. More complex forms are data structures. Both
data and data structures are commonly referred to as information,
which is also associated with databases.
Other types of software include expressions and
program structures (or processes). When software captures
an element of the real world, it is often "modeled", so one
sees information,software, and dynamic
models. The purpose of software aesthetics is to explore
the diverse forms of human interaction possible for software
representation through creative, and artistically-motivated means.
Software is viewed as a design product and has
strong elements of form as well as function. We are exploring
a continuum in between pure functionality (i.e, conventional
diagram) and pure art (i.e., non-functionality).
- Purpose:
The purpose of this project is to represent a simple, but functioning,
computer program defined as one or more equations.
The equation(s) must
be of significant global or national importance. So, avoid
abstract equations.
Think of news that has a dramatic impact--something
that makes a headline.
You will need to show both the equation structure (syntax)
and the data (semantics).
- Syntax and Semantics The syntax for the equation
is the equational structure after using
the mapping procedures specified in the Design
section. The semantics for an
equation reflect what happens when the equation is executed.
There are two types of semantics to consider in your project:
internal and external. Internal semantics refer to changes
that occur to the structure itself, and external semantics
refer to the meaning of the structure as it is executed.
You should be considering semantics from both perspectives: how
the execution can be represented on or within the structure as well
as outside of the structure, to emphasize interaction context.
- To do:
- Research:
- Search news-worthy sources. Locations
to search include 1) top news items for a year (i.e., 2007),
2) news blogs and outlets, 3) RSS feeds. Ensure that
these numbers have socio-cultural relevance to either the public at
large or a significant subset. Example sources for news are
Time and
Discover
- Identify one or more equations that are related to the story.
Often, an equation that you need is not going to be located in the news
text itself - you will need to look for this elsewhere.
You may need to go the library and look up equations in books
that are related to your news topic area.
- The text representation of
your project must be at least one equation with
at least 7 components (i.e.,
y = a * x + b). Pseudo-equations ("wealth = happiness + motivation")
are unacceptable.
The independent variable (i.e., x) of your
equation should be taken from existing data, a feed, or
perhaps as input from the human participant. The
parameters can be taken from existing data, a feed, or
input, or they can be specified as constants.
- If you have data that is not a time series, and can be plotted
as X vs. Y or X(t) vs. Y(t), then you can use regression to
fit an equation to the data.
- Use
this software search guide. Use
symbolic and conceptual analogy/metaphor for representation.
- Example: Pollution in a major city. Using Google Image Search,
try: pollution formula, which yields
these equations
- Design:
- Create a "human scale" object or set of objects
in Second Life to represent the equational information, using these
mapping guidelines,
where "input" will be used for selection and/or
parameter values for an equation.
This object will be
known as the model.
Your model must be visual and have
some audio/sound element.
- Since you are representing a tree, containing nodes and edges,
the challenge is to represent both of these artifacts.
Think of objects that may be metaphors
for paths, or types of paths: a stone path, a tube, flowing particles
or river, a gutter, a thread, any object that connotes directionality.
However, the concept of relation can also be represented using proximity
(i.e, A relates to B iff B is to the right of A) or
encapsulation (i.e, A relates to B iff B is located inside of A).
Reference
Figure 6 in this
introduction. Remember that if the graph edge is directional,
you will need to show direction in some way in your representation.
- Keep in mind that Second Life is an immersive 3D environment,
so while flat objects are not disallowed, take advantage of the
3D immersion and shapes in your representations.
- Use symbolism for your
representation (i.e., not the interaction context component),
where a symbol does not directly look (or sound)
like the thing being represented.
- You should also create interaction context that will go
along with your model, and connect with it. This context will relate
to the model in some way, providing additional information or
clarification. Think of the primary representation for
this project as the
syntax and the interaction context providing semantics.
- Create
all the prims and scripts
yourself OR ensure that the 3 primary permissions can be
set with any foreign prims, scripts, or media that you obtain or purchase (see
the permissions information under Deliverables). Otherwise, do not
include them in your model. So, for example, a texture obtained
elsewhere is fine as long as can assign all 3 permissions for
"next owner".
- Create a separate sign object that allows
the visitor to click on it to get a notecard (see under Deliverables).
Texture this sign object with your original equation.
- Grade:
- Your project will be expected to draw in a visitor through its
look and feel and interaction. It should be creative
and innovative and non-conventional.
- Make sure that your project:
- Is understandable once someone reads your notecard (see under deliverables)
- Does not contain spurious elements that do not convey information (i.e., random music, objects that contain or convey no relevant information)
- Is consistently designed and "hangs together"
as a metaphor - not a random placement of shapes, sounds, and interaction
- Pay attention to detail. Are your model and other objects
fully texture mapped? Look atthe colors, textures, materials,
lighting, and other object properties.
- Pay attention to quality. Are you proud of the structure, and would
you want to show it off to others?
- Based on the quality of the project as
it compares with the total population of student projects
that are delivered
- There are higher expectations of those taking CAP 6402 (graduate students)
- A grade of "B" meets the minimal requirements specified in this page,
whereas a grade of "A" is given to the projects with the highest
quality as judged by the Professor and Teaching Assistant (TA)
- Hints to help your grade
- Deliverables: To submit your project,
you need to:
- Give to the TA inside of Second Life
by going to Search -> underneath people tab search for the TA: Haakon Norsk.
Drag your complete "package"
to the TA's profile (the right-side area that is shown). The package
refers to your model, your sign, and any additional objects that
comprise your design.
- Submit your project report (same as notecard) on
https://elearning.courses.ufl.edu/ to facilitate grading. Go to
Assignments, click on Project 3, and past the contents of your
notecard in the "submission" box, and any comments in the "comments"
box.
- Make sure that all permissions are set (see below under Policies).
Set all permissions when the object is rezzed, not while in inventory.
This is how to set permissions and do testing:
- For each rezzed object, make sure that all 3 permissions
are checked under the "General->Next owner can:" tab
for each prim. You can set these
prim permissions en-masse by region selecting all prims and then
setting the permissions. However, this does not set permissions
for anything under the "Content" tab in each prim.
- For each item under the Content tab for each rezzed prim (where
you may have contents such as scripts, sounds, notecards, textures,
and so forth), right click each item and set all 3
next owner permissions under "Properties->Next owner can:". You can SHIFT select
all items under content, but this will bring up tabs which
have to be individually selected anyway.
- Searching for prims that do not have the correct next-owner
permissions can be facilitated using region (rectangle)-select while in edit
mode. Select some part of your project. If all three next owner boxes
are white, each with a check mark, then all prims and prim
contents are set correctly for that selection.
If there is a greyed-out box, then at
least one prim or the content of a prim are not correctly set within
that selection. Further sub-region selects will allow you to
identify which prims are the problem.
- Testing to make sure your permissions are correctly set is
accomplished by giving your complete object package to another student
in-world. Make sure that this other student does the following:
(1) receives your object, (2) rezzes it, and (3) takes your object
back into their inventory. If this can be done without any warnings
being displayed next to your object in their inventory, you are fine.
Warnings are: "(no copy)", "(no modify)", or "(no transfer)".
If you
wish to come to the instructor's or TA's office hours, we can
be part of your permissions test if you do not wish to enlist
the help of another student.
- Position Invariance should be tested by moving and rotating
your project, and ensuring that doing so does not break the
functionality of any scripts that you have coded.
- Do the following:
- Region select (Edit Mode->drag mouse) all
prims in your objects in edit mode. Select only your
objects (Tools->Select-Only-My-Objects) and if
necessary (Client->uncheck Limit-Select-Distance)
- "Take Copy"(Right-Click Object-->More)
- Rename the packaged object using a long string consisting of
the following: your real-life first and last name;
your second-life first and last name; your project title;
version number. Separate each part with an
underscore. For example:
"PaulFishwick_FrederichCourier_My Project Name_V1.3"
- Put a notecard in a prim in front of your model/context
that acts as a "sign", and deliver
this to the visitor when the visitor touches the design.
This sign should be selected along with the rest of your
prims when you hand it over to the TA.
The sign should
be textured with the text equation that you used for
the project basis.
On this notecard, include the following in this order:
- Object Name: what you call your work
- Title: a type of "news headline" reflecting your work
- Creator: Your real name and SL name in parentheses
- Date: date of creation.
- Summary: Two or three sentence (brief description) of what your work represents
- News Sources: The source(s) (magazine volume/issue #, web URL, RSS feed) used for
getting the news-worthy story.
- Interaction: List of methods on how one interacts with the model, and how the model is connected to the context
- Motivation: Reasons/background for creating the model,
including an explanation of why it is culturally relevant
- Description: Detailed description of the mapping approach you used to represent
the equation(s). Include
diagrams, pictures, photos, URLs that will help in the description.
The mapping must be complete for anyone wishing to know
exactly how to intepret your work.
- Policies:
- Wrong Permissions: penalty: 15 points per day. See above
for how to set the permissions.
- Late: minus 15 points per day starting with the due date/time.