I worked with a PhD student (Craig Tashman) on designing the help system for his gesture-driven "active-reading" system called LiquidText. Since the system uses gestures to expose most of its functionality, a help system was crucial in teaching users how to use the system. As part of a two person team, we worked on designing how the help system would look and function as part of the interface. We also worked on storyboarding and creating videos showing how each gesture worked.


As part of the Mobile Applications and Services class, we created a system called Splash which aims to make natural, the process of displaying images stored on a mobile phone or on facebook by leveraging a HD TV as a secondary display. It allows one to push images stored on the mobile phone or on facebook onto a HD TV and allows one to browse, view and manipulate images using the accelerometer and gestures on the touch surface of a smart phone.


As part of the Ubiquitous Computing class, we created a digital interactive bulletinboard that allows the user to post physical flyers on a digital board that is networked around campus. As part of the team I designed how the system should work and worked on programming the actual system. I wrote the main bulletinboard interface.


As part of the Mobile Applications and Services class, we created a system called Late for Class, which provides a live audio/video stream to your mobile phone of the class that you are late for. It picks up the list of classes that you are registered for, and when it detects that you are running late for class, provides a live audio/video stream of the class so that you don't miss out on anything. Each student is provided a set number of tickets, which allow them to be late for a class a certain number of times in a semester. The system used VLC for encoding the audio and video and sent it as an RTP stream to a Wowza (a video streaming server), which subsequently made the stream available to all manner of mobile devices (using HTTP Live Streaming, RTP).


As part of the Ubiquitous Computing class we created a context-aware realtime video chat system designed to connect potential tourists with people who are already at the destination. The system composed of a browser extension which detected the browsing context and added small indicators to place names indicating people who were "checked-in" at those locations. The user could then choose to talk to any number of people at that location using either text or video chat. The people at the location would use their mobile phones to "check-in" to the system. A potential use for this would be for tour guides to give potential tourists a "preview" of what they would see and thus help in the promotion of their tours. As part of a 3 person team I was responsible for the design and the development of the mobile application.


As part of my Research Assistantship this semester (Fall '10) I have just started working with the Georgia Tech Research Network Operations Center (GTRNOC). I am part of the team building a mobile portal to a number of Georgia Tech services.

My Role:

I am responsible for the Design and Development of various parts of the portal.


My summer internship was at CareerBuilder, where I worked with the R&D team. CareerBuilder is one of the largest job sites on the web and they have a massive database of Resumes and Job Postings. I was tasked with building two visualization systems, one, to be used internally to enable the team to analyze and understand better the distribution of Resumes and Job Postings in their database. And, two, to be used my job seekers to more easily find the job they are searching for.

The first system was built using Microsoft Silverlight which visualized the large numbers of Resumes available in the database. It primarily displayed the distribution of Resumes across various categories. In addition to this filtering by various options is also possible.

The second system uses a similar technique to the above system, but works on Job Postings instead of Resumes. It was written in HTML5 SVG so as to not depend on a plugin such as Silverlight.

My Role:

I was responsible for the design and development of both visualization systems.


As part of my Information Visualization class I built this interactive visualization that visualized the Top 50 Billboard chart positions for the past 50 years. The idea was to be able to study trends in how musical genres have risen and fallen over the years.

The whole system was built using HTML5 SVG.

Play with the system here. It make take a while to load, please be patient, it loads a fairly large dataset on startup. Also the system is not complete and hence is probably a bit rough around the edges.

Notes: The X-Axis shows the top 50 chart positions, while the Y-Axis shows the most popular few genres. Click the Play button to see the system take you through the weeks and years. You can also directly click on a year or a week to jump to that time. Click on a song name to see a graph of the songs popularity over the weeks. Click on a genre to see a graph of it's popularity over the years.


With the internet becoming a rich source of information, people are increasingly looking to the internet to gather information about products before buying them. People typically find a product online and then spend time reading reviews written by both expert reviewers and other users. For especially high-value products, and for deeper and more serious evaluation, people often use forums.

These common tasks are becoming harder and harder to do as the number of reviews and forum posts increase exponentially. Without an efficient way of obtaining the general consensus of the opinion on a product, it is becoming increasingly difficult for users to make an informed decision about whether to buy a product or not.

There is thus clearly a need for a system which makes it easy for the user to distill the rich information contained within these reviews and forum discussions without breaking his brain.

Under the guidance of Professor John Stasko, I am studying this problem and attempting to develop a visualization system which will help users digest all this information.

My Role:

My role last semester (Fall '09) included the following:
  • Creating a large corpus of consumer reviews and discussions by scraping a number of web sites
  • Analyzing the data using existing visualization systems to see where the existing systems helped and what they lacked.
  • Creating a few experimental visualizations to help digest all this data

I am continuing to work on this problem this semester (Spring '10).


For the Introduction to HCI course, we (a group of five) chose to focus on creating a system which helps firefighters collect and utilize information that allows them to save more lives, including theirs. Thus a Firefighter Vision System was created in form of an Augmented Reality System which helped firefighters navigate low-visibility environments. This Augmented Reality System was then evaluated, comparing it with the existing Thermal Imaging Camera, and was found to be superior.

My Role:

My role as a member of the group included all of the following:
  • Interviewing Firefighters
  • Analyzing Firefighter interviews and Brainstorming possible solutions problems
  • Design of the AR System
  • Building a prototype
  • Evaluating the prototype system, comparing with the Thermal Imaging Camera.

More info about the project (including project deliverables, etc) is in our project website.


Functioning democracies require educated and informed electorate to provide oversight. The problem is that there are too many votes, bills, issues for individuals to track, and thus, they need to rely on third parties (media, communities) to highlight and interpret key issues. Additionally, these third parties often have their own agendas, biases, and interests.

Our goal in this project is to provide a web-based service designed to enable motivated users to comprehend United States legislation at low-cost for both the user and the provider.

With this goal in mind, we studied existing systems to see what problems they had. We then chose one of the existing systems and did an user evaluation on that system.

My Role:

My role as a member of the group included all of the following:
  • Studying existing systems
  • Evaluating user performance on existing systems
  • Brainstorming ideas for the design of the new system in order to address the problems found in the user evaluation