Connected components

I’m starting to sketch out an idea for a collaborative web project. It’s still a bit vague, but here’s the basic idea:

You go to a web page and you see that it is divided into little squares. In each square some activity is happening, and this activity can affect that square’s neighboring squares. For example, one square might eject a red ball or squirt some paint to its right, and the next square over then does something in response to that.

Here’s the thing: Each of these squares can be authored by anybody in the community. Each author is working with the same API, which ensures that objects and actions can cross boundaries. But other than that, everything is up for grabs.

For example, an author might implement their little square to use some sort of crowd sourcing — what it does depends on stock market prices, or on how many people click YES or NO in some on-line game (which could be written just for this purpose), or with other instances of itself on other web pages.

There can even be wild-card actions. For example, a square might respond to something by swapping its position on the page with one of its neighbors. In this way squares might even be programmed to travel around the page, finding friends.

Any square you author becomes available to everyone else in the community as a component in a kit, so people can create their own web pages by snapping a few (or a lot) together in some novel way, and seeing what happens.

I’m starting to play with prototypes in HTML5, so that this can run everywhere. I’d be happy if someone wanted to collaborate. 🙂

2 thoughts on “Connected components”

Leave a Reply

Your email address will not be published. Required fields are marked *