Salvador Dali: Temptation of St. Anthony
CLASSES: CAP 4403 and CAP 6402
PROJECT 4: Process Flowchart
DUE DATE: April 11, 2008 @ 1:55PM
ISLAND CLEAN DATE: April 14, 2008
LATEST DRAFT of this document: April 6, 2008
- Definition: A process flowchart is a diagram
in the form of a direced 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 functioning
computer program defined as a flowchart. You will need to
specifically code the semantics of the flowchart
in LSL. Some flowcharts may be abstract in terms of
semantics and so one is able to code the semantics by
showing the current state of the code (i.e., the current flow
chart icon or symbol being "executed").
The flowchart must
be of significant global or national importance. So, avoid
routine examples of relations
that have limited or non-lasting relevance (weather,
sports). Think of news that has a dramatic impact--something
that makes a headline.
- Syntax and Semantics The syntax for the flowchart
is the flowchart structure after using
the mapping procedures specified in the Design
section. The semantics for an
flowchart reflect what happens when the flowchart 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 flowchart information that is related to the story. Often,
the flowchart 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 flow diagrams in books
that are related to your news topic area.
- The diagrammatic representation of your flowchart
is likely to be abstract in that specific code,
variables, and constants may not be defined.
- Use
this software search guide. Use
symbolic and conceptual analogy/metaphor for representation.
- Find an artist or artistic/design genre that you like.
- Example: The rising cost of gasoline. Using Google Image search,
try: gasoline price flowchart. Some images will be diagrams
or models of refineries. Instead, focus on concept-based graphs.
For example, decision logic on setting gas prices. Inspired by
the architect Frank Gehry's
Guggenheim Museum Bilbao,
you construct a building out of
oil drum container-like rooms with walkways.
- Example: Mortgage crisis. Using Google Image search,
try: subprime mortgage flowchart, yielding
rescue plan.
Influenced by Dali and his symbolic
elephants
and horses, you create a
similar design for the flowchart, which will look
like one of Dali's animals, yoked by a heavy weight symbolizing
mortgage debt. Or the animal could be made of silver or gold.
- Design:
- Create a "human scale" object or set of objects
in Second Life to represent the flowchart, using these
mapping guidelines,
where "input" will be used for program input
This object will be known as the model.
Your model must be visual and have
audio/sound element(s).
- Make sure to have a spatial (i.e., geometric)
representation for
both the flowchart nodes as well as the arcs (i.e. arrows).
- Use the artist/design style or genre in your work.
- Since you are representing a graph, containing nodes and edges,
the challenge is to represent both of these artifacts. The node of
the graph is an object some of whose attributes reflect the
English word (i.e., its category) for the node.
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.
Since flowcharts have directional edges,
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.
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).
- 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 4, 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 sign.
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 2D flowchart that you used for
the project basis. In the case where the flowchart is too
detailed for a sign, put the 2D flowchart somewhere within
your project.
On the notecard, include the following in this order:
- Object Name: what you call your work
- Title: a type of "news headline" reflecting your work
- Creators: Your real and SL names for your team
- Roles: The specific contributions and roles for each team member
- Date: date of creation.
- Genre: Information (and web links) on the artist or genre adopted.
- Summary: Two or three sentence (brief description) of what your work represents
- News Sources: The specific 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
- A link to the flowchart picture (i.e., a Second Life texture).
- Description: Detailed description of the mapping approach you used to represent
the flowchart. Include
diagrams, pictures, photos, URLs that will help in the description.
Use this guideline
to assist you in specifying the mapping procedure
that you used.
- 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.