Share, the thesis project of Yannick Assogba in the MIT Media Lab Sociable Media Group, is an interesting idea in coding: it’s basically a peer-to-peer sketchbook for creative code. All of your sketches are synced to everyone else’s sketches, and Share tracks the connections between users.

You get more from Share than you would from simply, say, sharing a Subversion repository. Share not only syncs code and changes, but also tracks each time you copy and paste code from elsewhere, so that code snippets borrowed from others can be traced through the people using the system.

Up to 30 people are now invited for an online competition using the tool.

The Share Experiment is an online competition/design-a-thon/hack-a-thon and exhibition that invites 30 participants form to use Share to make new creative works over the course of ten days. The theme of this competition is "Inspired By Pong". Though the final result need not be games, artists/hackers are invited to reinterpret and remix the concept of pong while at the same time being open to reinterpretations and sampling of their own work as it being created. The Share Experiment will run from June 5th – June 14th and we are inviting applications. There will be some prizes awarded to winners (including iPod Touch[es] and Arduino kits) and we have some interesting ideas about mechanics for awarding prizes! (via toxi on Twitter)

What is the Best Way to Share?

It’s a very cool idea, but this does raise some questions about implementation. It’s too bad that Share can’t run as some sort of plug-in; it loses some of the functionality of the bare-bones Processing editor, let alone the capabilities of an IDE like Eclipse or NetBeans. If it used a standard IDE, too, it’d be easier to be “language-agnostic” as the creator suggests. (OpenFrameworks or Flash or Processing, it wouldn’t really matter.)

But as a concept and an experiment, this looks really fascinating. It should be interesting to see how people use the code. And will users in a “competition” do a lot of copying and pasting, or focus mainly on their own work?

Part of the reason I bring up this is that we’re interested on CDM in doing some shared work. “Share” I think would be too limiting; it’s back to the old-fashioned Subversion approach.

So, for instance, we’re organizing a hackday around tangible interfaces in June, the first of what I hope will be many more. We’ll have people working on it in person in New York, but also folks collaborating around the world online. I’ll post more details, but just to kick off the discussion:

(Note: that page mostly talks about using LusidOSC and Trackmate, but I really like their physical design ideas – you can easily substitute reacTIVision and TUIO if you like, and I’m definitely looking forward to the TUIO2 update soon. One advantage of the Trackmate tracker itself is that it’s built in OpenFrameworks, if that’s an environment of choice for you.)

Part of the idea is that we’d like people to contribute shared code and experiments, whether they’re advanced users or novices. I think a tool like Subversion can be ideal for that – students at NYU’s ITP, for instance, work with Subversion for Processing very early on, even though many of those students are pretty new to programming.

A traditional solution like Google Code or Sourceforge for hosting Subversion seems like not a bad idea in this case. I was likewise interested to see Project Kenai support built into a recent version of NetBeans, another example of how these sorts of things can be integrated with the IDE.

So, how would you prefer to share code – for the hackday, or any other reason? Subversion vs. Git? Google Code vs. Sourceforge? And what would an ideal tool do for you in terms of facilitating collaboration?