Multimedia Kinection

Team Members
Julian E. Herwitz - julian.e.herwitz@gmail.com
David Klein [email]
Sam Atlas [email]
Micah Fujiwara mfujiwa2@u.rochester.edu
Jason He jason.he@rochester.edu

1. Specification

Concept:
For our project in 297, we plan on using the Xbox Kinect by Microsoft to simulate a virtual keyboard of sorts. We want to develop hand gestures for the kinect to recognize and send keyboard input to the active process on the user’s desktop. So for instance, if we make a scrolling motion with our hand, we would want the kinect to send a down arrow command signal into the OS which in turn would scroll the window down if the user has a web browser as the active window they are on in the OS. Another Example: If it were a word processor that was open, the user’s active line cursor should move down from the down arrow input being sent. The way we plan on doing this is using the official C# API for the Kinect to implement “listeners” to detect gestures and when those event handlers are activated then call the proper functions based off of which event handler is called.

Storyboards:
storyboard1.png
storyboard2.png
storyboard3.png
Block Diagram:
block_diagram.png
Materials/Modules required:
Hardware
  • Kinect
  • Computer
    • Probably will need Windows OS

Software
  • Kinect API
  • Windows input interface controller
  • Media Player
    • VLC, Windows Media Player, ect.



Tasks
Task
People
Deadline
Status
Architecture
Julian
Monday

Storyboard
Micah
Monday

Concept
Jason
Monday

Architecture
Sam
Monday

Architecture
David
Monday

Products
document
initial project plan (all sections)
"
concept writeup
"
storyboards
"
architecture writeup
"
bill of materials

2. Detailed Design

API: define the function headers and data structures shared between modules.
Code skeleton: created commented code skeleton. Use "stubs" for bodies of functions that have not been finished. It should be possible to run the skeleton.
Prototype modules: implement prototype versions of all modules that are novel or challenging.

Tasks
Task
People
Deadline
Status
Hardware/API
Sam
Monday

Planning/Code skeleton
Jason, Julian
Monday

Prototype modules
David
Monday

Documentation
Micah
Monday

Products
document
API
hardware
prototypes of ...
software
prototypes of ...
software
code skeleton



3. Alpha Release

Create an end-to-end working version of the system. Initiate alpha tests.

Tasks
Task
People
Deadline
Status
















Products
document

hardware
alpha hardware
software
alpha software



4. Beta Release

Complete alpha testing: find bugs, missing functionality, and unneeded functionality.
Redesign review: given time constraints, determine what will be fixed, added to, or eliminated from the system.
Beta release: based on redesign review, implement changes to system in order to create the beta release.
Draft the user guide.

Tasks
Task
People
Deadline
Status
















Products
document
redesign review writeup
hardware
beta hardware
software
beta software
documentation
draft user guide

5. Production Release

Beta testing: find and fix bugs.
Production release: implement final version of system.
User guide: revise and publish complete user guide.

Tasks
Task
People
Deadline
Status
















Products
document

hardware
production hardware
software
production software
documentation
user guide


6. Customer Evaluation

Give a project presentation that convinces the audience of the project's technical ingenuity, artistic merit, and/or commercial potential.

Tasks
Task
People
Deadline
Status
















Products
document
presentation materials