Popcorn Social - Night of the Living Dead

Popcorn Social

Popcorn Social (developed as MovieNight) is a shared movie watching experience. The site was built by Jason Rohwedder, Shawn Hampton, and myself in 48 hours (from conception to completion) as part of Rails Rumble 2010. During the Rumble, we competed in and won the Zencoder sponsored exhibition match for the Best Use of Audio/Video.

The idea behind Popcorn Social is to allow you to create a virtual theater where you and your friends can come together to watch a synced movie. We worked with VideoJS to display and control the streaming video. Adding a MST3k flair to the experience, the Pusher API allowed us to have the audience chat about the movie as they watch it. We also took inspiration from the class VH1 Pop-Up Videos and added trivia that would periodically appear around the screen as the movie plays.

Static Analysis of Web Sites

In the realm of web development, there are a number of tools available to a developer which aid in the writing and execution of unit, functional, and integration tests, but the burden lies on people over tools when it comes to proofreading the content and examining the structure and appearance of a web site. While studying for my Master of Computer Science, in an independent study class, I choose to focus on three main areas of web site bugs in this project: spelling and grammar, broken links and images, and overlapping text with layout elements.

To tackle the spelling and grammar issue, I wrote a Ruby adapter for the After the Deadline service. In detecting broken links and images, I used Hpricot to parse HTML and Net::HTTP to validate URIs while focusing on missing images that break the layout of a page, missing input buttons that prevent forms from being processed, and invalid links that lead to a poor user experience. To decide if and where textual data overlap with layout elements, I used JavaScript DOM manipulation via Selenium to separate textual content from page layout and applied Canny edge detection via ChunkyPNG to detect problem areas and visually identify the problems in the design.

Static Analysis of Web Sites

Wireless Applications at the Zoo

Wireless Applications at the Zoo

As a graduate student at the Illinois Institute of Technology, I took part in a class working with wireless applications to augment a guest's experience at Chicago's Brookfield Zoo. The goal of the class was to prototype applications that enhanced the zoo experience by providing games, conservation ideas, and animal facts aimed at children and families; both while they are at the zoo and at home.

My role in the class was to develop an iPhone prototype for the Brookfield Zoo, something that guests could use while visiting the zoo to learn more about the animals and their surroundings. We held weekly meetings with the staff at Brookfield Zoo during the semester to learn about their conservation efforts, interesting facts about the animals, and take tours of the zoo to get a feel for the guest experience. The iPhone prototype I developed focused on creating an on-device database of the zoo's animals and exhibits; and an interactive, location-aware map to help guests navigate the premises.


HawkTour was built as part of Illinois Institute of Technology's Interprofessional Projects Program. HawkTour is an application of pervasive computing designed to run on a tablet PC to provide users with a self-guided tour of their environment. The application is written in Java, based on the Model-View-Controller (MVC) architecture, and consists of five major components: the Main Manager, the Location Manager, the Content Manager, the Map Manager, and the Graphical User Interface. Location is determined in two ways: indoors using an Ekahau positioning engine which provides location data based on wireless signal strength from IEEE 802.11 access points; and outdoors using GPS technology. Audio, video, and textual content is delivered wirelessly to the application based on the device's position in predefined hotspots in the environment.

My time with the HawkTour project was split across most of the components. I implemented the entire mapping stack, from hotspot identification through the user interface. I worked with the location and content teams in translating and displaying data. And, I was responsible for implementing and updating the team website.

HawkTour - Applications of Pervasive Computing