Reflections on a little open source project
Early in 2013, with a great help from many great people, I built a little web game called Click That ’Hood. It all started with two simple goals in mind:
- to learn the neighbourhoods of Louisville (a city I was about to start working with as part of my Code for America fellowship),
- to learn some geovisualization techniques.
Two years later, with 211 more locations across 32 countries, I’m looking back at Click That ’Hood and realizing I have learned so much more.
“First time making a pull request — thanks for the opportunity.” — @scottbirdsey, GitHub pull request
I learned how having a fun, small project is a perfect excuse for getting to know that technology or tool you always wanted to learn.
I also learned how to domesticate a small universe of geo formats and some tools needed to make Mr. Mercator happy. (CartoDB has been a fantastic resource and so was QGIS, helping us convert data between forgotten projections and obscure formats.)
“I noticed that my home town wasn’t represented and wanted to rectify that. I noticed it was super easy to add the city myself, so I decided to just do it.” — Matt Keoshkerian, interview at YongeStreet
I learned about the enormous power of lowering barriers to entry.
Seeing patterns in common problems, I built in basic checks not only so that the app would alert you, but also suggest specific SQL commands you could use to fix the issues.
And while the first locations came from me and other Code for America folks, more and more often I would see strangers just sending in new data files, or even ready-to-deploy code patches that included their cities.
“Great to be able to share this with the city guys that gave me the data. I’m trying to use this as a bit of a lever to get them thinking about making all this data available online.” — @JHKennedy4, GitHub pull request
I learned how easy it can be to open up data.
After seeing many of our collaborators email neighbourhood files never before seen in the wild, I asked the planners of my hometown to share theirs as well. I expected this to be a lengthy, arduous process… but I got the file straight away and put it in the game the same day.
“I saw the Click That ’Hood app and thought it was really cool and then started thinking of other ways it could be used.” — Brendan Babb, private correspondence
I learned that the simpler an idea is, the more flexible it can become.
I fought hard not to add too many bells and whistles; instead, I spent many an hour refining and polishing what we had. Later on that simplicity allowed Click That ’Hood to expand from a neighbourhood game and cover boroughs, cantons, provinces, states, and even countries (so that unfortunate name makes even less sense…).
There’s now historical data, such as countries in Europe in 1914, or American states and territories A.D. 1810. There are governorates of Oman, and prefectures of Japan. Not to mention London Underground tube stations, cities of Silicon Valley, vista points in California, major airports, and… American amusement parks. Among many, many other things.
“I say this only half in jest, but if left to me I would have one of the upcoming mayoral debates dedicated to having all the sundry candidates play this game in real time before a live studio audience.” — C. Briem, Nullspace
I learned how you don’t need to know everything to build something.
The day I started working on Click That ’Hood, I was still confused about which number was latitude, and which longitude. During the early days, I just cobbled together enough magic for the game to barely work, and then slowly kept improving it as needed — instead of waiting to figure out everything and predict all the possible outcomes before even starting. What happened later:
- Oakland was the first location with a crazy number (131) of neighbourhoods — so only then I added a small UI for the player to choose between 20 (regular mode) or all (crazy mode).
- As we added the first bilingual location, Moscow, I built in a little UI to choose, and remember, your language preferences. Later on, we reused the same UI for locations in China and Japan, but also… for a very different purpose.
- Oceania had a lot of islands, so I added auto-padding in order to make it not impossible to click on them.
- Eventually, I added support not just for shapes, but also points (which are tricky since they can overlap). It all started with parks in Chicago, but is now used many other options: from Caltrain stations in Silicon Valley to world’s fastest steel roller coasters.
- Some most recent locations (such as American theme parks) give you additional info so you can learn something extra as you’re guessing!
- The most common complaint was that the game showed tooltips with neighbourhood names as you hovered over them — and that seemed like cheating. However, I also knew that no tooltips made the game so much more hard and less fun for newcomers! I didn’t want to add another visible option, but eventually, I figured out a heuristic that would only start showing tooltips as you got slower, so that “power users” could beat their times without any help, and others would not suffer for too long.
“I work at a university center for community engagement, and will share this with students. It might be a fun way for them to get oriented with the city’s neighborhoods.” — Bridget A. Smith, private correspondence
I learned about generosity of open source and civic hacking communities.
Many of the Code for America Fellows contributed their knowledge and experience to Click That ’Hood. People at Mapbox were incredibly helpful when we decided to switch to their mapping engine. I never heard “stupid” even when asking stupid questions, and I was constantly amazed by the willingness of people donating their time to the little folly project.
And the little folly project became something bigger. One of our great contributors, Brendan Babb, used Click That ’Hood to recreate the famous map of Indigenous Peoples and Languages of Alaska. A few others used the game in the class with their students. The Knight Lab built a new project, Neighborhood Buzz, based on the neighbourhood boundaries gathered in our game — and other projects and games followed.
Then, journalist David Bauer took Click That ’Hood and created a version of it both smaller and bigger in scope. He decided to limit the game to just one application, but a very important one: countries of Africa. He came up with a catchy title and domain — You Don’t Know Africa.com — and the result was much more popular than the original. David shared his experiences on his blog:
#YouDontKnowAfrica: Learnings from an accidental worldwide internet hit
Little did I expect when, during my latest holiday, I decided I wanted to create some sort of news game. Like with all…
Another day, someone in Pittsburgh wrote us about how the official neighbourhood name he lived in has never been used by its residents. I encouraged him to look into learning GitHub and just making the change himself. Just a few hours later, I received his code change request and the same day, he was able to see his neighbourhood name — Observatory Hill — on the map for the first time in decades.
“[The neighborhood being named incorrectly] has been something that has bugged many of us for decades. And finally glad to see that we are able to do something about it. I know it sounds trivial — but it really means a lot to many of us in the ’hood.” — Mark Masterson, private correspondence
But my most favourite Click That ’Hood-related moment was also the most personal, and vulnerable one, as heartwarming as it was unexpected:
“Dear Coders for America, I have been enjoying the geography game, click that ‘hood! It has been such a helpful exercise for me since I am trying to relearn my geography after abrain injury. Thank you, thank you coders! I just want to request if there are any additional projects, if Asia and Southeast Asia could be added when possible.” — private correspondence
All of the things above notwithstanding, for me personally, it’s been very rewarding to just have a little project to own completely, and return to time and again: polish some UI, bite off another meaty problem, fix a small issue, incorporate requests send in by others.
What will you learn?
Feel free to look at the Click That ’Hood source code, add a new location (perhaps your home city?), or play with the library of 200+ geo files we amassed. Maybe you’ll decide to build something fun, or serious. Maybe some of the things I learned could be useful in your project. Maybe it’ll inspire you to start such a project.
I can’t wait for what next I’ll learn from you.
Or, if none of the above rings true, just play the game. After all, that’s what it’s there for; if you just get better at geography and have fun, that’s all I could ask for.
“I could only spell about 40 United States, and put maybe 5 on a map. I thought that was very difficult for Europeans. Now, I know them all, and can locate them with closed eyes. Delaware, Oklahoma, Rhode Island, Wyoming, New Hampshire — their position is not an abstract riddle, but a simple reality.” — Sabina Milewska, mojewywody.pl