...what's happening in the hood

  Contagion is a location-based messaging/information sharing application based on 2 concepts:
  1. The closer the information source, the more useful the information.
  2. Information is infectious; the more useful the information, the faster it spreads and the more respected the source gets.

The most compelling argument for Contagion follows from what can best be described as “irrelevant information overload”. The Internet provides a global platform, and the cliché “global village” comes to mind. Through the Internet, a user in Lagos, Nigeria can be aware of goings-on around the streets of Brooklyn, New York. But then the question is, of what use is this information to the user in Lagos? How much impact does this information have on the user’s life?

The aim of Contagion is to serve a user with information that will most likely have an impact on his life. In other words, Contagion aims to bring information closer to home. Information is varied but Contagion currently serves 7 template categories (which may expand in the future).

For instance, useful information might be about an armed robbery in progress, a traffic accident or traffic situation, an event or party (or other social activities), et cetera.


  1. A new user registers on the first time the application is launched.
  2. The root of the application consists of 5 tabs – Home, New Message, Lists, Settings and User Profile.
  3. The ‘Home’ tab presents a summary of statistics of the user’s associated messages.
  4. The ‘New Message’ tab obviously provides the user with the facility to add new messages.
  5. The ‘Lists’ tab displays the various categories of messages associated with the user – sent, received, read, incoming and requests.
  6. The “Settings” tab provides several functions to alter the default behavior of the application –
  1. The polling interval for updating messages.
  2. The page size (number of messages per page).
  3. The subscribed message categories (default is all categories).
  1. The user reputation defines how much respect the user is given. The reputation is separated into the positive aspect and the negative aspect. By default (for a new user) both reputation aspects are zero. The cumulative reputation determines how infectious a user’s messages are. By default, a new user (with a cumulative reputation of 0) will reach an initial 10% of proximate users (users within the same zone as the user in question). With a higher cumulative reputation, the sender reaches a higher initial percentage.
  2. New messages are shown in the “Incoming” list of messages.
  3. When a message is opened (read), the message is moved into the “Read” list of messages. Simultaneously, the message is spread to more users using the initial sender’s reputation strength. This has the effect of reaching an exponential number of recipients until a “saturation point” is reached. When the “saturation point” is reached, the infection to jump to surrounding zones. Reading a message also increases the positive reputation of the sender.
  4. A message can be deleted with or without increasing the negative reputation of the sender (at the discretion of the recipient). When a message is deleted after being read, the sender is not penalized. Deleting a message without reading provides negative feedback.
  5. Reputation is not only a measure of the message sending power of a user; it is also a currency. In the future, Contagion will allow a user to trade in reputation points for cash (“Cashing in”).
  6. Messages can be merged. The process of merging messages starts with a user sending a merge request to another user (who already has a related message and of the same message category). The advantage of merging messages is, from the merge point onwards, all owners of the message will receive positive (or negative) feedback which is highly desirous if the message is very popular. Therefore a user with a less popular message can request a merger with a more popular and related message for the purpose of receiving more positive reputation. This feature is not yet fully supported.