rofo.ca - a geo/social network visualization of the Rob Ford saga.
April 24, 2014 9:50 PM Subscribe
rofo.ca - a geo/social network visualization of the Rob Ford saga.
The Rob Ford story has been a wild one, but there's so many characters that it's hard to remember them all. I'm a social psychology PhD student studying memes, and I've gotten deep into social network analysis over the past 2 years. Naturally, I decided to find out whether I could apply social network methods to the Rob Ford story. The result is rofo.ca, which displays many of the people, places, events, and phone calls that have shown up in newspapers and police reports. rofo.ca can serve as a complement to Robyn Doolittle's book, Crazy Town, and to the other reporting that has covered Rob Ford.
The Rob Ford story has been a wild one, but there's so many characters that it's hard to remember them all. I'm a social psychology PhD student studying memes, and I've gotten deep into social network analysis over the past 2 years. Naturally, I decided to find out whether I could apply social network methods to the Rob Ford story. The result is rofo.ca, which displays many of the people, places, events, and phone calls that have shown up in newspapers and police reports. rofo.ca can serve as a complement to Robyn Doolittle's book, Crazy Town, and to the other reporting that has covered Rob Ford.
Role: principal
@scruss: thanks for your comments. The ward map was created by adamw523, which is listed under the "credits" link in the info window. I am pretty serious about providing credit where I can, so you can find a lot of other resources I relied upon in the credits page.
As for listing all the wards, that's an interesting question. I could write a whole blog post about my work with SVG and OpenStreetMaps, but the bottom line is that SVG maps were not compact enough for my application. However, without recognizable landmarks such as roads, it's hard to get a sense for proportion. The SVG exports from OSM contained these landmarks, but the default exports were like 800MB and I could tell it would be a serious challenge to delete all the superfluous SVG elements in order to create a more compact SVG with just road names and maybe some line art for streets.
When I switched to GeoJSON instead of SVG, I eventually came across adamw523's work. If you'll follow the link, you'll see that it's a bare-bones vector drawing of the wards, which I believe he derived from Toronto's open data initiative. I kept all the wards because, in the absence of other landmarks (e.g. streets), I think it conveys the relative location of everything. Otherwise, how else would you know all the cray is all in Etobicoke?
Anyway, thanks for your questions. I'm happy to answer any other questions you might have.
posted by iandennismiller at 8:39 PM on April 25, 2014
As for listing all the wards, that's an interesting question. I could write a whole blog post about my work with SVG and OpenStreetMaps, but the bottom line is that SVG maps were not compact enough for my application. However, without recognizable landmarks such as roads, it's hard to get a sense for proportion. The SVG exports from OSM contained these landmarks, but the default exports were like 800MB and I could tell it would be a serious challenge to delete all the superfluous SVG elements in order to create a more compact SVG with just road names and maybe some line art for streets.
When I switched to GeoJSON instead of SVG, I eventually came across adamw523's work. If you'll follow the link, you'll see that it's a bare-bones vector drawing of the wards, which I believe he derived from Toronto's open data initiative. I kept all the wards because, in the absence of other landmarks (e.g. streets), I think it conveys the relative location of everything. Otherwise, how else would you know all the cray is all in Etobicoke?
Anyway, thanks for your questions. I'm happy to answer any other questions you might have.
posted by iandennismiller at 8:39 PM on April 25, 2014
...actually, one more detail about the ward map. It was originally created by adamw523, but I also used mapshaper to simplify/quantize the shapes further. This reduced the size of the GeoJSON file by about 50%, if I recall. And as I think about it, I didn't give them a shout out on the credits page, so I'll add them to the next push.
posted by iandennismiller at 8:46 PM on April 25, 2014
posted by iandennismiller at 8:46 PM on April 25, 2014
This is awesome.
Once I was hanging out at a bar talking to a buddy about a complex set of relationships he found himself in and I started to map it out for him on the back of a napkin, assigning various symbols for people and style of relationships. The map got to, maybe 20 nodes and I drew a new symbol connecting two people and drew a symbol and he asked me what it was and I told him "That's the white flag of surrender. This is a mess, man - an absolute mess."
The diligence required to map all these events and people.... my hat is off to you.
posted by Nanukthedog at 3:22 AM on April 26, 2014
Once I was hanging out at a bar talking to a buddy about a complex set of relationships he found himself in and I started to map it out for him on the back of a napkin, assigning various symbols for people and style of relationships. The map got to, maybe 20 nodes and I drew a new symbol connecting two people and drew a symbol and he asked me what it was and I told him "That's the white flag of surrender. This is a mess, man - an absolute mess."
The diligence required to map all these events and people.... my hat is off to you.
posted by Nanukthedog at 3:22 AM on April 26, 2014
@Nanukthedog thanks for the encouragement. Last July, I tried a similar approach to what you described, using the AT&T dot language, and it similarly broke down after about 2 dozen people and events. I gave up for several months after that because it just became too difficult to add even a single person to the map. The number of possible connections for each new node grows exponentially... Manually tracking the added linkages is too complicated for a human to do.
So this time, I built a database to manage all the connections. It was the only way to make something that did not fall apart at scale. I sortof created a domain-specific language in Python that is used to describe the individual elements, and then I algorithmically determine all the linkages between the elements. I think I've actually done some original work here that I'm referring to as "Situation Modelling." That term is already used in a different literature, but here I am using it to describe what you were basically doing with the back-of-the-napkin sketch. I've just turned it into a formal process.
posted by iandennismiller at 1:27 PM on April 26, 2014
So this time, I built a database to manage all the connections. It was the only way to make something that did not fall apart at scale. I sortof created a domain-specific language in Python that is used to describe the individual elements, and then I algorithmically determine all the linkages between the elements. I think I've actually done some original work here that I'm referring to as "Situation Modelling." That term is already used in a different literature, but here I am using it to describe what you were basically doing with the back-of-the-napkin sketch. I've just turned it into a formal process.
posted by iandennismiller at 1:27 PM on April 26, 2014
« Older An interactive explanation of quadtrees.... | Avail: a programming language ... Newer »
posted by scruss at 4:42 PM on April 25, 2014