Mods

Mods are just files. An open, readable format for changing any app or website. Safe by design, undoable by construction, yours to build on.

YouTube search results as they came, Shorts shelf and all

The shape

Every change in Modfare, asked for in plain words or written by hand, is a small JSON mod: who made it, which sites it’s for, and a list of steps. The reference runner, mod.js, is about 300 lines with no dependencies, and it runs the demo on the home page.

{
  "modfare": "0.1",
  "id": "spoiler-shield",
  "name": "Spoiler shield",
  "by": "@pixelpip.modfare.com",
  "about": "Posts that mention the finale stay folded away.",
  "for": ["*"],
  "asks": ["read-page"],
  "steps": [
    { "do": "lens", "use": "words", "on": "article",
      "with": { "words": ["finale", "ending"] } }
  ]
}

Steps

Seven kinds of step in version 0.1, applied in order. Every one marks or styles the page and none removes anything, so every mod can be undone exactly. Nothing is ever deleted.

doWhat it doesNeeds
hideFolds matching parts away; the page closes up around themon
keepOf the parts in on, keeps only those matching whereon, where
styleSets allowed properties: size, spacing, colour, fonts, widthon, set
themeApplies a skin: night, paper, contrast or arcadeuse
renameSwaps words in the page’s text, never in what people typeon, find, say
stillStops animation and autoplayon
lensAsks a lens to judge each part, and hides what it flagsuse, on, with

Lenses

A lens judges one piece of a page at a time. The contract comes from Modfare’s page engine, which also runs in Chrome and Android (not yet launched): prepare(settings) once, test(piece, prepared) for each post, pure and on the device. Which lens said hide is never passed on.

LensJudgesState
wordsWhole words and hashtags you listWorking
topics13 topics, with exceptions and disguised spellingsBuilt
picturesWhat a picture shows, with a small model on the deviceBuilt
readingReading ease: hard paragraphs rewritten on the deviceNext

Safety rules

  • No network. asks can only be read-page or read-pictures.
  • No code. There is no step that runs script, and values can’t contain url(), @import, braces or javascript:.
  • A short list of properties: how things look, never where links go.
  • Never what people type: inputs, text boxes and editable areas are skipped.
  • Plain English: problems are explained so anyone can fix their own mod.

All of it is checked in modfare/test/mod.test.js.

Check one now

Edit the mod and it’s checked as you type. A good one runs on the little preview beside it.

Load one:

Orla · family

Lunch on Sunday? Bringing the good bread.

Glowmax · Sponsored

Upgrade your mornings.

Leaders Weekly

Let’s leverage our learnings and circle back to synergise.

Local-first

Mods, spaces and apps live on your device first and sync between your devices, encrypted. If Modfare disappeared tomorrow, your mods would still be readable files on your disk. That rule is borrowed, with thanks, from Ink & Switch’s local-first software work.

What’s next

WhatState
Mod format 0.1 and the reference runnerWorking
The engine for Chrome and AndroidBuilt, not launched
A JSON Schema and a modfare check commandNext
Reshaping steps: move, add a button, add a fieldNext
Flow steps: triggers, agents, an inboxNext
Spaces: the desktop workspace for Mac and WindowsNext
The format

A mod is a file you can read. It marks the page and never rewrites it, so it can always be undone.

Make the internet yours.

Modfare is in early preview for Mac and Windows. Each download comes with a few mods to start from.