Websockets are awesome (you can see everyone's cursor)! Please donate yours
davidvanleeuwen.nl
davidvanleeuwen.nl
I'm just another Dutch student trying his best to graduate. And yes, I did let a few people check the site before I launched it (not only Dutch people). Still, my English isn't the best and thank you guys for pointing that out. I'll change it as soon as possible.
I'll give all comments a closer look soon. Again, I didn't really expect this (otherwise I'll optimized it first and put it on a CDN and stuff). I'll also get into details (specs, technical details etc).
And again, thank you all :-)
http://gigaom.com/2008/07/30/firefly/ http://www.scripting.com/stories/2008/05/13/demoOfFirefly.ht...
Anyways, if you did this to intern where I work, I'd give you an internship position in a heartbeat. Wish you all the luck to get what you want fellow hacker. Thumbs up.
In his defense, he may not be a native English speaker.
That doesn't mean that he shouldn't fix the mistakes. I'm just saying that he needs to proofread ;)
"It gives you a peak at the engine of Steam."
should be
"It gives you a peek at the engine of Steam."
Using Node.js. The node js example even provides the code to replicate it. Is this person using node or some other websocket approach?
But most of my inspiration on how to do this came from the Node.JS knockout. Those guys are really awesome.
I'm also working on something similar for a while now, check http://screenr.com/DDk
I used Node.JS, ExpressJS, Socket.IO and CouchDB (I should have used redis actually, but these things were familiar to me). I'm not trying to prove this is the newest, most greatest thing. I'm trying to get an internship at Valve.
I really like what you have done, a nice twist on the ol' like button. And its a pretty cool looking site as well.
One thing does, well, concern me a bit, and its that you haven't given credit where credit is due (http://jeffkreeftmeijer.com/2010/experimenting-with-node-js/).
There is no doubt that this is very similar to Jeffs blog post, and although it takes the idea a step further, I do think you should at least add a link to any and all code which inspired you and which you took ideas from, if it be Jeffs previous post, or a Node Knockout project.
Best of luck with getting Valves attention, and you have my pointers vote :)
How often are you sending out cursor positions? I was trying to start a cursor ruckus but I think that all my cursor movement crashed your server.
Incidentally, this could be an interesting exercise in calculating when and how often to send out cursor coordinates. I'd add something about that on the page too, as I dare say that's a good skill to have as well.
All the best.
It's a very cool experience. At first I just thought it was an animation, until I managed to coax all the other users into some sort of cursor mosh pit.
Could this be the potential future for social browsing, where each 'cursor' is tagged with the user name and you can actually observe users navigating through the pages of websites.
"Could this be the potential future for social browsing,
where each 'cursor' is tagged with the user name and you
can actually observe users navigating through the pages of
websites."
Makes note in list of cool project ideas I'll probably never get round to implementing.I saw a lot of questions about where I got my inspiration. Someone built something similar at the Node.JS knockout: http://tinyurl.com/2ch3nes. I started experimenting with PusherApp and NodeJS (I've worked with ape-project.org before doing this). Later on, I attended a developer meeting (http://rotterdamphp.tumblr.com) and they talked about Node.JS and CouchDB. At that same meeting someone pointed out Jeff Kreefmeijer's work and that I'm not the first one to build something like this. But I didn't care and kept on building (because it doesn't matter to me if I'm the first to build it). If you're curious on how I've build this, then you should check out my twitter (@davidvanleeuwen) tomorrow, because I'll submit it on github and will post the link there.
Btw: you can donate your finger as well on iOS4.2
(FF 3.6 on Windows)
And the server is having a busy day, because of all of you guys :D Sometimes it resets all connections, not sure why yet.
try{
Robot robot = new Robot();
while(true){
for(float t=0; t<1000; t++){
robot.mouseMove(200+(int)(150*Math.cos(2*Math.PI*(t/1000))), 400+(int)(50*Math.sin(2*Math.PI*(t/500))));
robot.delay(1);
}
}
} catch (Exception e) {}
We would all be infinitely tracing the infinity symbol.If you have any feedback, please let me now :) Thanks!
But I sure can use some help on what kind of data is interesting.
I'll contact you if I'll be an intern at Valve! Thanks :D
I'll wait until the (HN) storm has passed first.
But if you could help me out, that will be great. Thanks!
Mind you, I also avoided chat roulette...
Shouldn't that be "Oh, did I mention I'm a fanatic gamer as well?"
Good Luck.
What is the backend datastore/communications for this? redis? node.js? or just plain MySQL?
Try writing something like this, and you'll be surprised how easy it is. Especially with some of the new frameworks that are built specifically for it (ie., node.js). I expect this to be the "Hello World" for realtime web apps, much in the way that little chatrooms were the "Hello World" for java and sockets.
I figured he'd either send directly from one host to another with node.js or poll redis.
Cool showcase though :)