####Check it out: FBomb.co #####See where in the world the “F Bomb” is being dropped on Twitter #####Retweets on Twitter @Fbomb_co

Built using:          

This is an interactive map that shows where people are using the F-word on Twitter.

I created this application to expand my development skills and to tinker with some public APIs.

###Live Demo:

<object data=http://www.fbomb.co width=”100%” height=”600px”> <embed src=http://www.fbomb.co width=”100%” height=”600px”> </embed> www.fbomb.co </object>

###Inspiration My inspiration for this application actually came from a discussion I had with two colleagues of mine while doing co-op at BlackBerry, Ryan Seys and Elliott Ro. We were talking about how people misuse and abuse the english language. As the conversation devolved swearing was brought up. In particular we talked about how swearing can completely undermine ones argument. Earlier that day we had been talking about the personal projects we were working and, somehow at this point we circled back to that topic. From there our conversation wound it’s way to how it’d be neat to map where people swear. Within a few minutes and iterations of ideas the concept for the app was born.

###Launch It took me a few months to get around to coding this application, I originally wrote using Ruby on Rails however ended up re-writing it using CoffeeScript on Node.JS. I wrote it over the weekend of October 19th - 20th and published it that Sunday.

###Reaction Overall this app has gotten a positive reaction, some people have different ideas of how it should have been implemented (other languages, customizable, etc.). However, I believe that many of those changes would detract from the actual intent of the app.

I am surprised by how wide spread the attention has been for for this website, however I agree that it is pretty entertaining and, in my humble opinion worth the 30-60 seconds it generally receives.

###Privacy In the world we live in today I understand how this app could be potentially frightening, particularly because of how it clearly demonstrates how simple it is to pinpoint individuals solely based on their message. These fears are justified, however my app does not attempt to exploit/invade anyone’s privacy.

The way I designed my site was such that it has no persistent data. On the server itself the tweets are cached for about a max of 10 seconds then erased. Re-tweets on the site’s Twitter feed will disappear if the original post is deleted. Lastly, client side data is only kept in the view, the objects passed back are periodically cleared as well.

###Technical Stuff ####This project is all open-sourced under the The MIT License and available here This site was originally written Ruby on Rails, see the code. However as I publishing it I started to have issues with the tweet stream gem I was using. Since I didn’t really need any of the benefits of using Rails for this project, I opted to re-write the server in a framework I’m more comfortable with.

I did my initial re-write using JS on Node.js. This didn’t take too long since I already had much of the logic figured out from my work with rails. Therefore, I decided to push myself and attempt to re-write it in CoffeeScript.

This experimentation ended up working out really well. The syntax for CoffeeScript is quick to learn and much more fun to write that vanilla JavaScript. If you are interested, the original server (in JS) is still in my Github for this project, in addition to the CoffeeScript.

Please feel free to peruse my code and check out the site, if you have any suggestions I would love to hear it.

I have made this project as simple as possible to clone by open-sourcing the code and providing instructions. See it here: http://github.com/mgingras/fBomb

The actual site has drifted away from the original concept, and not all of these could, or should be in both sources (see change-log below). The current(ish) code is still all available here - And of course, if you haven’t seen it, check out the site

Changes since initial completion:

  • I added code to capture tweets tagged with a ‘Place’ that will hopefully cause more tweets to appear. Most of these tweets use a bounding box, their location is mapped at the center of that box.

  • Now using the coordinates tag instead of the geo tag as the primary mapping coordinate, since the geo tag is being deprecated.

  • I have added a Twitter account, @Fbomb_co, which will sporadically re-tweet “F-Bombs”.

  • Switched client/server communication to use WebSockets instead of GET(s) on an interval.

  • Cleaned up the UI and made pop-up more informative

Send me an email with any suggestions!!


CNET Hacker News
The Washington Post LA Times
The Vancouver Sun TopNews Arab Emirates
Mail Online Gizmodo
New York Post Gigazine
NBC NY Daily News
The Ottawa Citizen The Charlatan
Kurir Complex: City Guide
Complex: Tech iefinmerida
India Today Wall Street Insanity
GeekOSystem Uproxx
24sata Lauging Squid
Muck Rack Elite Daily
Think Defence Google Maps Mania
The Times of India The Scotsman
brain magazine VIDGET
The Daily Dot deadline
The Times Scotland Bachelor
SvD Kultur Stara
Twittermania International Business Times

MADE WITH LOVE BY Martin Gingras