Time: April – May 2015
Team Size: 3
Role: Front-end developer
Tools: JavaScript (D3.js, JQuery.js), HTML5, CSS3; Bootstrap, Twitter API
Challenge & Ideation
The idea of this project was inspired by “International Space Apps Challenge”. After brainstorming, we decided to make a data visualization that shows the location of the International Space Station on a map, giving a specific data point. When the Space Station is at a particular location where Samantha sent a tweet, we would also display that tweet on the interface.
We hence obtained three datasets:
- The orbiting data from ESA astronaut Samantha Cristoforetti’s trip on the International Space Station from December 2014 to May 2015, about 200,000 data points
- The second dataset dataset consists of the tweets she sent during her time in the Space Station, which was drawn by using Twitter API, about 2,000 tweets
- The third dataset is world-50.json which was used to plot the world map.
Design Element
Control panel: Our control panel of our application allows users to control date, time, auto-play speed, and whether to show current or all orbits of the International Space Station.
Tweet panel: This panel shows the tweets that ESA astronaut Samantha sent at a specific time and location.
World map: We used the Kavrayskiy VII projection of the world map, which gives us a more accurate world map projection in 2D comparing to Equirectangular and Mercator projections.
What I Learned
This project was a more fun way of learning powerful D3.js library. We started with searching for a fun topic that we were all excited about. Going through numerous ideas, we narrowed our ideas down to ones that were both interesting and promising, which means available datasets in this context. After deciding on the direction, we quickly iterated design ideas and began to build.
I also specifically learned that as we developed further into the project, I discovered that some original designs needed to be adjusted according to the time and energy constraints. In the meantime, I needed to make sure the adjusted design can still reflect the goals we had about this project, in order to deliver a product with high quality.