Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Syncpad, like Facetime but for drawings (mysyncpad.com)
34 points by davidedicillo on Nov 29, 2010 | hide | past | favorite | 13 comments


The easiest way to example SyncPad is "Facetime for drawings". It's basically a whiteboard/sketchpad app but for the first time is tied to a remote central server that let people share live whatever they are drawing on the app (you can also import pictures and other stuff like that). Because we know that not all the people you'd like to share your sketches with may not have an iPad (or maybe they don't want to spend $10), we also made a read-only version for iPad and a browser version (accessible visiting http://mysyncpad.com/roomname). The back-end runs on Erlang + Redis on EC2.


Any chance on a nice Demo video? With the App costing 10 bucks, it'll be nice to see it in action before moving in for the buy!


That's definitely a good idea, I will probably make one later on today.


Very cool! Great presentation, I really like the design on the web (haven't had a chance to test it out on the ipad yet).

I've been working on the exact same idea as a minor feature for a larger webapp, although with node.js and redis.

Out of curiousity, how much are you using redis for working with images? I've found it to be great for quickly dumping objects in (hashes, strings and lists mostly), but I'm curious how much you would actually use redis in an app like this. Surely you aren't dumping entire base64 encoded string representations of a room's current image in redis, right?


We actually started with Node + redis, but when we were running load tests, we were having issues with memory consumption. I think, but I am not certain it was due to garbage collection around JSON.parse[1].

We ended up re-writing it all in erlang and it solved our problem much better. Erlang is much better suited for multicore, binary, and seemingly memory handling. Frankly, I really enjoyed writing it in erlang as well, but prototyping in Node.js worked out really well.

Regarding redis, we're actually storing the base64 string (list in erlang) as binary. This sounds crazy since we could just store the binary file, but since we'd have to encode it as base64 for all the connected clients receiving the data. This actually lowers CPU usage in the long-run. The image is only cached in redis for a period of time then flushed (or in the future persisted elsewhere) anyhow.

If you're interested in using our server for your feature, just let me know @roder and I'll contact you. Maybe we can work something out.

[1] http://news.ycombinator.com/item?id=1739995


I would say that "FaceTime" is the most convenient way to describe it given the hype factor even if it is pretty nondescriptive.

The easiest way would be "{Etherpad,SubEthaEdit} for drawings" but I suppose you kids these days do not remember those…Nice project at any rate.


Actually I do remember it (and thanks for making feel old now...) and I still use Coda sharing features that is build on them... but they weren't heavily advertised on TV as Apple's Facetime.


Any chance you can make a read/write web version? I would gladly pay $10 a MONTH for a multi-user team version.


Good to know, we are definitely capable of going that direction. This really release is good for gauging interest and getting feedback. MVP. Thanks for your feedback


I did a similar site a while back, but not for ios : http://flockdraw.com

Looked into a ios app, but users didnt seem to like it after the first few trys do to the inability to do complex drawings. (Drawing with your fingers isnt easy)


Great job! If you want to sketch with me, post your room name in this thread.


similar idea http://blotjot.com/


Not sure why you're being downvoted, (aside from the fact that this doesn't look very similar at all), but this looks suspiciously like some of mrdoob's javascript canvas examples.

http://mrdoob.com/125/Multiuser_Sketchpad_HTML5




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: