Rendered at 23:19:16 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
aleyan 8 hours ago [-]
There are many ways of making wigglegrams. The first method is to capture multiple horizontally displaced shots together at once. There were cameras designed for this in the 80s that had 4 lenses, with the widest about eye width apart; the intent was for them to be printed as lenticular 3d images. The second is to have a single shot and then synthetically create additional perspective, such as by using a depth map.
I have done both of these. For the first one[0], I used a Nimslo 3D and for the second one[1] I drew with pastels on paper, and then drew a depth map in Photoshop and used it to displace pixels horizontally for the novel perspectives.
The OP's "accidental" wigglegrams are mostly of the first variety but, the horizontal allignment is not locked in and the shots were taken not at the exact same time. That's why the parallax effect isn't as strong and they don't look as good as the first 3 images that came from Nimso/Nishika.
What is intresting is that both of these two methods are relevant in the age of modern iphone. Iphones capture multiple exposures together in live photos, so moving the iphone laterally when shooting creates a "boomerang" wigglegram. Iphones also capture depth map from the LiDAR sensor when shooting in portrait mode.
Between increased hardware capability and genai for synthesizing additional perspectives, we could be living in a golden age of wigglegrams. Alas, they are out of style.
Found a guy on instagram who builds a custom stereoscopic camera with 4 identical pi cams spaced evenly (about 1 inch (2.54cm)) away from each other on a line. It creates wigglegrams
https://k4mera.world/
ipsum2 8 hours ago [-]
Cool concept, but implementation is bad. The exposures vary so much between the separate shots it's giving a stroboscopic effect. Hopefully they fix it in later revisions.
mlyle 4 hours ago [-]
I wonder if it goes away in sunlight.
It's probably a few milliseconds difference in timing between when the (short) exposure is taken, resulting in different brightness of lights powered by 60Hz AC.
strickinato 5 hours ago [-]
There's an additional "post processing" step that the article doesn't mention -- which is alignment of the images within the wiggle.
In the example images (which others have noted are stable horizontally) - This alignment gives some control over the parallax and has a very big effect on the quality of the 3D and the ultimate experience of the image.
If you put your mouse, for example, over the marlboro pack that is most directly facing the camera, you'll see it is perfectly stable relative to the screen (despite looking like it's wiggling). In the second image, this point is at the eye of the singer.
On the accidental images, which are also mostly not stable horizontally, this type of alignment can also have a very big impact. An extreme example of how this plays out can be seen in this image - which for example -- locks onto the face
(NB - like 12 years ago I used to do make a lot of wiggle images -- including spending some time making wigglegrams out of a set of 3D images of the 1906 San Francisco Earthquake & Fire -- https://thesanfranciscowiggle.com/)
scottshambaugh 17 hours ago [-]
I’ll shill a library I wrote to make wigglegrams & stereograms in matplotlib - I think pseudo-3D visualization is super underrated as a technique to understand data!
mpl_stereo: https://github.com/scottshambaugh/mpl_stereo
JKCalhoun 12 hours ago [-]
That's cool. They work well. (I prefer the stereograms, but you need extra equipment to view those. I keep a stereo lens pair near my laptop though.)
i find it so easy to "switch" to 3D with pairs of images like this, it strikes me as strange that cheap stereo-3D isn't a standard interface element.
Other than getting used to making the switch, I don't think there is any cognitive load. Just pairing normal lens focus with a different triangulation distance, which is something we quickly learn to do without thinking when using any glasses or lenses.
I find it a lot more calming than Wiggle-D. And paired with some simple head/eye tracking via laptop cams, it could be really versatile.
The animated plots are great. Be great to have a trackpad rotatable version. (And the need/benefit for head tracking gets really obvious when I move. The perception of reverse/non-sensical dynamics is strong.)
layer8 9 hours ago [-]
Many people can’t, there is significant variation in how people’s visual systems work. I myself can’t anymore after my eyesight got worse.
jannyfer 19 hours ago [-]
That was fun, and the script on github looks hand-written which is refreshing after having been reading AI-written code for months.
I have 120k photos in iCloud that I'm sure have duplicates (I exported my library to Google Photos years ago and exported it back to iCloud). The iOS duplicate detection stopped flagging duplicates for me to merge a while back. I gotta do something like this script...
wibbily 4 hours ago [-]
Guilty. I had a few hours to kill on Amtrak... the time will pass anyway y'know
(Plus I didn't know if it would work. The first version was just some Python functions I had to call from the REPL, livecoding style)
mceachen 9 hours ago [-]
If you're really wanting to do perceptual hash based deduplication, use multiple, heterogeneous hash algorithms (phash, dct hash, mean hash, ...) as it is likely that a given hash algo will happily lossily match with very very different images--but if all hashes match, you're much less likely to have false positives.
yeah there's something you can still feel in hand-written code - the variable names show how someone was actually thinking about the problem. AI code is grammatically perfect but quite hollow
Aboutplants 13 hours ago [-]
Ah yes, artisanal code!
RetroTechie 14 hours ago [-]
> and the script on github looks hand-written which is refreshing after having been reading AI-written code for months.
We really need a short for "is it AI or not? has entered the discussion".
nkrisc 9 hours ago [-]
The first ones shown are quite neat and pleasant. The "accidental" ones pretty quickly gave me motion sickness as I scrolled through them. They also weren't nearly as interesting, though I couldn't look at them for very long.
wibbily 4 hours ago [-]
The unfortunate reality of accidents, lack of intention~
I've been taking pictures to be more effective wigglegrams now that I know I can auto-GIF them. I'll do a followup post at some point. The big trick is that they look better when the subject stays in the center of the frame, with the camera "orbiting" it to create a sort of parallax effect.
nkrisc 2 hours ago [-]
Yes that helps a lot, perhaps because it is more natural and familiar movement. The unpredictable wiggling might be tricking my brain into thinking I’m bouncing all over.
dredmorbius 8 hours ago [-]
The intentional ones tend to move along a horizontal plane, and in fairly uniform (or specifically-graded) steps.
The unintentional ones deviate on both bases, creating a more chaotic result.
("Creating chaos" being an interesting notion itself....)
nozzlegear 7 hours ago [-]
Yeah, I'm not prone to motion sickness, but that wigglegram with the iPad gave it to me instantly.
rendaw 19 hours ago [-]
Somehow the extra motion seems to reduce the illusion of depth, it just seems like a disjointed animation to me.
MrGilbert 15 hours ago [-]
I agree. The first three from reddit work really well for me. I assume it's because of the fixed horizontal movement, and the fact that they are captured at the same moment from different angles. :)
The others are nice (but hectic) animations to me.
RobotToaster 13 hours ago [-]
The ones from Reddit also have more frames, I'm guessing they were taken on on a Nishika 3-D camera.
rendaw 13 hours ago [-]
Yeah, the first three work for me too. (just realized my original comment was kind of ambiguous)
rtkwe 9 hours ago [-]
The ones they generated weren't taken specifically to be wigglegrams so they don't work as well as intentional ones. The biggest problem is number of photos and the consistency of the direction of movement between each image and the next as well as consistent step sizes. They also tend to work better with horizontal movement compared to vertical probably due to it matching our eye layout but that's a guess.
ZiiS 17 hours ago [-]
Intresting, I have a weak eye so rely less on stereo; these pop as much more 3d then a photo.
pjerem 16 hours ago [-]
Same. I have amblyopia and I'm really appreciating the effect. I think people's brain with "only one" eye rely a lot more onto perceptive and parallax effect for 3D perception.
wibbily 4 hours ago [-]
There's a few that I think would look better with dropped frames (the cake for instance). These are all the raw output of the script. Consider it maybe a starting point for manual editing :)
vova_hn2 9 hours ago [-]
Interestingly, the pixelization/noise effect is applied clientside, so if you open an image in a new tab, you can see the original. Originals look much better, in my opinion.
wibbily 4 hours ago [-]
You can also click on an image to open the original in a lightbox. (I should make that more obvious.)
The dithering happens server-side (er, laptop-side). Experimented with a JS filter but it just didn't hit the way I wanted it to. Plus I save a lot of bandwidth this way
jakzurr 9 hours ago [-]
Whew... the continuous motion started triggering migraine symptoms until I closed the window.
But it does have a nice 3d effect. For me, the cycle speed seems excessive. I believe someone suggested tying wiggle effect to mouse movement?
andix 7 hours ago [-]
I still feel a bit dizzy a minute after closing the page.
olwmc 10 hours ago [-]
If I'm not mistaken this blog is from a person I had the pleasure of working with in undergrad for a course project. They were brilliant then and are still now.
wibbily 3 hours ago [-]
<3
If I remember correctly you carried that project!
gwbas1c 5 hours ago [-]
FYI: For "how-tos" like this I try to avoid "adult" content like smoking. (Even though the stuffie holding a joint and lighter is hilarious.)
This is the kind of content that young techies and artists gobble up, and it's not the kind of thing I would want in content shared with children or teenagers.
y04nn 14 hours ago [-]
On my Pixel phone I always leave enable the "Top Shot" setting, it saves a short low resolution video clip in the XMP/RDF metadata of the JPEG file. It saves motions that are not visible on a still image adding valuable information. iPhones and Samsungs have similar settings.
post-it 10 hours ago [-]
Live Photos are what iPhones call it and I love them. I made an app to turn them into GIFs, I often make wigglegram GIFs out of them. "Giffer" on the App Store[0] if any readers are interested.
I had it on, but it makes each photo 10-12 MB though. Now its on Auto, which isn't ideal either.
ksymph 12 hours ago [-]
The Nintendo 3DS has two cameras on the back, so you can turn its 3D photos into wigglegrams. I made a web app that does this automatically, it has a few demos where you can mess with offset or timing: https://wiggle3ds.moonlemon.nexus/
It's neat how the offset affects focal point. To my eye they look best when the main object is kept fairly stationary, and the further away you are the faster the wiggle speed should be.
zftnb666 13 hours ago [-]
This is what happens when you let the frontend team name things
scronkfinkle 11 hours ago [-]
Meanwhile non-frontend folks decide to call one thing "threads" and another thing "strings" and have them be completely unrelated to each other.
robocat 2 hours ago [-]
Yet thread and string really are different things.
Is there an App that explores the smeared line between meanings?
Show me pictures of (rope, thread,string,twine,line, cable, wire, fiber, ribbon, braid) and let me pick the right word.
We sometimes discern fine differences between similar things, but might find it difficult to describe exactly what those differences are. I've recently been trying to work out what a modern hatchback is.
computerfriend 18 hours ago [-]
The website is really nicely designed, and the dithering on the images is quite beautiful.
gusmally 4 hours ago [-]
This was such a fun read, and wigglegrams are still popular on tumblr (although tumblr is no longer popular!)
To the people pointing out the lower quality of the author's wigglegrams: it's because they're accidental...
initramfs 14 hours ago [-]
I've noticed that GIFS with several frames in them tend to be quite large files. I like that these use dithering, which can reduce the file size. Ideally it would be not larger than 2-3 lightweight photos juxtaposed together, and less than 300KB. I also wish there was a pause button on them because sometimes reading articles on the web with them persistent can get tedious. I suppose disabling images can mediate that, or copying the text to another document.
"In Web Browsers (Chrome, Edge, Firefox): Install browser extensions like GIF Scrubber on Chrome or GIF Blocker on Firefox, which add playback controls to any web page.
On iPhone/iPad: Go to Settings > Accessibility > Motion, and turn off Animated Images to pause all GIFs in Safari.
On Mac: Go to System Settings > Accessibility > Display, and toggle off Animated Images.
In PowerPoint: Press the 1 key on your keyboard during a presentation to pause the GIF."
RobotToaster 14 hours ago [-]
There's been a move towards using MP4 files instead of GIFs because the filesize is smaller, despite MP4 being patent encumbered.
initramfs 13 hours ago [-]
I found APNG suffer the same issue, but there may be some workarounds:
"Yes, but not natively just by using a standard <img> tag in web browsers. Because native APNGs play continuously like a traditional GIF, you need to use one of the following methods to pause them: [1, 2, 3, 4]
1. The Canvas Method (Best for Web Controls)
To add play/pause functionality, you cannot use an <img> tag. Instead, you need to render the APNG onto an HTML <canvas> element and control it using a JavaScript library like apng-js. This provides precise, video-like control over the frames. [1, 2, 3, 4]
2. The Cover Method (Simplest Fallback)
If you just want to freeze an APNG on its first frame, you can layer a static .png of the first frame directly over the APNG. When you uncover or hide the static image, the underlying APNG will be revealed and play as normal. [1]
3. Use CSS Animation Alternatives [1]
If you are designing the animation yourself, an alternative is to build it as a single static image (a filmstrip of all frames side-by-side) and animate it using CSS background-position. This allows you to pause the image natively using the CSS animation-play-state property. [1, 2, 3]"
fsiefken 13 hours ago [-]
there are vp9 and av1 as well
initramfs 12 hours ago [-]
for gifs? it seems an image format would be more backward compatible with older devices. Edit: by image format, i meant lightweight animation without a video codec.
Brybry 10 hours ago [-]
The sites like tenor/giphy/klipy all convert to multiple media formats and then have meta embed properties with multiple formats.
Sites/apps like Discord sometimes consume the mp4 instead of gif or webp when embedding (and in Discord's case they're not hotlinking, I believe they're running it through their own media proxy service).
hi initramfs, i responded to robottoaster who referenced patent encumbered mp4, as alternatives there are vp9 and av1.
image formats are more backward compatible, but at some point one has to ask, how low do you want to go? vp9 plays on iphones from 2020 and android phones from 2010. I think animated avif files are basically av1 video files, like animated webp is vp8/9 video.
Animated gif is playable anywhere, but 10x bigger. For a wiggle blog or website I'd provide animated png alongside anaglyph, or anaglyph only.
There is also animated Jpeg XL *.jxl files for the bleeding edge. It's a pure image format but support is not there yet.
initramfs 10 hours ago [-]
hi fseifken,
Thanks for the response and I agree there are benefits to newer formats. I actually do prefer newer codecs when I am using a newer system, such as AV1 (I actually wrote a blog post on that yesterday https://inavoyage.blogspot.com/2026/06/720p-on-384kbps-how-h...), and recall avif, but forgot about it.
I think .avif sounds preferrable since it is single frames able to play animations using the same library as av01. I am curious how much CPU usage it needs for a just a few frames. A Pentium 1 might not be able to play it easily, but I imagine a dual core Intel E6400 wouldn't have much of an issue, even if it is 20 years old.
Yeah, basically the only reason I suggested older support was because it was just a couple frames (maybe 5 tops), as opposed to something that uses hundreds or thousands of frames.
Could these use some frame interpolation and smoothing to make them less jerky? Or would that make them just a video clip then?
The first couple of examples were good but later examples were not so impressive. I think the later examples suffered from having too little of perspective change between frames and too much of subject movement -- which defeats the illusion of 3d from a "static" image.
Ideal one would have a left-to-right pan betweem the two clicks ..roughly matching the perspective shift between left eye and right eye ..while the subject stays static.
rtkwe 6 hours ago [-]
The better wigglegrams were taken at basically the same moment and with cameras set a static distance apart along a single (usually) horizontal line. Those flow a lot more cleanly than the accidental ones where the camera moved an inconsistent amount and not along a single line so they're a lot jumpier and it interrupts the parallax effect that makes wigglegrams work.
Fabricio20 12 hours ago [-]
I also noticed on the wikipedia gallery theres an example that repeats frames for smoothness! 1-2-3-4-3-2 makes it naturally smooth if you have more than two frames.
simonklitj 13 hours ago [-]
Yes, the author notes as much: ‘many of them come out as less "stereoscopic" and more "kinescopic" - like little unintentional movies.’
albert_e 13 hours ago [-]
Ah sorry ..i just scrolled though the pics and didnt read the post in full. Thanks.
elAhmo 8 hours ago [-]
Does anyone know what is the technique they use in some of the documentaries where they use really old photos, but they make them look like this wiggle gram? I know it's not AI because the photos can be decades old, but they still do some stuff which that makes them almost see like 3D.
fsiefken 57 minutes ago [-]
Perhaps you mean stereographs, if so they work because you get a separate photo for each eye up close, with a seperator, with or without lenses.
I think that's a more manual process. An older version would involve cutting out the different layers of foreground and background and animating the movement with a bit of fill to add areas where there wasn't information in the original photo. Now I think there are some AI tools that can 'animate' old photos but they look more like movies with the look of the original photo over them vs the thing I think you're referencing.
wxw 4 hours ago [-]
TIL wigglegram! Lovely article, thanks. I’ve only seen the effect before on those old film cameras with 4 lenses.
zahlman 5 hours ago [-]
> So I wrote a little script to hash all my pictures:
Would be nice to have the script, or at least the choice of perceptual hashing algorithm.
wibbily 5 hours ago [-]
As the others pointed out the script is at the end...
> Would be nice to have... the choice of perceptual hashing algorithm
Funny enough the script does some of this - there's a handful of algorithms the library supports and it computes/saves all of them. "Perceptual" seemed to work the best but if you want to experiment w/ the others they'll be there for you.
I have often wondered how the effect was created where e.g. in a documentary you see historic black and white photographs slowly 'camera panning' or zooming somewhat from left to right with a perspective shift. Is that also created as a wigglegram on the basis of multiple photographs I wonder, at times where taking a single photograph was an involved process?
JKCalhoun 12 hours ago [-]
They have to take a source photo, decompose it into "layers" (lots of Photoshop I imagine) and then they can parallax the various layers for that depth effect.
threetonesun 10 hours ago [-]
One great use of AI/ML is that splitting photos into layers these days is infinitely easier than it used to be.
shermantanktop 17 hours ago [-]
I often take a very short video, under 5s, rather than a picture. Even 1-2 seconds captures dimension and sound in a different way than a still picture. I’ve had people say it’s strange but they work well for me.
pjerem 15 hours ago [-]
Live photos on iOS are exactly that, by default, each time you take a picture, it embeds the 3 seconds before the shot and the 3 seconds after the shot as video with sound.
It looks like a useless feature on the moment because what you want is the nice framing you are trying to capture, but it happens to become an incredible feature years later when a long press on your photo makes your then baby smile and laugh.
It's a best of both world implementation because unlike just capturing a video, you still get your high quality, stabilized and sharp picture of the picture you capture PLUS the video.
exitb 17 hours ago [-]
Not that strange I guess, given how iOS does that automatically for all taken pictures.
amadeuspagel 10 hours ago [-]
Could these things be turned interactive? Like a parallax effect when you move your mouse?
mxfh 9 hours ago [-]
Have to bring back split depth GIFs a decade later too?
Just works with depth hinting no actual stereo information.
Haha that's excellent. Super fitting effect to go with his music
doginasuit 13 hours ago [-]
There's something really beautiful about this. The moments of your life can dance.
EvanAnderson 13 hours ago [-]
I enjoy photos taken while people are speaking with the camera fixed. You can get some really unintentionally funny flips between facial expressions. Kinda like wigglegrams, I suppose.
(Yes, I find silly and immature stuff amusing.)
pbhjpbhj 11 hours ago [-]
This would make a nice add-on for Digikam, which already does perceptual image hashing.
I read that they used artisanal code(!) - did they write a new image hashing algo, or use an established one?
mncharity 20 hours ago [-]
Includes repo for finding pictures taken from slightly different perspectives in a photo archive, and making wigglegrams from them.
wartywhoa23 17 hours ago [-]
Doubles as a motion sickness test :)
swiftcoder 16 hours ago [-]
If you have an iPhone, it does this automatically (provided you don't disable Live Photos). Quite fun to review all the random stereoscopy you have inadvertently created by having an unsteady grip on the camera...
inigyou 9 hours ago [-]
I will just take a video recording instead of several images in quick succession.
xnx 19 hours ago [-]
Good idea, but the discovered image sequences are very different from the deliberately created examples at the top of the page.
whywhywhywhy 12 hours ago [-]
Images at the top of the page are created using a Nimslo/Nishika camera [1] it's a 35mm 4 lens camera that takes all 4 shots at once so you get that satisfying rotating depth look at them.
It's really a completely different effect to just stitching a few different photos together.
I had a look at the top submissions on the /r/wigglegrams subreddit [0]. It seems that some (including some of those featured in the article) are the more prototypical stereoscopic wigglegram, whereas others are more a stylistic effect.
Maybe show them side by side for crosseyed stereo viewing.
zem 3 hours ago [-]
none of those accidental wigglegrams actually work in the sense of looking convincingly 3d though, unlike the more deliberately created examples that introduced the idea.
cubefox 11 hours ago [-]
This title no verb
tartoran 9 hours ago [-]
Yeah, that irked me a bit but maybe it was intentional?
Contrary to popular belief, only a minority of people with epilepsy are sensitive to flashes of light.
oulipo2 14 hours ago [-]
If you're using an iPhone, couldn't you automate this by extracting "Live images" which are kind of "mini-videos" around the photo you took?
wibbily 4 hours ago [-]
Was thinking about adding this... big fan of live photos.
nixosbestos 18 hours ago [-]
How is the first one done? It seems like the cartons would fall faster than you could manually capture 2-3 images?
(super cool all around, thanks for sharing)
jcattle 16 hours ago [-]
It's tech from the 80s. Look up the Nishika N8000 and Nimslo 3D.
Basically it's multiple lenses next to each other, each capturing a small slice on the 35mm film. Every lens has it's own shutter, which is triggered at exactly the same time.
This wasn't too involved and quite cheap to implement with analog tech in the 80s/90s, but if you want to do the same thing with digital there's quite a bit more to consider. Here's a cool video of someone building a digital stereo camera: https://www.youtube.com/watch?v=_aofxbH0elo
The hard part with digital boils down to: Cheap camera modules are hard to calibrate to the same parameters and sometimes impossible to set focus, so pictures look the same. And taking pictures takes quite a bit of processing power, so if you want to take 4 pictures at once it gets a bit tricky with just a cheap raspberry or similar.
whywhywhywhy 12 hours ago [-]
There is also the Fujifilm FinePix REAL 3D which is a 2 lens digital version of the idea. But yeah I do think the analogue grain is doing some heavy lifting on the aesthetic side of the Nishika/Nimslo images.
This is one option, trading ease of use and low cost for lower picture quality and less light.
zimpenfish 16 hours ago [-]
Ah, might have to try that. I've been getting adverts for "proper" versions of these (eg the Dispo Parallax) but no-one seems to sells them in a M4/3 mount (and I'm not keen on using adapters.)
PetitPrince 15 hours ago [-]
To add to the other comments if you have the idea to use multiple camera to make the same effect but at a higher quality (and if you somehow sort how the synchronisation problem), then congrats ! You have invented bullet time, as demonstrated 27 years ago* in the Matrix.
*ouch, I feel old
zimpenfish 13 hours ago [-]
Well, pedantically, demonstrated 148 years ago by Muybridge[0]
[0] "In 1878–1879, Muybridge made dozens of studies of foreshortenings of horses and athletes with five cameras capturing the same moment from different positions." via https://en.wikipedia.org/wiki/Bullet_time
PetitPrince 12 hours ago [-]
My pedant self stands corrected. I wonder if some crazy people made a reverse praxinoscope now.
RobotToaster 13 hours ago [-]
>if you somehow sort how the synchronisation problem
These days you can just capture video and make a 4d Gaussian splat
PetitPrince 12 hours ago [-]
My constraint was a tongue-and-cheek "use as little technology as possible" (like what was available in 1999). I think nowaydays it's still more economical to do one pass of photogrammetry on your talent then do a mocap and actor replacement ?
ChrisMarshallNY 14 hours ago [-]
> ouch, I feel old
Inside of every old man, is a young man, going ”What the hell just happened?”.
voidUpdate 16 hours ago [-]
I believe there have been camera specifically designed for this, where they have multiple horizontally spaced lenses that all take a picture at the same time, or literally just holding several cameras right next to each other and triggering them all at once
patates 18 hours ago [-]
I assume more than a single camera or a moving camera with a very high shutter speed with fixed focus.
asadm 20 hours ago [-]
really cool. I imagine this will land as a filter on insta soon :D
dark-star 14 hours ago [-]
I think the title is missing a verb ...
nnevatie 14 hours ago [-]
It's a meme.
andrewshadura 13 hours ago [-]
I think I accidentally a verb.
Barbing 20 hours ago [-]
Awesome
fatih-erikli-cg 17 hours ago [-]
[dead]
walkjoy8 14 hours ago [-]
[flagged]
huflungdung 12 hours ago [-]
[dead]
dominojab 15 hours ago [-]
[dead]
zombot 19 hours ago [-]
I imagine those to be like crack cocaine for people with ADHD, but I just feel like I'm being zapped watching them.
patates 18 hours ago [-]
I have ADHD and normally excessive movement on my monitor disturbs me, but this didn't bring even a little discomfort. I didn't get addicted to them as well.
ikari_pl 18 hours ago [-]
I am diagnosed with ADHD and the amount of jumping movement in these is torturous.
I have done both of these. For the first one[0], I used a Nimslo 3D and for the second one[1] I drew with pastels on paper, and then drew a depth map in Photoshop and used it to displace pixels horizontally for the novel perspectives.
The OP's "accidental" wigglegrams are mostly of the first variety but, the horizontal allignment is not locked in and the shots were taken not at the exact same time. That's why the parallax effect isn't as strong and they don't look as good as the first 3 images that came from Nimso/Nishika.
What is intresting is that both of these two methods are relevant in the age of modern iphone. Iphones capture multiple exposures together in live photos, so moving the iphone laterally when shooting creates a "boomerang" wigglegram. Iphones also capture depth map from the LiDAR sensor when shooting in portrait mode.
Between increased hardware capability and genai for synthesizing additional perspectives, we could be living in a golden age of wigglegrams. Alas, they are out of style.
[0] https://fooladder.com/post/115435676962/at-the-concert [1] https://fooladder.com/post/61216111704/starry-venice
It's probably a few milliseconds difference in timing between when the (short) exposure is taken, resulting in different brightness of lights powered by 60Hz AC.
In the example images (which others have noted are stable horizontally) - This alignment gives some control over the parallax and has a very big effect on the quality of the 3D and the ultimate experience of the image.
If you put your mouse, for example, over the marlboro pack that is most directly facing the camera, you'll see it is perfectly stable relative to the screen (despite looking like it's wiggling). In the second image, this point is at the eye of the singer.
On the accidental images, which are also mostly not stable horizontally, this type of alignment can also have a very big impact. An extreme example of how this plays out can be seen in this image - which for example -- locks onto the face
https://strickgifs.tumblr.com/post/48624241536
(NB - like 12 years ago I used to do make a lot of wiggle images -- including spending some time making wigglegrams out of a set of 3D images of the 1906 San Francisco Earthquake & Fire -- https://thesanfranciscowiggle.com/)
If you pick up a digital stereo camera that creates .MPO files, I wrote a small app to create stereograms: https://github.com/EngineersNeedArt/Stereographer
Other than getting used to making the switch, I don't think there is any cognitive load. Just pairing normal lens focus with a different triangulation distance, which is something we quickly learn to do without thinking when using any glasses or lenses.
I find it a lot more calming than Wiggle-D. And paired with some simple head/eye tracking via laptop cams, it could be really versatile.
The animated plots are great. Be great to have a trackpad rotatable version. (And the need/benefit for head tracking gets really obvious when I move. The perception of reverse/non-sensical dynamics is strong.)
I have 120k photos in iCloud that I'm sure have duplicates (I exported my library to Google Photos years ago and exported it back to iCloud). The iOS duplicate detection stopped flagging duplicates for me to merge a while back. I gotta do something like this script...
(Plus I didn't know if it would work. The first version was just some Python functions I had to call from the REPL, livecoding style)
I wrote up what I do here: https://photostructure.com/guide/what-do-you-mean-by-dedupli...
We really need a short for "is it AI or not? has entered the discussion".
I've been taking pictures to be more effective wigglegrams now that I know I can auto-GIF them. I'll do a followup post at some point. The big trick is that they look better when the subject stays in the center of the frame, with the camera "orbiting" it to create a sort of parallax effect.
The unintentional ones deviate on both bases, creating a more chaotic result.
("Creating chaos" being an interesting notion itself....)
The others are nice (but hectic) animations to me.
The dithering happens server-side (er, laptop-side). Experimented with a JS filter but it just didn't hit the way I wanted it to. Plus I save a lot of bandwidth this way
But it does have a nice 3d effect. For me, the cycle speed seems excessive. I believe someone suggested tying wiggle effect to mouse movement?
If I remember correctly you carried that project!
This is the kind of content that young techies and artists gobble up, and it's not the kind of thing I would want in content shared with children or teenagers.
[0] https://apps.apple.com/ca/app/giffer/id6767937960
It's neat how the offset affects focal point. To my eye they look best when the main object is kept fairly stationary, and the further away you are the faster the wiggle speed should be.
Is there an App that explores the smeared line between meanings?
Show me pictures of (rope, thread,string,twine,line, cable, wire, fiber, ribbon, braid) and let me pick the right word.
We sometimes discern fine differences between similar things, but might find it difficult to describe exactly what those differences are. I've recently been trying to work out what a modern hatchback is.
To the people pointing out the lower quality of the author's wigglegrams: it's because they're accidental...
"In Web Browsers (Chrome, Edge, Firefox): Install browser extensions like GIF Scrubber on Chrome or GIF Blocker on Firefox, which add playback controls to any web page.
On iPhone/iPad: Go to Settings > Accessibility > Motion, and turn off Animated Images to pause all GIFs in Safari.
On Mac: Go to System Settings > Accessibility > Display, and toggle off Animated Images.
In PowerPoint: Press the 1 key on your keyboard during a presentation to pause the GIF."
https://share.google/aimode/X1Q5rp3z2tEbtDSPf
"Yes, but not natively just by using a standard <img> tag in web browsers. Because native APNGs play continuously like a traditional GIF, you need to use one of the following methods to pause them: [1, 2, 3, 4]
1. The Canvas Method (Best for Web Controls) To add play/pause functionality, you cannot use an <img> tag. Instead, you need to render the APNG onto an HTML <canvas> element and control it using a JavaScript library like apng-js. This provides precise, video-like control over the frames. [1, 2, 3, 4]
2. The Cover Method (Simplest Fallback) If you just want to freeze an APNG on its first frame, you can layer a static .png of the first frame directly over the APNG. When you uncover or hide the static image, the underlying APNG will be revealed and play as normal. [1]
3. Use CSS Animation Alternatives [1] If you are designing the animation yourself, an alternative is to build it as a single static image (a filmstrip of all frames side-by-side) and animate it using CSS background-position. This allows you to pause the image natively using the CSS animation-play-state property. [1, 2, 3]"
Sites/apps like Discord sometimes consume the mp4 instead of gif or webp when embedding (and in Discord's case they're not hotlinking, I believe they're running it through their own media proxy service).
For example, <https://klipy.com/gifs/begone-witch> turns into <video> (with ARIA GIF label!) and src <https://images-ext-1.discordapp.net/external/kQT1eR3Sa6g3mZ_...>
7.1 MB gif => 679 KB mp4
image formats are more backward compatible, but at some point one has to ask, how low do you want to go? vp9 plays on iphones from 2020 and android phones from 2010. I think animated avif files are basically av1 video files, like animated webp is vp8/9 video.
Animated gif is playable anywhere, but 10x bigger. For a wiggle blog or website I'd provide animated png alongside anaglyph, or anaglyph only.
There is also animated Jpeg XL *.jxl files for the bleeding edge. It's a pure image format but support is not there yet.
Thanks for the response and I agree there are benefits to newer formats. I actually do prefer newer codecs when I am using a newer system, such as AV1 (I actually wrote a blog post on that yesterday https://inavoyage.blogspot.com/2026/06/720p-on-384kbps-how-h...), and recall avif, but forgot about it.
I think .avif sounds preferrable since it is single frames able to play animations using the same library as av01. I am curious how much CPU usage it needs for a just a few frames. A Pentium 1 might not be able to play it easily, but I imagine a dual core Intel E6400 wouldn't have much of an issue, even if it is 20 years old.
Yeah, basically the only reason I suggested older support was because it was just a couple frames (maybe 5 tops), as opposed to something that uses hundreds or thousands of frames.
The first couple of examples were good but later examples were not so impressive. I think the later examples suffered from having too little of perspective change between frames and too much of subject movement -- which defeats the illusion of 3d from a "static" image.
Ideal one would have a left-to-right pan betweem the two clicks ..roughly matching the perspective shift between left eye and right eye ..while the subject stays static.
https://en.wikipedia.org/wiki/Stereoscopy
https://www.vam.ac.uk/blog/caring-for-our-collections/stereo...
https://news.library.mcgill.ca/double-takes-a-brief-history-...
https://restoreoldphotosnow.com/what-are-stereographs/
https://guides.library.oregonstate.edu/earlyphotoformats/ste...
Another method would be anaglyph, red-cyan or amber-blue dubois requiring similarly coloured glasses. https://adcnj3d.wordpress.com/the-science-of-anaglyph-3d/
Would be nice to have the script, or at least the choice of perceptual hashing algorithm.
> Would be nice to have... the choice of perceptual hashing algorithm
Funny enough the script does some of this - there's a handful of algorithms the library supports and it computes/saves all of them. "Perceptual" seemed to work the best but if you want to experiment w/ the others they'll be there for you.
And the hashing library used: https://pypi.org/project/ImageHash/
It looks like a useless feature on the moment because what you want is the nice framing you are trying to capture, but it happens to become an incredible feature years later when a long press on your photo makes your then baby smile and laugh.
It's a best of both world implementation because unlike just capturing a video, you still get your high quality, stabilized and sharp picture of the picture you capture PLUS the video.
Just works with depth hinting no actual stereo information.
https://news.ycombinator.com/item?id=48630210
(The original defaulted to “past 24 hours” for me, which didn’t show anything.)
https://www.youtube.com/watch?v=idteXQcGKlg
(Yes, I find silly and immature stuff amusing.)
I read that they used artisanal code(!) - did they write a new image hashing algo, or use an established one?
It's really a completely different effect to just stitching a few different photos together.
[1] https://fstoppers.com/film/worst-camera-ive-ever-loved-nishi...
[0]: https://www.reddit.com/r/wigglegrams/top/?screen_view_count=...
https://knowyourmeme.com/memes/i-accidentally
(super cool all around, thanks for sharing)
Basically it's multiple lenses next to each other, each capturing a small slice on the 35mm film. Every lens has it's own shutter, which is triggered at exactly the same time.
This wasn't too involved and quite cheap to implement with analog tech in the 80s/90s, but if you want to do the same thing with digital there's quite a bit more to consider. Here's a cool video of someone building a digital stereo camera: https://www.youtube.com/watch?v=_aofxbH0elo
The hard part with digital boils down to: Cheap camera modules are hard to calibrate to the same parameters and sometimes impossible to set focus, so pictures look the same. And taking pictures takes quite a bit of processing power, so if you want to take 4 pictures at once it gets a bit tricky with just a cheap raspberry or similar.
This is one option, trading ease of use and low cost for lower picture quality and less light.
*ouch, I feel old
[0] "In 1878–1879, Muybridge made dozens of studies of foreshortenings of horses and athletes with five cameras capturing the same moment from different positions." via https://en.wikipedia.org/wiki/Bullet_time
These days you can just capture video and make a 4d Gaussian splat
Inside of every old man, is a young man, going ”What the hell just happened?”.