TOOBS

TOOBS - Trojan Online Offense Bulletin System

Go to TOOBS!

TOOBS is available at toobs.tlrobinson.net.

What is TOOBS?

TOOBS is an interface to search and visualize every incident reported to USC's Department of Public Safety. The goal is to keep members of the USC community better informed about crimes which occur in the area. It was originally created for a 24 hour programming contest held by the USC chapter of Upsilon Pi Epsilon, called P.24.

Why "TOOBS"?

The task of P.24 was to write an application in 24 hours somehow related to the given topic: "tubes". This theme was chosen by UPE in response to Senator Ted Steven's comments in 2006 about the Internet not being like a "dump truck" but actually a "series of tubes".

So we had to come up with something related to "tubes". Most people chose to do a game involving tubes or a network application that uses the "tube" metaphor. We simply made an acronym that sounds like "tubes".

Technical Details

Internally, TOOBS is quite complex, like... uh... a series of tubes:

Back-end

  1. The data originates on USC DPS's website as a set of PDF files containing incident summaries for each day.
  2. The previous day's PDF is downloaded via an HTTP request using a Ruby script.
  3. The resulting PDF file is passed to a PDF parser, which returns a plain text string representation of.
  4. The plain text is then parsed using numerous regular expressions and string manipulation functions.
  5. Each resulting incident is stored to a relational database using the Ruby ActiveRecord library.
  6. Each location must be geocoded once to show up on the map.

In addition to the DPS reported incidents, TOOBS now features data from a similar site run by the Los Angeles Police Department.

User Interface

  1. The user visits the TOOBS site and retrieves an HTML page along with JavaScript.
  2. The user uses the interface to query the incidents based on a number of parameters.
  3. An "AJAX" request is sent to the web server, where a PHP script queries the database for matching incidents.
  4. An XML response in created, which includes a list of crimes, their locations, crime density information, and graph information.
  5. The JavaScript updates the data on the page, including an embedded map using the Google Map API, and a density map using the GeoIQ API.

Press and Awards

  1. TOOBS won the "Most Useful" award at P.24.
  2. TOOBS is featured on GeoIQ's Demo Gallery.

comment ^