One of the main things we hope Noiszy will accomplish is driving a conversation about algorithms and how they should be made to function responsibly.  Transparency is an important element of this.  To that end, here's a description of how Noiszy makes its decisions about where it takes you.  We'll keep this in plain English, but show the code structure at the same time.

  1. User chooses which sites to enable (from Noiszy's list).
  2. User clicks Start.
  3. Noiszy randomly chooses a site from the list and visits it.
  4. Noiszy waits (about 1 minute).  To web tracking tools, this looks like a "real" pageview.
  5. Noiszy clicks a link, by doing the following:
    1. Get a list of all links on the current page that match the following criteria:
      1. It's an on-site link (doesn't point to a different domain, a Javascript function, or an email address)
      2. It doesn't open in a new window (nobody likes popups)
    2. Choose a random item from the list and click it.
  6. Noiszy waits (about 1 minute, again) and then chooses what to do next, basically by rolling a virtual die:
    1. In 1/4 of the cases, Noiszy chooses a new site from the list (going back to step 3)
    2. In 3/4 of the cases, Noiszy chooses a new on-site link (going back to step 5)
  7. This continues until the user closes the tab or clicks Stop (on the Noiszy popup/options page).

*It's worth mentioning that on step 5.1, it's possible for an onsite link to redirect to a different domain - for example, on a.com, a link to a.com/follow-on-twitter could redirect to twitter.com/a_com, ultimately taking the user to a different domain.  We try to minimize this, but it can happen.