CLASSES: CAP 4403 and CAP 6402
PROJECT 4: Data Flow
DUE DATE: April 24, 2009 @ 11:59PM
ISLAND CLEAN DATE: April 27, 2009
LATEST DRAFT of this document: February 18, 2009
- Definition: The software element of concern
for this project is Data Flow in the form of either
an equation or a Petri net. An equation represents data flow in the form
of a parse tree for the equation, and a Petri net represents
flow in the form of discrete tokens through the network.
Data flow captures inherently parallel behavior.
You will use one or more related stories around a single
theme, and you will mine the software element to be represented
from this story. You need to represent both the denotation and
connotation associated with the software element.
- Project Goals: This is a team
project. A Team is composed of 1, 2, or 3 people. No more
than 3 people are permitted in each team.
The goals are 1) To explore and learn the medium of multi-user
virtual worlds (Second Life, OpenSim); (2) To mine for a software
element in a story of
contemporary public interest, and (3) To apply (1) to (2) to
engage the participant. The general goal of this project within
the class is to bridge aesthetic concerns (i.e., look and feel
of what you create) with functional concerns (i.e., making the
scene function correctly and provide effective communication).
- To do:
- Research:
- Search news-worthy sources
such as 1) major news pages
such as the New York Times,
Wall Street Journal, or
or BBC. Other possibilities
include: 1) top news items for a recent year,
2) news blogs and outlets, 3) RSS feeds. Ensure that
these numbers have socio-cultural relevance to the general public
at the national or global level.
Avoid regional or local news (i.e., sports) since we want to
maximize the size of the demographic. Even though each news outlet
has its own biases, minimize this bias by picking a news article,
and not something from the editorial page (i.e., opinion, letter).
- Identify a value that is related to the story or that is found
inside of the story itself. The story is your source; however,
you can choose more than one source if you wish. Just make sure
to note each source for your documentation.
- Use this data value mapping guideline
to assist with ways in which value can be represented, and
this graph mapping guideline for
your structured software element.
- Design:
- Create a small scene composed of set of objects
inside of Second Life or OpenSim
that capture both the software element's denotation and connotation.
The idea is to represent this software element using
the unique attributes of the multi-user virtual environment.
- Keep in mind that Second Life is an immersive 3D environment,
so while flat objects are not disallowed, take advantage of the
immersion and shapes in your representations.
- Use textures and object properties carefully. A general rule
of thumb is to imagine what your scene objects would look like,
and then apply the appropriate materials, textures, and lighting
to achieve a realistic effect. Use textures for all objects
unless the objects are very small or can be adequately represented
using material properties alone.
- 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 blog page (see under Deliverables).
Use this blogger tool.
- Create a video that represents a documentary on
your scene, and embed the video in your blog.
- Grade:
- Your project will be expected to draw in a visitor through its
look and feel and interaction. It should be creative
and innovative.
- Make sure that your project:
- Is understandable once someone reads your blog (ref. 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 at the 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:
- Package Delivery for Second Life
- Go to Search -> underneath people tab
search for the TA: Zezzell Sage.
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.
- 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. The boxes for Next owner must be both
white and checked. If one of the boxes is greyed out and checked
then the permissions are not set correctly.
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. Finding prims
that have not been set correctly involves staying in edit mode,
and using region select to find the prim, or prims, that do not
have the next owner permissions set correctly.
- 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.
- 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 multi-part (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"
- Package Delivery for OpenSim
- Follow the same procedure above for Second Life.
- Create a new blank region
and put your scene in that region. Then
use "save-xml2 yourproject.xml". Email yourproject.xml to
the TA.
- Email Blogger URL to the TA
- Put a reference to your blog 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.
Somewhere in the blog, 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.
- Video Link or Embedding: URL for your YouTube video or
directly embed in the blog.
The video should be uploaded to YouTube.
The video can be dubbed using a voice
or using overlaid text. The length of the video must be between
1 and 3 minutes.
- 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 time series. 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.