Skip to content

chore(brand): remove web3 jargon and em-dashes across docs#132

Merged
marc0olo merged 4 commits into
mainfrom
infra/remove-web3-jargon
Apr 23, 2026
Merged

chore(brand): remove web3 jargon and em-dashes across docs#132
marc0olo merged 4 commits into
mainfrom
infra/remove-web3-jargon

Conversation

@marc0olo
Copy link
Copy Markdown
Member

Summary

  • Em-dashes removed across all editable docs (~1,400 replacements, 78 files). Per brand guidelines: replaced with colons, periods, or parentheses depending on context. N/A table cells converted to hyphens.
  • Web3 jargon cleaned up:
    • Card title "Web-native smart contracts" → "Onchain web apps"
    • canisters.md description and opening sentence no longer call canisters "smart contracts" (kept the comparison section, which is educationally accurate)
    • chain-key-tokens.mdx: "ICP smart contracts" → "ICP canisters" (2 instances)
    • network-overview.md: "run smart contracts (canisters)" → "run canisters"
    • quickstart.md: removed "smart contracts that run on the Internet Computer" parenthetical
    • chain-fusion.md: "Decentralized oracle" → "Trustless oracle"
    • choose-your-path.md: "fully decentralized application" → "tamperproof application"
    • glossary.md: removed "seamlessly" from boundary-nodes definition
  • "dapp/dApp" → "app" in all prose (~94 replacements). Preserved in Candid field names (RegisterDappCanisters, DeregisterDappCanisters), API identifiers, and the glossary term definition itself.

Preserved without changes (technically accurate or synced):

  • smart contract in all cross-chain comparison contexts (Ethereum contracts, EVM contracts, etc.)
  • smart contract in the glossary definition and canisters.md comparison section
  • decentralize/decentralization in SNS context (it's what the SNS literally does)
  • blockchain when referring to other chains (Bitcoin, Ethereum, etc.)
  • DeFi in DeFi-specific guides
  • workload as a technical CS term in optimization/perf guides
  • Auto-synced files: docs/languages/motoko/, migrating-from-dfx.md
  • Protocol specs: ic-interface-spec.md, internet-identity-spec.md, candid-spec.md

Sync recommendation

hand-written

Per ICP brand guidelines:

- Replace all em-dashes (—) with colons, periods, or parentheses across
  all editable docs (78 files, ~1400 substitutions)
- Remove "seamlessly" from glossary boundary-nodes definition
- Change "Web-native smart contracts" card title → "Onchain web apps"
- Replace "smart contract" when used as the primary descriptor for ICP
  canisters (canisters.md, network-overview.md, chain-key-tokens.mdx);
  keep in cross-chain comparisons where technically accurate
- Replace "dapp/dApp/dapps" → "app/apps" in all prose; preserve Candid
  field names (RegisterDappCanisters, DeregisterDappCanisters, dapps:)
  and the NNS product name
- Change "Decentralized oracle" → "Trustless oracle" in chain-fusion.md
- Remove "fully decentralized application" pitch from choose-your-path.md
- Fix N/A em-dash table cells → hyphens (chain-fusion, ethereum, protocol)
- Fix "a dapp" → "an app" article agreement throughout

Excluded from changes (synced or spec files):
- docs/languages/motoko/ (auto-synced)
- docs/guides/tools/migrating-from-dfx.md (synced from icp-cli)
- docs/reference/ic-interface-spec.md (protocol spec)
- docs/reference/internet-identity-spec.md (protocol spec)
- docs/reference/candid-spec.md (protocol spec)
- docs/reference/glossary.md "smart contract" and "dapp" entries (definitions)
Pre-existing violations surfaced because both files were touched in the
em-dash pass. Reword explanation prose to avoid the banned string while
preserving the meaning.
Comment thread docs/concepts/canisters.md Outdated
Canisters are the compute units of the Internet Computer. Each canister bundles compiled WebAssembly code with its own persistent state into a single unit that the network executes, replicates, and secures. You deploy code to a canister, send it messages, and the network guarantees that every honest node in the subnet reaches the same result.

Unlike smart contracts on most blockchains, canisters can serve web pages over HTTP, store gigabytes of data, make calls to external APIs, sign transactions on other chains, and run scheduled tasks autonomously all without external infrastructure.
Unlike smart contracts on most blockchains, canisters can serve web pages over HTTP, store gigabytes of data, make calls to external APIs, sign transactions on other chains, and run scheduled tasks autonomously, all without external infrastructure.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we replace "unlike smart contracts on most blockchains" somehow? I think at least the term "smart contract" can be removed. maybe it can be rephrased entirely without losing the meaning.

Comment thread docs/guides/governance/testing.md Outdated
```bash
icp canister call sns_root list_sns_canisters '(record {})' -e ic
# Expected: your dapp canisters listed under "dapps"
# Expected: your app canisters listed under "apps"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the field in the response is actually dapps as defined in the candid interface. we should not make wrong claims.

please check other places for potential wrong renames, too.

Comment thread docs/guides/security/encryption.md Outdated
- Portal: building-apps/network-features/vetkeys/ (9 files: intro, API, BLS-signatures, DKMS, encrypted-storage, IBE, timelock, VRF, demos)
- icskills: vetkd
- Examples: vetkd (both), vetkeys (both), encrypted-notes-dapp-vetkd (both), filevault (Motoko)
- Examples: vetkd (both), vetkeys (both), encrypted-notes-app-vetkd (both), filevault (Motoko)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we cannot change the name of an example here. this is currently just a stub anyway that we need to populate soon.

Copy link
Copy Markdown
Member Author

@marc0olo marc0olo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please address the comments

- canisters.md: rephrase 'Unlike smart contracts on most blockchains' to 'Unlike programs on most other blockchains'
- encryption.md: revert encrypted-notes-dapp-vetkd (real example repo name, must not change)
- testing.md: revert dapp canisters / dapps field name (actual Candid field in SNS response)
@marc0olo
Copy link
Copy Markdown
Member Author

Feedback addressed:

  • canisters.md:10: Rephrased "Unlike smart contracts on most blockchains" → "Unlike programs on most other blockchains" to remove the banned term while keeping the comparative meaning.
  • encryption.md:16: Reverted encrypted-notes-app-vetkd back to encrypted-notes-dapp-vetkd (real example/repo name, must not be renamed).
  • testing.md:270: Reverted comment to # Expected: your dapp canisters listed under "dapps" to match the actual Candid field name in the SNS response. Also audited other governance files — the remaining "app canisters" usages in launching.md and managing.md are general descriptions (not references to Candid fields), so those are correct as-is.

@marc0olo
Copy link
Copy Markdown
Member Author

Feedback addressed:

  • concepts/canisters.md:10: Rephrased "Unlike smart contracts on most blockchains" → "Unlike programs on most other blockchains"
  • guides/security/encryption.md:16: Reverted encrypted-notes-app-vetkdencrypted-notes-dapp-vetkd (real example repo name)
  • guides/governance/testing.md:270: Restored Candid field name "dapps" while keeping "app canisters" in the prose comment

@marc0olo marc0olo merged commit d6b4952 into main Apr 23, 2026
2 checks passed
@marc0olo marc0olo deleted the infra/remove-web3-jargon branch April 23, 2026 15:23
marc0olo added a commit that referenced this pull request Apr 24, 2026
## Summary

- Replaces all prose and link-list ` -- ` patterns with `:` across 10
docs pages
- Follows ICP brand guidelines (no em-dashes or em-dash substitutes)
- Consistent with the prior cleanup in PR #132

## Files changed

- `docs/guides/index.md`, `docs/concepts/index.md`,
`docs/reference/index.md`, `docs/languages/index.md` — index page link
lists
- `docs/getting-started/choose-your-path.md` — link lists and one prose
sentence
- `docs/getting-started/project-structure.mdx` — "Next steps" link list
- `docs/concepts/orthogonal-persistence.md` — prose and link lists
- `docs/guides/canister-calls/onchain-calls.mdx` — prose and "Next
steps" link list
- `docs/guides/canister-management/settings.mdx` — definition terms and
link list
- `docs/guides/frontends/asset-canister.md` — field definitions and link
list

## Left unchanged (legitimate uses)

- Shell end-of-options `--` in code blocks (`bazel run`, `sh -s`)
- Pseudocode comment notation in `certified-variables.md` and
`certification.md`
- Table N/A cells in `token-standards.md`
- Stub placeholder pages (`vetkeys.md`, `encryption.md`)
- Auto-synced Motoko changelog

## Sync recommendation

hand-written
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant