User:Cpillsb1/Final project
My goal for the final project was to create a useful application for Apertium. Jonathan showed me the existing Apertium PairViewer, which is an interactive tool that visualizes the existing language pairs in Apertium. One idea that was in the works but no one had gotten around to was to create a 3D globe to visualize the language pairs. I was interested in learning JavaScript and HTML/CSS, so I decided to tackle this task as my final project for the class.
Contents
3D Globe Language Pair Visualizer
Process
Going into this project, I had no prior knowledge of any web development or JavaScript, but had some programming experience (Python, C++). A good chunk of time was spent simply reading up on how JS, HTML, and CSS interact, and more broadly, how the internet works.
The most common way of creating globes seemed to be by using D3.js and GeoJSON. I was able to find lots of incredibly helpful examples of people using these libraries (the examples I used are in the references). Most of the code is based on examples of somewhat similar problems.
Bugs / Future improvements
- Zooming in or out resets the globe to the default position, not where it was previously
- No indicator for directionality of pairs currently
- Ideally coordinate data should be separated from the pairs in the JSON file, and then can be looked up by looking at the point_data.
- Certain values are still hardcoded, should be changed to be dynamic in the future
- Zoom buttons could be made prettier, possibly add scroll to zoom.
- Colors indicating repo of the pair are pretty ugly, tried to base it off the original pairviewer color scheme
- Tooltip doesn't fit long names. Perhaps make tooltip size scaleable in the future
- Currently ignores all two letter language codes. Should add conversions from two to three letter codes