folkjs

@folkjs.org

A research lab by @orionreed.com and @chrisshank.com exploring radically different directions that we can interface with the web. Website: https://folkjs.org/ Github: https://github.com/folk-js Sponsor our work: https://github.com/sponsors/folk-js

The nascent HTML-in-Canvas API is exciting to me not because of flashy effects, but because it extends the semantics that the DOM can (tractably) represent — as a tiny example, it's possible to show an element in multiple places, cheaply, under arbitrary transforms. folkjs.org/demos/html-i...

Wrote a mini-essay, "Digital Topology & Economic Power", on how the file went from a site of user agency to one of enclosure — through proprietary formats, data internalization, then the cloud. Each step bundling real gains with a quiet transfer of power. www.orionreed.com/posts/app-fi...

Digital Topology & Economic Power

The autonomous file, once the basic unit of user agency in personal computing, was first hollowed out through proprietary formats and data internalization, then abolished entirely by cloud platforms, ...

orionreed.com

What are your favorite visual critiques of software? On my mind right now are: 1. "The long tail of user needs" 2. diSessa's monolithic apps vs computational media 3. (a recent favorite by @todepond.com) "wish these apps could talk to each other"

BildBildBild

It's so so wild what a weird universal man machine interface the world has actually gotten: ARIA tags in DOM. And it should come as little surprise (given the engineers inability to abstract their own universal communication protocols) that it becomes the #m2m system too.

Simon Willison@simonwillison.net · 10mo ago

It's neat to see them encourage developers to add ARIA tags to pages though, an "agent" can be thought of as effectively another form of assistive technology

There was one other detail in the announcement post that caught my eye:

    Website owners can also add ARIA tags to improve how ChatGPT agent works for their websites in Atlas.

Which links to this:

    ChatGPT Atlas uses ARIA tags---the same labels and roles that support screen readers---to interpret page structure and interactive elements. To improve compatibility, follow WAI-ARIA best practices by adding descriptive roles, labels, and states to interactive elements like buttons, menus, and forms. This helps ChatGPT recognize what each element does and interact with your site more accurately.

A neat reminder that AI "agents" share many of the characteristics of assistive technologies, and benefit from the same affordances.

What would it look like if accessibility infrastructure became the foundation of malleable computing? Here's a demo by @orionreed.com that adversarially adds find and replace functionality to a hermetically sealed messaging app.

Really enjoyed "Live Programming in Hostile Territory" by @chrisshank.com and @orionreed.com: folkjs.org/live-2025/ They are doing some great stuff with @folkjs.org, y'all should check it out.

We believe free addressability—a term we adopt from Basman et al. 8—is key to enabling outward-facing integration and moving beyond success-by-domination strategies. Free addressability embraces transparent, publicly addressable state through queries, selectors, names, or other mechanisms that make parts of a running system targetable from the outside without requiring permission or coordination from the original creators, seeking to "maximally advertise the structure of the application via a transparent addressing scheme" 8.

Our adversarial strategies exploit the fact that user interfaces often expose more addressable surfaces than the underlying program—through DOM elements, accessibility trees, and visual components. This disparity creates crucial leverage points for live programming interventions, allowing us to exploit addressability where it exists and demonstrating where additional addressability would be beneficial. These addressable surfaces provide the basis for working in hostile territory by offering ways to situate live programming capabilities within environments that were never designed to accommodate them.
folkjs@folkjs.org · 12mo ago

Notes from the Lab - June & July 2025 github.com/folk-js/folk... A packed month of explorations, we wrote a paper, DOM sync, Desktop Interlay, DOM interactions and instruments, HTML pipes, HTML attributes for syntax highlighting, LSPs, and reordering lists, and much more!

I quite like the framing that my research explores what HTML6 would look like if HTML had computational media instead of limiting itself to just being hypermedia. Check out what that looks like in our latest research notes for @folkjs.org!

folkjs@folkjs.org · 12mo ago

Notes from the Lab - June & July 2025 github.com/folk-js/folk... A packed month of explorations, we wrote a paper, DOM sync, Desktop Interlay, DOM interactions and instruments, HTML pipes, HTML attributes for syntax highlighting, LSPs, and reordering lists, and much more!

Notes from the Lab - June & July 2025 github.com/folk-js/folk... A packed month of explorations, we wrote a paper, DOM sync, Desktop Interlay, DOM interactions and instruments, HTML pipes, HTML attributes for syntax highlighting, LSPs, and reordering lists, and much more!

Notes from the Lab - June & July 2025 github.com/folk-js/folk... A packed month of explorations, we wrote a paper, DOM sync, Desktop Interlay, DOM interactions and instruments, HTML pipes, HTML attributes for syntax highlighting, LSPs, and reordering lists, and much more!