Thursday, February 5, 2009

Fun and Useful Resources

Val helped me get in touch with Greg Jordan, author of the original PhyloWidget program. He recommended the two following site for both information and inspiration: 

Rebecca Shapley's work on "Teaching with a Visual Tree of Life"
http://groups.ischool.berkeley.edu/TOL/

and the UK Wellcome Trust's "Wellcome Tree of Life"
http://www.wellcometreeoflife.org/interactive/


The second link looked really neat at first, and the graphics in the video are great, but it was tough to interact with and was pretty shallow in terms of the amount of information that was available. I liked the idea of color-coding the images based on whether outside data was available, though. 

The study done at Berkley may prove incredibly useful. The final report from their study was ~112 pages long, but I spent a while going through the powerpoint (with notes) from their presentation as well as reading briefly through the different sections of the paper to see what would come in handy later on. They have a whole section of recommendations based on interviews with teachers about what functionality they would like in a Tree of Life program. Just for a taste of some of their results, here are features that over 80% of respondents considered important or very important: 

  • Zooming in to any part of the tree 
  • Seeing areas of controversy 
  • Viewing the relationship of divergence events to geological time 
  • Seeing the distribution of important character states 
  • Bookmarking particular branches on the tree 
  • Accessing geographic distributions of groups of organisms 
  • Viewing the distribution of biological patterns across the tree  

(Green and Shapley, p. 47)

So as you can see it's going to be a very useful document. I looked for Rebecca Shapley's contact information so that I might be able to get in touch with her directly (she now works for Google), and although her e-mail address wasn't displayed on her website, I actually found her on Facebook and sent her a message! It'd be quite nice to have her direct input, since she conducted this massive amount of research that would be incredibly useful to making my project successful. 

Wednesday, February 4, 2009

Eclipse

I've spent a lot of time going through the Eclipse Java development "Basic Tutorial" - using their test code and following the tutorial instructions to see all of the things I can do with it. It seems like a great development environment - it'll just take a little while for me to get used to all of the menus and icons so that I can find what I need. There are so many great features to take advantage of while I'm coding, that I hope I can remember at least half of them when they would come in handy. 

With all of my new knowledge, I now need to figure out how to create a project to house all of the PhyloWidget source code, and then run it and see what happens. Turns out that the "Project Configuration Tutorial" is next in the help docs I've been reading, so that should be a good start. 

I still can't figure out how to run the standalone version, since I don't know what to do with the .sh or .bat files to make them, well, do something. 

I've got a lot of reading to do about info visualization, too. Seems like people have been recommending good resources, so thanks for that. I just need to sit down and read them now. 

Sunday, February 1, 2009

I feel like an idiot of a computer science major...

I'm looking at the Eclipse website to figure out what to download, since I'll need to use Eclipse to write the code for this project. The options include: 

Eclipse Classic - The classic Eclipse download: the Eclipse Platform, Java Development Tools, and Plug-in Development Environment, including source and both user and programmer documentation.

Or

Eclipse IDE for Java Developers - The essential tools for any Java developer, including a Java IDE, a CVS client, XML Editor and Mylyn.

Or both? I think it's the first one, but who knows?

Also, I downloaded the standalone version of PhyloWidget, so that I could play with it and get used to the functionality of the program. Right now I feel like a bit of an idiot because I don't know what to do with it, like, how to just run the program. I couldn't see any instructions on the site. All I have is a folder of .jar files and two other files, one of which doesn't open, and the other looks like it has a command-line command, which I couldn't get to run because it said "Permission denied." 

Not such a good start eh? 


Friday, January 30, 2009

Weekend Update

I just finished meeting with Val again to continue finalizing my design doc and make a list of what I need to be focusing on next. What's left for the design doc is the background reading I still need to do about the Tree of Life project itself, both for the prior work section and the abstract. 

Next Steps: 
- download PhyloWidget standalone application, install it, and get used to how it works
- download Eclipse
- look back at old Java code I've written to re-familiarize myself with the language
- download PhyloWidget source code, open it as a new project in Eclipse, compile, and run it
- look for any code documentation on the PhyloWidget site

- meet with Val, Thursday the 5th

- experiment with small changes to the existing code to see how easily it can be manipulated
- decide then whether to build upon the PhyloWidget code or start my application from scratch

In addition, I'll also start brainstorming about the functionality I'd like to include in the program, so that we can start working towards a UI design as well as a software design. And, of course, I'll have a finished background section to add to my design document. 

Logistical note: I'm working on figuring out how viewers can RSS feed my blog, so your browser can automatically inform you when I've made a new post. I'll let you know once I get that working.

For now, here's the Gantt chart I've created to organize my workflow up through the Alpha presentation during the last week of February. From there on the chart is vague, since I know I'll arrive at a more detailed list of tasks as I proceed.


Sunday, January 25, 2009

Munzner's TreeJuxtaposer

I completed reading the SIGGRAPH paper by Tamara Munzner about visualization and structural comparison of trees.  I'm focused solely on the visualization aspect, for the Tree of Life dataset. Comparison of trees or subtrees is not within the intended functionality of my program. The paper was dense and would certainly require re-reading if I were to try to implement any of her algorithms, but reading it once gave me a sense of the topics she addressed and the difficulties she encountered. 

Topics relevant to my project: 
- Scalability in Tree and Display Size
- Guaranteed Visibility of landmark nodes, regardless of user's navigation. While her goal in doing this is for the sake of comparison, it would be of additional value to my program, where students may want to focus on the relationships between specific organisms.  
- Occlusion of other nodes due to labels

Topics I don't need to bother with:
- Automatic Identification of Structural Differences between input trees
- Differences Characterization - exactly how two trees are structurally different

Topics I could read more about:
- Herman et.al. 2000 survey of tree visualization research
- Quadtrees (her datastructure of choice)
 H. Hauser: Scientific visualization: The visual extraction of knowledge from data, Springer, ch. Generalizing focus+context visualization, pp. 305–327, 2005. 
- Other tree visualization options that are different from the TreeJuxtaposer (referenced in Munzner's paper)

Wednesday, January 21, 2009

Design Doc Meeting

I just finished meeting with Val (Tannen, my advisor) about ironing out some of the details of my project so that I can write a more complete design document. Out main focus ensuring that my project will have a definite beginning and end and that it is a project I can successfully complete in one semester. 
We reviewed some of my questions and went over the design doc template to make some changes and additions to what I'd already started to piece together. 

We decided that I need to do two things: 

1) Read Tamara Munzner's paper on the Tree Juxtaposer to see how she visualizes trees and what I can learn from that. This will also get me started in the "Past Work" section of my design doc. I can choose to trace back from her references if I see things that I feel might be of additional use. 

2) Spend a long while studying the already-written PhyloWidget code from Yale. I'll need to decide whether to start from scratch using that as a guide or whether to use it as a basis on which to build my code. Deciding how to utilize the PhyloWidget will have significant influence on the structure of my project, right down to the languages and libraries I'll be using to write the code. 

In addition to that, I feel I'll need to do at least some background reading about Data Integration, since I'll need to do some amount of that to ensure that we're using fresh scientific data all the time. I'll also want to read up on algorithms and data structures that would be most useful for storing and manipulating data about trees. 
Val is going to get in touch with his colleague at Yale who is excited about this project and seems willing to lend a hand, especially with the code from the PhyloWidget project that was created by one of his students. 
At this point it's still quite too soon to detail things like algorithms of choice or even to attempt a Gantt chart. We're still very much in the "figuring things out" stage. 

Monday, January 19, 2009

Transition Announcement

My "Adventures" are taking a turn, a change in focus to the more, well, local - instead of traveling the world, this semester will be spent getting comfy in my computer chair and working on my senior design project. As such, my blog will now be a hub of activity all related to my project - progress reports, links to useful and relevant sites, questions and comments from my faculty advisors, etc. This is the beginning of what is sure to be an interesting ride.

Next up: Abstract and full Design Doc to be posted shortly.