||Room 450, CoRE
||Visualization of Time Varying Graphs
Our project is centered around Graph-based abstraction of information. We are developing a model to encapsulate information on a given topic into a "card", similar to a trading card. We plan on creating a system that allows users to own, trade, and contribute to these cards. We combine the information collected into a Graph abstraction that we present to the user, utilizing several visual mechanisms.
- Week 1:
- I've met my team members, there are 5 of us in all. We spend the first day meeting each other, and identifying each other's strengths and weeknesses. Due to my previous experience with Dr. Abello, he has put me in charge of organizing workflow within the group. As a group, we meet with Dr. Abello for the first time, and identify the key sub-tasks we will need to do to complete the project in a timely manner. We agree that a good prototype for our model would be a "card" platform centered around the World Cup. We decide to quickly create a Java applet that will be able to have the Graphic functionality that we will need to do what we hope to accomplish. We set to organize this code in such a way that we can reuse most of our efforts.
- Week 2:
- As a team, we spend most of the week working on the Java applet for the World Cup portion of our project. We are under a tight deadline due to the proximity of the start of the World Cup. I spend a lot of my time in a managerial role, looking over the state of the project, and integrating different pieces of software into the central applet when they are written. In addition to this, I spent time working on and refining the Graph abstraction portion of the project. By the end of the week, we have all of the necessary portions of the platform coded, but not fully integrated. By hope to have everything operational by the end of the weekend.
- Week 3:
- The team spent this week polishing the applet and working on features. We were able to get voting working, along with World Map integration. Player trading was almost done, however still requires Database integration. Due to time constraints, I have rolled my own middleware for DB -> Client communication. This is the first time I am doing this, and I am somewhat nervous. I had read a lot of literature on securing these systems, but I've never had first hand experience. I am nervous that I am forgetting SOMETHING, but as it stands things seem to be kosher
- Week 4:
- We started the week behind schedule. I had the rest of the team move on to the next stage of the project while I work to integrate the remaining portions of the World Cup stage. Our final scheme in terms of security was to encrypt all traffic with 2048-bit RSA. While this is a primitive (and slow) scheme, it was simple, and will work. Passwords are salted with a randomly generated salt (created with a secure RNG, and hashed a non-disclosed number of times with SHA-256. I have taken necissary precautions against SQL injection. I feel confident in the security for this stage of the project. We are finally launching, and moving to the next stage of the project, the REU-pedia. I have had Ram working on JQuery/D3/HTML/CSS/etc. mock ups on what things will look like. I have assigned Jose to data collection, and Atl to graph creation and management. My personal assignment is to set up the Tomcat server and begin transitioning to the jsp backend.
- Week 5:
- This week we are analyzing the data Jose has been collecting the past week. We start by calculating the Jaccard coefficent's for all project description pairs. This process is slow due to the O(n^2) running time and I suspect due to the library we are using (which reads this data from disk from a spreadsheet). I think to scale this project we will need a faster way to calculate the similarity measures. I think restructuring the code such that we preform all calculations at once and write a single seralized object would be a better approach. In the mean time I am working on "condensing" the graph produced by the similarity measures so that it will be visually pleasing whill still conveying relevant information.
- Week 6:
We have spent this week polishing the website and getting ready for the presentation. We have added our trading mechanism to the site, built on JQuery. We have added a coloring mechanism for the vertices of our central graph, and updated the card display mechanism. I have personally added zooming and panning to the graph and subgraph.