Princeton University
Computer Science Dept.

Computer Science 598c
Advanced Topics in Computer Science: Immersive Computer Systems
Kai Li


Spring 1999

General Information | Schedule | Projects | Useful links
The following is a list of simple projects that could be used as the starting point to think about your project.  Please visit the toolkit link created for COS 495 last semester to get an idea of the current environment on the display wall. Also, you can read the software architecture document to get a big picture about software architecture.

Projects (signed up)

  1. Display-size aware web design / browser improvement (faculty: Ben, Kai; students: Wilmot Kidd)

  2. Normal web pages are designed for desktop displays.  This project is to figure out how to design web pages or browser modifications so that web pages can be viewed by both the display wall and for desktop monitors. 

  3. High-bandwidth storage system (faculty: Kai; students: Han Chen, Jiannan Zheng)

  4. Build a striped user-level file server on top of NTFS and client DLLs for NTFS for high-bandwidth file transfers between display wall nodes and the file server on Myrinet. 

  5. New display monitor (faculty: Kai; students: Geliang Tong)

  6. Improve the display monitor program and fix the invalid port problem with NT 4.0 (may be this problem will disappear with NT 5.0?).  Make it usable tool for calibration. 

  7. Slide show making tool (faculty: Ben: students: Hagos Mehreteab)

  8. Fast browser (faculty: Ben, Kai; students:  Aaron Filner, Ryan Martin )

  9. Add range selection functionality to a browser to select multiple links and search them in parallel and place them in multiple frames on the display wall.

  10. Spatial sound application (faculty: Perry, Tom; students: Keith Mukai, Geory Essl)

  11. See as an example.

  12. Demo time (faculty: Ben; students: Jerry, Wilmot Kidd, Ryan Martin, Jerry Chan)

  13. Organize and develop public demonstrations of the display wall.

  14. People tracking (faculty: Adam, Perry, Tom; students: Jie Chen)

  15. Design the software to track the location(s) of people.

  16. Voice input and speech recognition (faculty: Perry; students: Corrie Elder, Jon Forsyth, George Tzanetakis )

  17. Build microphone software and investigate ways to use commercial speech recognition software to generate inputs.

  18. Self-locating (faculty: Doug; students: Russel Blaine)

  19. Figure out the camera location by itself by information and patterns on display surfaces.

  20. Quake chair (faculty: Perry; students: Tom Hammell)
  21. Quake chair will be made into an input device communicating with the display wall system.

  22. Public forum (faculty: Ben; students: Keith, Adam )

Projects (not signed up yet)

  1. Wall Exploror (faculty: Adam; students: ?)

  2. Build a tool to generate thumbnails for files in a directory and display the thumbnails in a nice placement on the display wall.  Users can invoke the thumbnail by clicking on it.  One can implement such a program by extending a browser. 

  3. Optical blending (faculty: Kai; students: Yuqun, ?)

  4. Use opague objects to create blending by reducing aperture. 

  5. Camera-based calibration (faculty: Adam, Doug; students: Yuqun, ?)

  6. Use camera feedbacks to calibrate alignment and color balance of multiple projectors. 

  7. Collaborative space (faculty: Kai; students: ?)

  8. Design the framework of managing the display space to allow multiple applications and multiple users to share the same display space.  The software system will be a toolkit for developing collaborative applications on a network of computers and allows multiple kinds of inputs. 

  9. Web site for the project (faculty: Ben, Kai; students: ?)

  10. Design the web site for the project including ideas, people, publications, software manuals, internal toolkit, and demos. 

  11. Interactive application (faculty: Perry; students: ?)

  12. Directly put information into the application that runs actively on the display wall.  For example, use a camera or other devices to take the content of a piece of paper onto the wall.  One may be able to accomplish by extending existing Window's applications such as powerpoint, browser, and so on. 

  13. Touch screen (faculty: Adam; students: ?)

  14. Use the hand tracking mechanism below to cause effects on images displayed on the wall, when a user touches the screen. 

  15. Educational and scientific information (faculty: Ben; students: ?)

  16. Develop ways to use large displays for day-to-day teaching, learning and research.  For example, gather data and visual images from Geosciences, Astrophysics, Biology, Economics, and so on, and create appropriate displays of data. 

  17.  Multiple-user input mechanism (faculty: Perry, Tom; students: ?)

  18. Design a software architecture for multiple simultatenous inputs in a collaborative environments.  It should contain an API for application development and should be extensible for adding new input methods.
  19. Integrated input API (faculty: Perry, Tom; students: ?)

  20. Redesign the current input mechanisms to use multiple kinds of devices conveniently.
  21. Portable workspace (faculty: Ben, Perry; students: ? )

  22. Design an operator stand with wireless keyboard, sketch tablet, etc for artists to create content. 

  23. Hand tracking (faculty: Adam; students: ?)

  24. Improve the current hand-tracking software and calibrate it for the display wall as a usable input method for all programs. 

  25. Wand tracking (faculty: Adam; students: ?)

  26. Improve the current wand-tracking system.  One possibility is to invent a novel selection mechanism.  Another possibility is to use more than 2 cameras. 

  27. 3-D Gyroscope mouse (faculty: Kai, Perry; students: ?)

  28. Develop both hardware and software.  Think about whether there are ways to create movement resistance.

  29. Button box (faculty: Doug; students: ?)

  30. Use voice-recognition input mechanism to invoke a command button box on the screen to accept hand commands 

  31. Multicast extension to VMMC-2 (faculty: Kai; students: ?)
  32. This will speedup operations for many applications such as synchronization and multi-node data transfers.

  33. High-level protocols for collaborative space (faculty: Kai, Tom; students: )
  34. 3-D protocols for collaborative space (faculty: Kai, Tom; students: ?)
  35. 2-D protocols for collaborative space (faculty: Kai, Tom; students: ?)
  36. Pixel-level protocols for collaborative space (faculty: Kai, Tom; students: ?)