Saturday, December 31, 2011

Net Painter


At Fractal, we were interested in collaborative painting, and I pitched this to Tom Hedges in 1996. He spent a huge amount of time working on a version of Painter for Internet collaboration we called Net Painter internally.

It was based on a low-level protocol called UDP, that TCP/IP is based on. At the time, Tom worked with a friend named Stuart Cheshire to figure out the protocol and the main means of transmitting the data and achieving reliability. It's odd, because UDP means "Unreliable Data Protocol". They explained that you have to first assume it's unreliable, and then verify the messages that got sent.

Net Painter was to allow the painters to capture the moment and draw, and then others could interact and work on the same document. It had a stoplight protocol visually, so you could understand what your status was. Also, it had a list of users that you could see, like users in a chat list. When their stop lights went yellow, it would indicate that they wanted to draw. And text would come from each user as well, so you could have a conversation. Not necessarily in a chat mode, but, really asynchronously. I used it many times, and we used it across the ocean on occasion.

So it became an environment for collaboration across the entire world through the Internet, which was rather low bandwidth back then. To implement it, we sent script items across the net, like a recording in Painter. Painter at that time had already begun to record every nuance of your artistic process, so you could always play back your session, remember? This was actually part of Net Painter: a secret plan.

But Tom was always having difficulties back then with his lymphoma and also relationship problems with his wife. And this project, though it worked, was never fully realized I think.

So Net Painter was kind of a whiteboarding application.

We wanted to be able to ship files across as well, so we could share more complex things.

I believed the idea of a stoplight from Tom's Net Painter was stupid, though. Why bother to have something that halts creativity, when you can be spontaneous! This is the way I always wanted it to be, with two people or more working at once. It was a curious prototype.

Sure, the time lag can make collaboration hard to do in real time. And that can cause other issues of confusion as well. But I think that most of the time, this will not be true. It is for the same reason that most source changes on a multi-developer system can be disambiguated and merged back in. Only on a painting, which is two-dimensional, the collisions might indeed be less frequent.


No comments:

Post a Comment