Essentially, using the gridPositions.json to populate a Voronoi Grid (toggle display of the <canvas> in your browser). Then your cursor position is used against the grid to find which shape encloses it which maps back to the source JPEG which is then displayed.
I watched your video. It does not seem to explain how the fingertip position in each photo was calculated, which it seems to me is really the heart of the magic.
If anyone doesn't care to explore the DOM themselves, this will show the Voronoi diagram and make the photo on top of it transparent. For Chrome, Ctrl+Shift+J and paste it into the console.
Interesting example of how a hard problem (image recognition/understanding) can be faked for some cases by solving an easier problem (lookup table, a few hours of manual intervention.)
doesn't really work for me with Chrome on Windows 7 - an image flashes for a split-second, then it's back to "Finding pointer" (I'm not even touching my mouse)
Same here. Just flashes the picture really fast in the latest stable release of Chrome under Windows 7. Works beautifully in the latest Firefox though. Windows IE isn't supported at all apparently (I tried IE 9).
Are the developers willing to share some insight into how this works? The picture selection is right on and there seems to be a good number of pictures at that.
It looks like Chrome is firing the "mousemove" event when it shouldn't.
One way to make it work is to right click where you want it inside the square it and then left click anywhere outside the square.
In the Javascript looks like the error could be patched in Flasher.js line 72; save the last event.clientX and event.clientY and then check if the mouse coordinates have actually changed.
Fun :). I did something similar with a bunch of photos of a stuffed monkey. I made a music video instead of an interactive web app, though the latter would probably not be too difficult since I wrote the software using Processing. http://sporksmith.wordpress.com/travels-of-code-monkey/
The images are adjusted. I was able to get the same picture 3 times in a row by moving cursor slightly, but the finger was always aligned exactly the same on the cursor, even though I had moved it.
Just wasted about 20 minutes of my life playing with this. I would really like to know the technology behind. Is there some sort of ML going on, or is this human trained? Either way, very entertaining and scary accurate.
Something as low tech as having a predefined map of {location : picture} would do it. Break up the screen into a grid of NxN quadrants, like 20x20. Then just find 400 pictures with a finger near each quadrant. Translate cursor to a quadrant x,y; look up picture. Done.
There are serious problems around the upper right corner. I did not get any results from there. I'm wondering whether the pictures are originally pointing that coordinate or are they resized+translated to some offset?
You'll have to move the cursor left a bit, to get the same image, but with visible finger. The images are indeed offset so that in the upper right corner the finger actually doesn't fit in the frame.
One suggestion is to move the jquery from jquery.com to your domain for two reasons:
1: It will be one click less, for those who use noscript.
2: It will allow your site to survive the case that jquery.com changes anything, or goes down.
What is the point about this beyond showing pictures where the finger is next to my cursor? (Why is this popular?) It's not more interesting than a circumference search. You could implement that with a simple rtree.
Haha, very clever. Although I seem to be running into problems whenever I put the mouse into one of the 4 corners of the screen. It can find anything more centrally located, though (apparently?)
[+] [-] paulirish|14 years ago|reply
Essentially, using the gridPositions.json to populate a Voronoi Grid (toggle display of the <canvas> in your browser). Then your cursor position is used against the grid to find which shape encloses it which maps back to the source JPEG which is then displayed.
[+] [-] snowwrestler|14 years ago|reply
[+] [-] paulgb|14 years ago|reply
[+] [-] runako|14 years ago|reply
[+] [-] taylorbuley|14 years ago|reply
[+] [-] ajasmin|14 years ago|reply
[+] [-] Inufu|14 years ago|reply
[+] [-] AsylumWarden|14 years ago|reply
Are the developers willing to share some insight into how this works? The picture selection is right on and there seems to be a good number of pictures at that.
[+] [-] zentiggr|14 years ago|reply
[+] [-] LoneWolf|14 years ago|reply
[+] [-] simonbrown|14 years ago|reply
[+] [-] tshadwell|14 years ago|reply
[+] [-] saraid216|14 years ago|reply
Seems like it's Win/Chrome.
[+] [-] Inufu|14 years ago|reply
[+] [-] patrick_t|14 years ago|reply
[+] [-] jQueryIsAwesome|14 years ago|reply
One way to make it work is to right click where you want it inside the square it and then left click anywhere outside the square.
In the Javascript looks like the error could be patched in Flasher.js line 72; save the last event.clientX and event.clientY and then check if the mouse coordinates have actually changed.
[+] [-] sparknlaunch|14 years ago|reply
There are likely some good opportunities for this code however speed of response may be a problem? Runs a little slow on my PC.
[+] [-] sporksmith|14 years ago|reply
[+] [-] shashashasha|14 years ago|reply
[+] [-] timmaxw|14 years ago|reply
[+] [-] Groxx|14 years ago|reply
[+] [-] pyre|14 years ago|reply
[+] [-] hackNightly|14 years ago|reply
[+] [-] ww520|14 years ago|reply
[+] [-] xd|14 years ago|reply
[+] [-] alpb|14 years ago|reply
[+] [-] Geee|14 years ago|reply
[+] [-] ionforce|14 years ago|reply
[+] [-] kephra|14 years ago|reply
1: It will be one click less, for those who use noscript. 2: It will allow your site to survive the case that jquery.com changes anything, or goes down.
Besides that its a nice toy.
[+] [-] jdpage|14 years ago|reply
[+] [-] Andi|14 years ago|reply
[+] [-] chousho|14 years ago|reply
[+] [-] hanbam|14 years ago|reply
[+] [-] CountHackulus|14 years ago|reply
[+] [-] siim|14 years ago|reply
The actual positions are saved in a json file. [2]
[1] http://en.wikipedia.org/wiki/Voronoi_diagram
[2]http://www.pointerpointer.com/gridPositions.json
[+] [-] AznHisoka|14 years ago|reply
[+] [-] DiabloD3|14 years ago|reply
[+] [-] edwinyzh|14 years ago|reply
[+] [-] PidGin128|13 years ago|reply
[+] [-] gouranga|14 years ago|reply
[+] [-] Inetgate|14 years ago|reply