Reading note

Media comes down. Your input goes up.

This page explains the idea. The working demo is on colorbars.dev.

The machine sends picture and sound. You watch them. Watching does not send your buttons back.

You publish too. A press, or a turn of the wheel, becomes a small JSON object on its own stream.

The machine chooses which of those objects to read. Picture and the object share a clock, so a press can line up with a frame. On a tight link, the input goes out before the picture.

The demo path is /controls. The alias /learn/controls on colorbars.dev is the same page.

Picture down, input up

  1. 01 · PictureYou watch
  2. 02 · InputYou publish too
  3. 03 · ObjectA press is JSON
  4. 04 · ChooseThe machine picks

Picture and sound

You watch what the machine sends.

Video and audio come down to you. Watching that stream does not send anything back.

Your stream

Input travels the other way.

There is no return path on the picture stream. You publish your own stream, and your input rides on that.

JSON

A press becomes a small object.

A held button is true. A wheel writes numbers. You choose the shape.

{ "a": true }

Who is read

The machine chooses what to read.

It can read every object, one object, or none. Each object stays separate. Picture and the object share a clock.

Partners

The open stack is at moq.dev. moq.pro is a separate host. We build our own tools on top of their work. We don't run those sites.

Sources

  • MoQ Boy. Picture and sound come down. Your input goes up. moq.dev/boy
  • kixelated, “MoqBoy,” moq.dev, 16 April 2026. A viewer publishes a controls stream. A press writes JSON. The application chooses who to read. moq.dev/blog/moq-boy
  • kixelated, “Cars 2,” moq.dev, 14 July 2026. Controls, audio, other timed data, and video share one connection and one clock. moq.dev/blog/cars2
  • The working demo is colorbars.dev/controls. The alias /learn/controls is the same page. Events stays signed in.