
Multiuser Sketchpad - kordless
http://mrdoob.com/projects/multiuserpad/
======
tensafefrogs
Just use google docs:

[https://docs.google.com/drawings/edit?id=1ViOs4u4_uaPoDzwnd4...](https://docs.google.com/drawings/edit?id=1ViOs4u4_uaPoDzwnd4QijLMz6yfOqClaN3339iq-e8s&hl=en)

~~~
antidaily
You spelled YH! wrong.

------
antidaily
some asshole keeps scribbling over my penis drawings.

~~~
prawn
That's not scribbling...

------
bootload
_"... The first version of my code was pretty much brute force, every user was
sending their X,Y position every time they moved their mouse. Yes, that's 'a
lot' of data per second. There has been 50gb of data transfered in just 4 days
:P ..."_

also read the related blog post ~ <http://mrdoob.com/blog/post/701>

~~~
peregrine
He doesn't mention what he did to get past this issue other then link to top.

Any ideas on how?

~~~
mrdoob2
Well, I keep doing things as soon as I came up with them... So far:

1\. Collecting changes and sending them every 75-100 ms. Instead of as soon as
the occur.

2\. Deltas: If the mouseX is 800 and in the next frame is 801, Just send 800,1
and reconstruct the data on the peers side (800,1,-1,2,-3).

3\. I the value is 0, don't write it. "1,,1"

These are client side. Now I need to take a look at the server code..

------
rythie
<http://colorillo.com/> is good too.

------
jjs
I made one of these last week to play with nodejs and WebSockets.

My heavily-unoptimized wire protocol used uncompressed JSON objects sent at
each mousemove event on the canvas while drawing, which means it's great fun
on the LAN, but would choke any affordable Internet link.

It appears that this one solves the problem by limiting the rate at which you
can draw—drag the mouse too fast, and it lifts the pencil.

~~~
mrdoob2
That's not correct. The drag too fast tweak is there to discourage people
scribbling all over the place.

The actual "fix" for your problem was to collect commands (mouseMoves) and
send them every 75ms instead of sending a command every mouse move. There is
also some simple delta stuff to save on BW

~~~
jjs
In my case, it's the throughput that was a problem; there was practically zero
latency or cost of sending a message using node and WebSockets.

I was considering doing some sort of curve-fitting to (lossily) compress the
drawing commands. Sending a couple points to describe a quadratic or Bézier
curve is a lot nicer than hundreds of points to describe tiny line segments.

And, as luck would have it, <canvas> draws both natively! :)

------
TomasSedovic
What fascinates me is that it took about a minute to show a very striking
resemblance to the surface of school tables.

------
nso
Mixing it up... doing it upside down :D [http://the-web-has-gone-
mad.com/mrdoob.com/projects/multiuse...](http://the-web-has-gone-
mad.com/mrdoob.com/projects/multiuserpad/)

------
cjoh
Revenue model: You should make it so that after a certain number of people
vote on its completeness, a print can be made and the board gets cleared for
the next work of art.

~~~
swombat
I don't think many people will pay for a canvas full of penises (which is what
it's been looking like both times I've looked at it, i.e. yesterday and
today).

------
axod
I made one of these 10 years ago (Java Applet). Great fun, but I have no idea
how to make it into much more than a fun toy.

~~~
mrdoob2
Why does it need to be more than a fun toy?

~~~
axod
It doesn't _need_ to be, but it's nice figuring out how you can turn 'fun toy'
into 'monetizable product'.

------
jessor
It's actually pretty neat. Enjoying it for 15 minutes. Now if only there were
a tad less penis and vandalism guys awake...

~~~
mrdoob2
There weren't many penises, until it got posted to Hacker News... Some
iterations from the past days: <http://twitpic.com/photos/mrdoob>

------
tholex
Feels pretty responsive. I like it. :)

Brushes, private rooms, etc? Probably still wouldn't be too useful, but a
great proof-of-concept.

------
albemuth
I'm guessing not everyone is using a mouse, what are the more precise people
using?

~~~
datasink
Drawing tablets, I imagine.

------
cmelbye
Is the code up anywhere? Would be interesting to look through and hack on.

------
Vekz
Where can I get some details on the tech behind this?

~~~
mrdoob2
Wrote a bit about that here: <http://mrdoob.com/blog/post/701>

------
jessor
You should definitely build something around this.

------
sdh
finally, someone made a penis drawing app

------
stuntgoat
Can I have an eraser please?

