# Anatomy of an online pile-on

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kpewh000mjn06d8eq1v9k
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 22 steps across 2 layers
- Persona: The person at the center, The crowd, News media, Employer or brand
- Technology / systems: The platform

## Pain points

Where this process hurts, worst first:

- **Thousands pile on** (Anatomy of an online pile-on; painful): Fast, loud and mostly strangers
- **The moment ends, but the search results stay** (Anatomy of an online pile-on; painful): The internet remembers long after the crowd has moved on

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## Anatomy of an online pile-on

Lanes:
- The person at the center: person / role (id `person`)
- The crowd: person / role (id `crowd`)
- The platform: technology / system (id `platform`)
- News media: person / role (id `media`)
- Employer or brand: person / role (id `org`)

Steps, in the order they run:

1. **A post, a clip or a quote surfaces** [start; The person at the center; id `o1`]
   - then Someone shares it with an angry caption
2. **Someone shares it with an angry caption** [task; The crowd; id `o2`]
   - then Engagement spikes and the algorithm boosts it
3. **Engagement spikes and the algorithm boosts it** [task; The platform; id `o3`]
   - then Is the original context accurate?
4. **Is the original context accurate?** [decision; The crowd; id `o4`]
   - if "Yes" go to Thousands pile on; if "No — it is misleading" go to Others find the full version and push back
5. **Thousands pile on** [task; The crowd; id `o5`] ⚠ PAIN POINT (painful): Fast, loud and mostly strangers
   - then Outlets write "the internet is furious"
6. **Outlets write "the internet is furious"** [task; News media; id `o6`]
   - then The employer or brand feels pressure
7. **The employer or brand feels pressure** [task; Employer or brand; id `o7`]
   - then How do they respond?
8. **How do they respond?** [decision; The person at the center; id `o8`]
   - if "Apologize" go to An apology: read as sincere, or as scripted; if "Say nothing" go to Silence: it either fades or looks like guilt; if "Double down" go to Doubling down: new fuel for both sides
9. **An apology: read as sincere, or as scripted** [task; The person at the center; id `o9`]
   - then Backlash to the backlash: some people defend them
10. **Backlash to the backlash: some people defend them** [task; The crowd; id `o12`]
   - then Consequences: nothing, a suspension or a firing
11. **Consequences: nothing, a suspension or a firing** [task; Employer or brand; id `o13`]
   - then A new story arrives and attention moves on
12. **A new story arrives and attention moves on** [task; News media; id `o14`]
   - then The moment ends, but the search results stay
13. **The moment ends, but the search results stay** [task; The person at the center; id `o15`] ⚠ PAIN POINT (painful): The internet remembers long after the crowd has moved on
   - then Rebuild, or disappear
14. **Rebuild, or disappear** [end; The person at the center; id `o16`]
15. **Silence: it either fades or looks like guilt** [task; The person at the center; id `o10`]
   - then Backlash to the backlash: some people defend them
16. **Doubling down: new fuel for both sides** [task; The person at the center; id `o11`]
   - then Backlash to the backlash: some people defend them
17. **Others find the full version and push back** [subprocess; The crowd; id `o4a`], opens the detail layer "Checking the context"
   - then Thousands pile on

```mermaid
flowchart LR
  subgraph l_person["The person at the center"]
    n_o1(["A post, a clip or a quote surfaces"])
    n_o8{"How do they respond?"}
    n_o9["An apology: read as sincere, or as scripted"]
    n_o10["Silence: it either fades or looks like guilt"]
    n_o11["Doubling down: new fuel for both sides"]
    n_o15["The moment ends, but the search results stay"]
    n_o16(["Rebuild, or disappear"])
  end
  subgraph l_crowd["The crowd"]
    n_o2["Someone shares it with an angry caption"]
    n_o4{"Is the original context accurate?"}
    n_o4a[["Others find the full version and push back"]]
    n_o5["Thousands pile on"]
    n_o12["Backlash to the backlash: some people defend them"]
  end
  subgraph l_platform["The platform"]
    n_o3["Engagement spikes and the algorithm boosts it"]
  end
  subgraph l_media["News media"]
    n_o6["Outlets write 'the internet is furious'"]
    n_o14["A new story arrives and attention moves on"]
  end
  subgraph l_org["Employer or brand"]
    n_o7["The employer or brand feels pressure"]
    n_o13["Consequences: nothing, a suspension or a firing"]
  end
  n_o1 --> n_o2
  n_o2 --> n_o3
  n_o3 --> n_o4
  n_o4 -->|"Yes"| n_o5
  n_o4 -->|"No — it is misleading"| n_o4a
  n_o4a --> n_o5
  n_o5 --> n_o6
  n_o6 --> n_o7
  n_o7 --> n_o8
  n_o8 -->|"Apologize"| n_o9
  n_o8 -->|"Say nothing"| n_o10
  n_o8 -->|"Double down"| n_o11
  n_o9 --> n_o12
  n_o10 --> n_o12
  n_o11 --> n_o12
  n_o12 --> n_o13
  n_o13 --> n_o14
  n_o14 --> n_o15
  n_o15 --> n_o16
```

### Checking the context (detail of step "Others find the full version and push back")

Lanes:
- The crowd: person / role (id `crowd`)
- The platform: technology / system (id `platform`)

Steps, in the order they run:

1. **Find the original source** [start; The crowd; id `c1`]
   - then Does the full version change the meaning?
2. **Does the full version change the meaning?** [decision; The crowd; id `c2`]
   - if "Yes" go to Post the missing context; if "No" go to The first reading holds
3. **Post the missing context** [task; The crowd; id `c3`]
   - then Add a context label if the platform has one
4. **Add a context label if the platform has one** [end; The platform; id `c5`]
5. **The first reading holds** [task; The crowd; id `c4`]
   - then Add a context label if the platform has one

```mermaid
flowchart LR
  subgraph l_crowd["The crowd"]
    n_c1(["Find the original source"])
    n_c2{"Does the full version change the meaning?"}
    n_c3["Post the missing context"]
    n_c4["The first reading holds"]
  end
  subgraph l_platform["The platform"]
    n_c5(["Add a context label if the platform has one"])
  end
  n_c1 --> n_c2
  n_c2 -->|"Yes"| n_c3
  n_c2 -->|"No"| n_c4
  n_c3 --> n_c5
  n_c4 --> n_c5
```

## Full data (JSON)

```json
{
  "title": "Anatomy of an online pile-on",
  "maps": {
    "m_ctx": {
      "id": "m_ctx",
      "lanes": [
        {
          "id": "crowd",
          "name": "The crowd",
          "type": "person"
        },
        {
          "id": "platform",
          "name": "The platform",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "c1",
          "kind": "start",
          "lane": "crowd",
          "next": [
            {
              "to": "c2"
            }
          ],
          "uses": [],
          "label": "Find the original source"
        },
        {
          "id": "c2",
          "kind": "decision",
          "lane": "crowd",
          "next": [
            {
              "to": "c3",
              "label": "Yes"
            },
            {
              "to": "c4",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does the full version change the meaning?"
        },
        {
          "id": "c3",
          "kind": "task",
          "lane": "crowd",
          "next": [
            {
              "to": "c5"
            }
          ],
          "uses": [],
          "label": "Post the missing context"
        },
        {
          "id": "c4",
          "kind": "task",
          "lane": "crowd",
          "next": [
            {
              "to": "c5"
            }
          ],
          "uses": [],
          "label": "The first reading holds"
        },
        {
          "id": "c5",
          "kind": "end",
          "lane": "platform",
          "next": [],
          "uses": [],
          "label": "Add a context label if the platform has one"
        }
      ],
      "title": "Checking the context",
      "parent": {
        "map": "m_root",
        "step": "o4a"
      }
    },
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "person",
          "name": "The person at the center",
          "type": "person"
        },
        {
          "id": "crowd",
          "name": "The crowd",
          "type": "person"
        },
        {
          "id": "platform",
          "name": "The platform",
          "type": "system"
        },
        {
          "id": "media",
          "name": "News media",
          "type": "person"
        },
        {
          "id": "org",
          "name": "Employer or brand",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "o1",
          "kind": "start",
          "lane": "person",
          "next": [
            {
              "to": "o2"
            }
          ],
          "uses": [],
          "label": "A post, a clip or a quote surfaces"
        },
        {
          "id": "o2",
          "kind": "task",
          "lane": "crowd",
          "next": [
            {
              "to": "o3"
            }
          ],
          "uses": [],
          "label": "Someone shares it with an angry caption"
        },
        {
          "id": "o3",
          "kind": "task",
          "lane": "platform",
          "next": [
            {
              "to": "o4"
            }
          ],
          "uses": [],
          "label": "Engagement spikes and the algorithm boosts it"
        },
        {
          "id": "o4",
          "kind": "decision",
          "lane": "crowd",
          "next": [
            {
              "to": "o5",
              "label": "Yes"
            },
            {
              "to": "o4a",
              "label": "No — it is misleading"
            }
          ],
          "uses": [],
          "label": "Is the original context accurate?"
        },
        {
          "id": "o4a",
          "kind": "subprocess",
          "lane": "crowd",
          "next": [
            {
              "to": "o5"
            }
          ],
          "uses": [],
          "child": "m_ctx",
          "label": "Others find the full version and push back"
        },
        {
          "id": "o5",
          "kind": "task",
          "lane": "crowd",
          "next": [
            {
              "to": "o6"
            }
          ],
          "pain": {
            "note": "Fast, loud and mostly strangers",
            "level": 2
          },
          "uses": [],
          "label": "Thousands pile on"
        },
        {
          "id": "o6",
          "kind": "task",
          "lane": "media",
          "next": [
            {
              "to": "o7"
            }
          ],
          "uses": [],
          "label": "Outlets write \"the internet is furious\""
        },
        {
          "id": "o7",
          "kind": "task",
          "lane": "org",
          "next": [
            {
              "to": "o8"
            }
          ],
          "uses": [],
          "label": "The employer or brand feels pressure"
        },
        {
          "id": "o8",
          "kind": "decision",
          "lane": "person",
          "next": [
            {
              "to": "o9",
              "label": "Apologize"
            },
            {
              "to": "o10",
              "label": "Say nothing"
            },
            {
              "to": "o11",
              "label": "Double down"
            }
          ],
          "uses": [],
          "label": "How do they respond?"
        },
        {
          "id": "o9",
          "kind": "task",
          "lane": "person",
          "next": [
            {
              "to": "o12"
            }
          ],
          "uses": [],
          "label": "An apology: read as sincere, or as scripted"
        },
        {
          "id": "o10",
          "kind": "task",
          "lane": "person",
          "next": [
            {
              "to": "o12"
            }
          ],
          "uses": [],
          "label": "Silence: it either fades or looks like guilt"
        },
        {
          "id": "o11",
          "kind": "task",
          "lane": "person",
          "next": [
            {
              "to": "o12"
            }
          ],
          "uses": [],
          "label": "Doubling down: new fuel for both sides"
        },
        {
          "id": "o12",
          "kind": "task",
          "lane": "crowd",
          "next": [
            {
              "to": "o13"
            }
          ],
          "uses": [],
          "label": "Backlash to the backlash: some people defend them"
        },
        {
          "id": "o13",
          "kind": "task",
          "lane": "org",
          "next": [
            {
              "to": "o14"
            }
          ],
          "uses": [],
          "label": "Consequences: nothing, a suspension or a firing"
        },
        {
          "id": "o14",
          "kind": "task",
          "lane": "media",
          "next": [
            {
              "to": "o15"
            }
          ],
          "uses": [],
          "label": "A new story arrives and attention moves on"
        },
        {
          "id": "o15",
          "kind": "task",
          "lane": "person",
          "next": [
            {
              "to": "o16"
            }
          ],
          "pain": {
            "note": "The internet remembers long after the crowd has moved on",
            "level": 2
          },
          "uses": [],
          "label": "The moment ends, but the search results stay"
        },
        {
          "id": "o16",
          "kind": "end",
          "lane": "person",
          "next": [],
          "uses": [],
          "label": "Rebuild, or disappear"
        }
      ],
      "title": "Anatomy of an online pile-on",
      "parent": null
    }
  }
}
```
