Gibber can host networked performances. In the most common situation, there will be one computer connected to a projector and PA for the audience to see / hear. Performers will be using individual computers with headphones. As performers find snippets of code they think are interesting (which they can audition using their headphones) they then “push” that code up to the master machine, where it is executed and projected for everyone to see.
Basically, Gibber enables collaborative coding of a master Gibber instance. In order to have this happen there are three basic steps:
- The computer designated “master” needs to run the distributed.js script found in the Gibber repo. You will need node.js and socket.io installed to do this. With these tools installed, simply enter navigate to the distributed.js file in a Terminal window and enter “node distributed.js”.
- The master computer needs to enter master mode. To do this, enter “Gibber.Environment.master()” from within the Gibber code editor.
- Clients need to connect to the master computer. To do this hit the “Join Session” button located in the Options section of the Gibber editor. Select a nickname, enter the IP address of the master computer and hit the “Join” button. A notification will appear in the console of the code editor when a client has successfully connected to the master instance.
Once the master session is running and a client has joined, they can push code to the master session by highlighting it (or simply placing their cursor in the correct line if they only want to transmit one line) and hitting Cntrl-Shift-2 (Cmd-Shift-2 on OS X). It’s easier to think of it as Cntrl-@.
If you are setting this up for the first time, an easy test before trying this with multiple computers is to get it running with multiple instances of Gibber on a single machine. Complete steps 1 and 2 from above and then open multiple tabs in Gibber and complete step 3 for each. If you can send code from each tab to the master instance then there should be no difficulties sending from other computers provided they are on the same wireless network.
In the end, a distributed session will look something like what is seen below: