Final Project: Migratory Patterns of (famous) Mathematicians
By Ben Racine
Reflective Q & A
What are your motivating questions and why did you choose them?
My primary motivating questions were:
Where are famous mathematicians born, and how does that distribution change over time?
Where do top mathematicians earn their doctorate, and where do they die?
I chose these questions for the same reason I do so many things - an insatiable curiosity about things which don't necessarily matter. I find mathematics (and especially the lives of top mathematicians through the ages) to be fascinating, and wanted to see thousands of years of their lives play out in a few seconds.
Describe your data in detail: where did it come from, how did you acquire it, what does it mean, etc.
Data collection and collation was a huge part of this project; I knew it would be when I undertook it. While the coding was no small task in itself, there was a lot of material to gather and much of it was unfortunately unable to be easily automated. I used the "Using Your Own Data" code with some modifications to get data points for each country. I actually took the time to click through 193 countries on the world map I used. I had no idea where some of these countries were anyway; the geography lesson was actually kind of nice in a way! Andorra is right on the border with France and Spain; I never knew that and I've been right by there!
The most arduous task though was defining what counted as a famous mathematician. My criteria (admittedly quite subjective) was that I judge their contribution to math to be one of the most significant in history. The Greeks, had they not been crippled by a cumbersome number system, may well have discovered calculus had they not fallen. Some of the discussion in the Elements is right on that cusp - I think if they'd had the concept of a zero and Arabic numerals, their society would have taken a huge leap forward thousands of years before the rest of the world.
Anyway that's beside the point. Choosing who to include was difficult, and as with any top list it's easy to criticize omissions or inclusions. I didn't, for example take all of the Bernoulli family (just one). The inventors of notations, translations, fantastic textbooks etc. were largely not included. My rough rule of thumb was, if they've had a non-obscure theorem or other thing named after them, they make the cut. If they founded a field or kicked off an entirely new branch of inquiry, they're included. I do have quite a bit of background in the history of mathematics as it's a hobby, but still - paging through thousands of mathematicians and making decisions for dates based on their biography took a good deal of time, effort, and consideration.
Describe your design and why you chose the features you did.
As this is a visualization of the migratory patterns of mathematicians, it seems to call out for data on a map. I encoded the Births and Education by varying the color for a given country, and encoded the proportion who died in a given country by varying the transparency. Size varies based on the magnitude, of which those who die at a location do not vary. It didn't make sense for me to encode size (either increase or decrease) when someone dies; just having the circle fade a bit made more sense.
I did struggle a good deal with the color palette - the initial scale moved in a more orderly manner from blue to green. However, it didn't differentiate enough when one sphere of influence was over another. After much fiddling with things, I settled on a design that behaves in an orderly manner when near to equilibrium (equal number of Births / 'Alums' for a country), but quickly changes color drastically when you move away from that (more Births will move towards red quickly, for example). I supposed the best way to describe it is that the viewer's eyes are naturally drawn to the movements, so it's simple to see where things are happening and move there.
I did vary from my initial specification in a few ways; I'd originally thought of including a separate visualization, sans map - just as Rosling did. I decided not to when, after looking at this visualization, I came to the conclusion that there wasn't any utility in doing so - the questions I'd wanted to answer already had been.
Also largely influencing my design were two things - chapter 3 of the Fry book (for colors and example code), and Hans Rosling's video from TED. I thought that was so inpiring, and wanted to make something similar without being derivative; I'd like to think I largely succeeded in that.
How do you use your application (mouse and keyboard functions, input/output, etc)?
Using the application is extremely straightforward. There are two buttons in the upper left corner - Stop, and Play (I borrowed their design from Processing). By default, the data points will start to fill in from 1700 BCE. You may stop the program at any year by pushing Stop, and then resume with Play.
By mousing (directly) over the very center of the circles, you may get additional data on that country in the lower left and upper right corners of the screen. I had to leave a small margin of error for mousing over the center, because I went perhaps a bit overboard and recorded locations for all 193 countries of the world (as recognized by the entire world).
Also, there is a scrollbar located just to the right of the Play and Stop buttons. This uses an open library called C5, and makes it fairly simple to add a scrollbar. You may use this to adjust the start date prior to pushing Play. However, adjusting the slider while the car is in motion may produce inconsistent results.
What are the answers to your questions? What other interesting insights about your data did you gain from your visualization?
As to whether or not this successfully answered them - I'd have to say a definite yes. I was surprised by some of the conclusions my (admittedly subjective) data set provided. For one, while I knew that Greece was important, I had no real idea that both Greece and France were such predominant magnets of talent in their respective era (and, to a somewhat lesser extent, the Middle East as well around 1000 CE). I was also surprised to find out that relatively few of the top talent saw fit to leave their homeland - only a very small percentage died in a different locale from their homeland (although this becomes more prevalent as time goes on). Another surprise to me was how late in the game the US become a draw for talent - not until the 1930s by and large (and after my data ends).
What extensions and improvements can you suggest?
Well, more interesting transitions between the phases of the animation would be neat - also I would have liked to embed html links but personally I couldn't see a way to get the effect I wanted without extensive rework of the existing framework I'd set up. Overall though, I'm quite pleased with how this turns out. As usual it's not entirely as I'd pictured it, but it's close.
What did you most enjoy about working on this project? What was the most challenging aspect? What was the most frustrating? What would you do differently next time?
Studying / reading about / working with mathematics in all aspects fascinates me. However, I'm not especially facile with coding depsite my background as a Computer Scientist. I can get it done but I always find it quite difficult. I think the most difficult aspect was also the best - that it was mostly self-directed, independent research trammeling over new ground - that rarest of schoolwork :).
In my view, the features that I didn't implement are those that I found too challenging given my own personal abilities and time constraints. I'd considered svg for a zoom function, or clicking links, multiple view levels, image panning. These were by and large discarded as I felt them to primarily be challenging technical problems that are in no way germane to the course. For example, svg and embedded links in processing are still a bit new - it can definitely be done, but it's by no means a straightforward process. After reading some of the posts on the forum, I decided that my best way forward was just to use a large image. When embedded in a webpage as an applet, this provides image panning without any additional frustration. The technical side of this project, while time-consuming was relatively straightforward.
See it Live
The easiest way to see this live is to click here (works best in Firefox). NOTE: the application is designed for 1920x1080 resolution or higher.
Alternately, I've also included the full source if you'd like to compile it yourself in this archive, located here.
You may also view a video of the application with a narration here.
-BAR