URL (Kinect/KinectJS Required): GestuRater
Basic Feature Set:
- Displaying images
- Navigating through images/Recognizing multi-directional gestures
- Rating dishes
- Green/Red rating paradigm
- System loop - when through one loop of ratings, system restarts
- Displaying instructions to user when system begins
Bonus Feature Set (Not Initially Planned for This Week):
- Resizing of images and queueing into green/red bars
- Rating feedback: check on images rated well, X on images rated poorly
We knew that the first step to getting an up-and-running functional prototype for GestuRater would be to ensure we were accurately implementing skeletal tracking using the Kinect
and KinectJS platforms. (Actually the first step was installing Windows on our Macs and all of the junk it takes to get the Kinect to actually interface with the computer) So we
hunkered down one Monday afternoon and blasted through code and numerous trials until we had those magical red dots on-screen tracking the user's joints. We then decided that
our primary focus needed to be getting basic functionality of the app up and running, that being letting users navigate through images (in fact, just getting images on the canvas
in general), let them rate images good or bad with up or down gestures respectively, mapping good and bad to green and red bars on the top and bottom of the screen, and getting
a basic set of instructions on the screen before the user starts using the app. All of this would have to occur in a cycle, so that when a user was done, they would be notified
and the system would reset to its starting state. Without all of these features, we would have nothing worth testing. After the skeletal tracking was in place, we implemented
drawing mechanisms for the green and red bars and images, albeit without integrating these methods into the Kinect code. Two days later, Manvi and Justin worked to get the
images to display on canvas, and Justin developed a script that would resize images. Because things were going well, we decided to implement this resizing script for when
a user would rate a dish: when they rated it, the image would resize and queue into either the green or red bar, as if the user's gesture had moved it there. Later that night,
Mahalia, Justin, and Skylar worked out the remaining feature set that we wanted for Thursday. Justin handled the disappearing instruction text, Mahalia handled recognizing
gesture direction and image queueing, and Skylar worked on fixing formatting issues in the html, the app website, and running each test after new code was committed with the
Kinect. As a result, we now have a functional, initial prototype that includes our basic feature set, plus some. An all together successful week!
Remaining Features/Design Decisions:
- Add back-end data collection so results are recorded. Kinda necessary for a feedback system...
- Fluid image motion: image follows user's hand so user can "place" image into correct category. Want them to feel like they're actually moving the item
- Image queue: images slide in from right as you rate them and move them to proper category
- Sound effects as another form of feedback
- System for entering food images so chef can customize app to dishes they want rated
- Summary of daily ratings: display day's record for dishes once you've rated dishes so you can see what other people think
- Image borders to make them look more like photos and stylized (for aesthetic purposes)
- Add in graphics/video(?) to instruction page to demonstrate proper gestures