And now, 25 years later, version 3.0

25 years ago this month I released version 2.0 of my Mosaicer program. Today I release version 3.0. I hadn’t anticipated waiting 25 years, and I was originally going to do a follow-up much sooner, but when I was originally thinking about a version 3.0 the holder of a patent on photo mosaics was issuing cease and desist requests to developers working in the space.

I never got a case and desist for Mosaicer 2.0, but I didn’t want to bring any extra attention to myself in the off chance I would come onto the patent holder’s radar. At the time I remember reading through the patent and finding it overly broad, and looking at it again today, I feel the same way. I don’t see any way to create photo mosaic software without violating Claim 1 in this patent. And the guy who filed the patent wasn’t even the first person to make a photo mosaic. The whole thing just seems absurd.

But the past is the past. The patent expired in 2017. I could have released a version 3.0 then, but I had moved on by that time and was busy doing other things.

I had always wanted to revisit the app though, and a few weeks ago I remembered an idea I had for a photo mosaic app that used an FFT block matching algorithm. I had read about it in grad school and always thought it would be a good fit for a photo mosaic program. So I got to work and wrote a new photo mosaic app in Java – Mosaicer 3.0.

However, when I got to the part on writing a tile matcher that used the FFT algorithm I came to the sad realization that it was a poor fit. It did way more calculations than necessary and was more expensive than the standard sum-of-squared-differences calculation. Coming to this realization was a huge bummer, though since I was 90% done at this point, I decided to carry on and just finish up the app.

Mosaicer 3.0 isn’t really anything special – with the patent having been expired for 8 years now there are a lot of free and commercial options out there. However, one more free photo mosaic app can’t hurt, and one thing I thought I could provide that seemed to be missing was some good info on how to get images. That’s actually the hardest part about making a photo mosaic. So I put together a short list of resources and datasets that one can use when creating mosaics.

The albums dataset is especially cool. You can make album covers out of album covers. I made a Flickr Gallery of some of my favorites. Below you can see one of Metallica’s Master of Puppets.

Another idea I had was making YouTube thumbnails out of YouTube thumbnails. The yt-dlp app allows one to easily get thumbnails, and I was able to make some VSauce thumbnails entirely out of other VSauce thumbnails (example below). The only problem with this idea is that photo mosaics require a lot of images, and most channels don’t have enough videos.

Photo Mosaic of VSauce’s “Mistakes” thumbnail, made up of other VSauce thumbnails

I’m not sure if I’ll continue development on this app, but it’s been kind of fun to play around with.

Leave a Reply

Your email address will not be published. Required fields are marked *