Joe's Project Page for DGMD S-15

Musings

7/23/15: The other night I was thinking about my interactive story project with just a pen and paper in hand. I found that I had a lot of ideas about how I wanted to create interactivity in the story and for the first time in my life, I was beginning to see in my mind how I might be able to achieve those ideas in code. It was a really cool experience to be able to translate an idea about how something should work into pseudo-code on paper. I haven't actually implemented those ideas yet, but the fact that the conceptualization is there is a good indicator that I'm learning something :)
7/24/15: It's amazing how many "cool tutorials" exist out there! There are so many hidden gems just waiting to be discovered and adapted to different uses.
Also, I just want to say how much I love git right now. I honestly feel silly for having put off learning how to use it for so long. 7/24/15 (12:36pm): This is perhaps one of the most amazing things I've ever seen: http://cabbi.bo/enough/ It came up as I was searching for 3D spheres, which led to webGL stuff and three.js. This story is linked from the three.js site.
7/28/15: Holy crap! I forgot about this! It turns out it was done with three js and the stars in it are incredible! Thankfully, there's a great writeup about how it was done...yet another source of inspiration!

Project Ideas

1. Interactive/Quick Image Editor for Image Creation Tutorial

I want to build more functionality into this set of tutorials. I want to allow a user to do minimal image editing and combination to create RGB images from science data right in the browser.
I found this great website -- basically photoshop in the browser -- which is completely open source and has an API that I think could be adapted for use in my project.
UPDATE: it works!


2. The Life Cycle of a Massive Star

The proof of concept start for the longer Cas A supernova story...
Allow the user to have interactive control over the core collapse of a star - click to burn heavier elements until you create a solid iron core. Then watch as the star explodes!
EDIT: It turns out something like this already exists in Flash form.

UPDATE: So...this project continues to evolve. It's becoming more of an interactive story than a "simulator" and I'm good with that. I found this awesome tutorial showing how you can build pseudo-3D, interactive clouds in the browser window. It struck me as something that could easily be adapted to represent a nebula in space, which is a good starting point for the discussion of the life cycle of a star. I figured out how to map new clouds into it, change the background, adjust the different interactive elements so that your viewing angle is slightly more limited, key other events off of the clouds z-depth, and also use the same clouds function to add individual stars that add to the sense of depth. The end result is something really cool and I love the way it looks! Unfortunately, it's really computationally intensive and I'm still trying to figure out how to offload some of the animation work to the GPU. UPDATE: now using webGL via three.js for everything and it's working nicely!
For the next few sections of the story, I'd like to continue with the 3D interactivity we have going on with the nebula. I found another cool tutorial detailing how you can create animated 3D spheres using CSS and JS. At the end of the tutorial, there's a 3D sphere with a surface image mapped onto it. I think this technique could be used to map a stellar surface onto a sphere and have it slowly rotating as the story progresses.
I may have stumbled upon a solution to the performance issue with the nebula page. I'm experimenting with doing the 3D star in three.js and I think I can use this tutorial to rewrite the first page using three.js for the animation instead of CSS and divs. That should give a big performance boost to the page. YES! It worked.
Back to the Star page...Using another tutorial for inspriation, I'm looking at using this to either zoom into the core of star and watch hydrogen burning run out and/or use a scaled up version to simulate the explosion of the star.


3. The Story of an X-ray Photon Created in the Cassiopeia A Supernova Explosion

The layout: I picture this being visual storytelling where as you scroll to read the text, different elements of the storycome into view and animate. Sometimes these stories have a video playing in the background, and that's how I see this starting if I can find or create a good animation of a supernova explosion.

The overall idea: follow an X-ray photon from it's creation in a supernova explosion as it travels through space and reaches Chandra's detectors. From there, learn how astronomers create color images through a visualization showing how an X-ray image builds up over the course of an observation, ultimately showing how we use the energy information of the photons to build color images.

A tangential educational possibility from this is to allow users to assign their own colors to the elements and make their own composite image.


4. Do more with Chandra Sky Map?

- I've wanted to add a multi-wavelength view of the sky similar to Chromoscope for a while.
- I also played around with adding interactive constellation boundaries across the sky to this but ran into trouble with boundaries whose edges wrap around to the other side. I still haven't figured that bug out.

5. Fix up and finish Smart-X analysis page

This page needs a LOT of help. I'm considering scrapping everything and starting over by first thoroughly thinking through the workflow and how the UI should fit into that.

6. Interactive data explorer for Chandra data files

I envision a way to interactively browse and work with Chandra data files directly in the browser. It's a longer term project with no real timeline on it.

Other Potential Goals

Developing new interactive tools for MicroObservatory
-potentially develop iOS tools for interacting with the sky and choosing objects to observe.
Learning how to properly scope out and estimate time involved for large projects