COMS W4172: 3D User Interfaces—Spring 2009

Prof. Steven Feiner
Date out: March 26, 2009
Team members/name due: March 31, 2009
In-class final project proposal: April 9, 2009
In-class progress report 1: April 16, 2009
In-class progress report 2: April 23, 2009
In-class progress report 3: April 30, 2009
Final submission and presentation: May 12, 2009, 1:10pm–4:00pm (415 CEPSR)


The Manhattanville Project

Your final team project will explore the use of augmented reality to create situated visualizations that overlay an architectural site with information for users to observe and explore. In architecture and urban design, the concept of site is fluid.  The most straightforward definition considers a site to be an entity defined by “boundaries that delimit it from the surroundings,” where boundaries are typically considered to be spatial.  The site for your project, in this simplified view, is part of the area historically known as Manhattanville, in particular that portion selected for Columbia's proposed expansion, roughly bounded by 133rd Street and 125th Street to the north and south, and Broadway and Riverside Drive West/12th Avenue to the east and west. plus three properties on the east side of Broadway from 131st Street to 134th Street. In a more expansive view, the site can be understood as the superposition of all aspects of the entity, beginning with the specific place but including spatial and temporal surroundings; multiple histories; and physical, social, political, environmental and cultural characteristics—that is, all things that influence or are influenced by the site.

You will be using the infrastructure that we provide to design and develop a prototype visualization tool that could help architects and urban designers  better understand a site prior to or during a design activity by visualizing unseen or invisible aspects of the site.  The project will involve augmentation in the small (overlaying an optical marker array with a virtual scale model) and augmentation in the large (overlaying the actual physical site).  You will develop visual representations of selected invisible aspects of the site, along with techniques for interacting with those aspects.

Site. To keep your project manageable, you will select an area within the Manhattanville site that is at least one city block in size. We will make available to you geometric models of the buildings within the Manhattanville site, which can be read into your program.

Data. You will be visualizing data about the site that can be obtained from sources (already or soon-to-be) available at the SVxSV wiki. Among the data included at this site will be spreadsheets (which can be output as CSV), KML, and text files.

Additional data is available at:

Visualization. You should start thinking about which data you would like to visualize and how you will present it in context of the virtual or real site.  How can you provide an overview of what is available?  How can you let your user "zoom in" on items of interest, and filter out those things in which they are not interested.  How can you allow them to obtain detailed information when desired? Think about changes in the variables that you select over the physical area that you have chosen (e.g., building ownership or age relative to location), or changes over time (e.g., air quality or assessed value of a building). How can a user specify the information that they would like to see?  What wayfinding techniques can you provide to help a user make sense of the real or virtual environment that they are exploring? How might you capture a history of what your user did over their session and represent it in a way that's useful to the user? (Please read this paragraph over again.  It's key to understanding the assignment!)

Project proposal and in-class progress reports 1–3.  We will provide full details on what we'll expect over the next few days.

Documentation

To help your user understand how your selection and manipulation techniques work, you should submit two kinds of documentation: a written description and a video demonstration.

Written description. Write a brief document that describes how to use your system.  This should also present the rationale behind your choice of techniques, justified in terms of the material covered in class, in the assigned readings, and in any additional material that you have consulted. You should include screen shots in your description, integrated into the document.  There is no minimum length; however, your document should fully explain your user interface. Your description should be submitted as a PDF file, although Word files will also be accepted.

Video demonstration. Create a narrated video demonstration (at most four minutes in length) that shows your system in action.  Since each of you will probably do things differently, your goal here is to make it as easy as possible for us to understand how your system works by seeing it work, to minimize the time that it takes us to learn how to use it ourselves. You are welcome to use screen capture systems such as CamStudio (open source) or SnagIt SnagIt (full functionality, 30-day free trial). Free video editing programs, with video capture facilities, include Movie Maker (versions of which are included with Windows XP SP2 on and Vista).  You can also capture a video of your system by using a camcorder or another computer's camera. Please keep it simple: exotic visual and sound effects are neither needed nor desireable! Please choose a video format and codec (e.g. the DivX codec) that will enable your file to be played by QuickTime, VLC Player, or Windows Media Player without the need for any additional downloads.

Live presentation

In addition to the material that you hand in, your team will be preparing a presentation of your work that will take place Tuesday, May 12, 1:10pm–4:00pm, in CEPSR 415 (our final exam slot). Your presentation should provide an overview of your design concepts, followed by or integrated with live indoor and recorded outdoor demos of your system. Refreshments will be provided, and we'd like each of you to be there for all the presentations. We will have at most 30 minutes per team, during which your team should be prepared to present a total of 10–15 minutes of material and then field questions and comments from the course staff, your fellow students, and our guest critics (Prof. Petia Morozov, Sean White, and Sarah Williams). Please practice in advance! And, make sure that

What to submit

Your submission should include all of your code, and your Visual Studio project files,  your written description, and your video demonstration. We would also appreciate your including any additional files you will use during your presentation (e.g., PowerPoint files). It is your responsibility to make sure that any file you submit is virus-free. Note, again, that any screen captures should be integrated into your written description, and not included as separate images. Each file should include your name and uni at the beginning.

Your submission should include:

  1. A .zip (or other archive) of your entire Visual Studio Project Directory, which includes:
    1. Your code.
    2. Any .x, .fbx, and other "content" files.
    3. Your Visual Studio project files.
    4. An executable copy of your program.
    5. Any .dll's in your "bin" directory.
    6. The .cf ARTag coordinate frame file you use for your application.
    7. Graphics files corresponding to the ARTag marker arrays you used in the project. This will allow the TA to print copies of your marker arrays and run your application.
  2. Your written description.
  3. Your video demonstration.
  4. A README file with the following information:
    1. Your name and uni.
    2. A list of all of the files included in your submission
    3. A description your computer's OS type (e.g., XP 32 bit or Vista 64 bit).
    4. Brief instructions on how to print and prepare the specific ARTag marker arrays to make your application work.
    5. Information on any special codecs required to view your video.
    6. Credit for any models not created by you.
    7. A list of any features not implemented or known bugs in your implementation.
    8. Any bugs you found in Goblin XNA.

How to submit

Please compress all files in your submission into a second parent archive file named [uni]_finalproject.zip[.tar|.gz|.rar] where uni is your Columbia UNI. Remember to include all the items listed above. Remove any large extraneous files (e.g., raw video footage or screen captures) that will bloat your submission. Please verify that you can run your executable code and view your video by first extracting a copy of this archive to a location on your computer outside the directory tree where you did your development and then running your executable and playing your video without any references to your development tree.

Submission will be done through CourseWorks. Here are the steps:

  1. Log into CourseWorks.
  2. Select Class Files from the left hand navigation pane.
  3. Expand the Shared Files folder. You should see an "Final Project" folder. (If you do not, please email the TA.)  
  4. Select Post File from the navigation running along the top of the screen.
  5. Set the file path, select the folder, and press Submit.  Note that even though you can't see the files you have submitted, you can still determine whether your submission succeeded by checking the Log.

Please try to submit before the deadline since CourseWorks can sometimes become busy and slow. Remember that no late days can be used for the final project, so please finish on time!

Hints

Hints about working outside are available here.