@||@ serendiPd

impromptu networked collaboration

This collection of Pd patches allows multiple users to edit a shared patch at the same time over a network. This opens up many opportunites for interaction and collaboration. The initial inspiration for serendiPd was the idea of pair programming in extreme programming. Add in Zeroconf multicast DNS service advertisement and discovery, (Rendezvous to most people, also known as mDNS-SD), and it makes for impromptu networked collaboration.

For example, a bunch of people show up to jam with their laptops. One of them starts an ad hoc wireless network and advertises a shared_patch. The others turn on their wireless and join that shared_patch and everyone is controlling the same patch.

download serendiPd-0.1.tar.gz

download serendiPd from CVS

All of the necessary objects except the zexy lib are included, compiled for MacOS X and GNU/Linux. For Windows, serendiPd is already included in the test installers:


This patch has been tested on Debian GNU/Linux, MacOS X, and Windows. It needs objects from a few Pd external libs, if you are not using the Pd installers:

running serendiPd

To run serendiPd, open up patch called "serendiPd-gui.pd". If you click the big grey toggle on the left side, it will connect to the public server, pdbox.at.or.at, and pop up the shared_patch. Write a patch as normal, (with a number of caveats since this is an early alpha). The patch with be stored on the server, something like a wiki, and also it will be synced to every connected client.

You can run your own server also. Just open up the patch called "serendiPd-server.pd" and in the textbox in "serendiPd-gui.pd" type the IP address or hostname of your server. Hit enter or click the toggle to connect.

public server

By default, serendiPd connects to the public server, pdbox.at.or.at. It is a place to experiment with what is possible with network interaction in a Pd patch. Currently, its something like a wiki, a pd patch that anyone can connect to, play with, and modify. Feel free to try anything on the public server's shared_patch.

Since the server is included with serendiPd, you can start your own sessions at will. It should stay in sync better if you run it on a local network.


Its still quite buggy and not feature complete. For example, locking is absent so things can go crazy pretty easily when mutiple people try to edit at the same time. But it works and its a crazy experience to watch someone write a patch on your computer from anywhere else in the world.

Also, because of GUI element size differences, editing doesn't really work cross-platform. So if you want to try to get some work done, I suggest being on the same platform as the server for now. pdbox.at.or.at, the public server, is running on GNU/Linux.


Currently, its very rudimentary, but the plan is to flush it out into a complete environment. The next step is to add a basic edit-locking scheme so that multiple users don't wreak havic on each other. Zeroconf networking (aka Rendezvous aka mDNS-SD) will be added to allow from impromptu serendiPd sessions.

written by Hans-Christoph Steiner and Josh Steiner

Copyright (C) at.or.at, released under the GNU GPL

$Id: index.html,v 1.3 2005/02/13 02:49:10 hans Exp $

Valid HTML 4.01! Valid CSS!