The technology behind preview photos
code.facebook.com
code.facebook.com
Ie. downsample 4x-8x, blur at smaller px radius and resize back to orig size - much faster than blurring at original resolution, and looks almost identical.
Better Portable Graphics (based on HEVC):
https://news.ycombinator.com/item?id=8704629
JPEG vs BPG:
http://xooyoozoo.github.io/yolo-octo-bugfixes/#ballet-exerci...
https://news.ycombinator.com/item?id=8755521
Lossy Compressed Image Formats Study: http://people.mozilla.org/~josh/lossy_compressed_image_study...
Truncating the coefficients is a low-pass filter, which introduces nasty artifacts such as ringing. The transform of a gaussian is another gaussian, so you could in principle work in the frequency domain but only if the transform is applied to the whole image, while JPEG works in 8x8 blocks (as sp332 pointed out), and in any case there would be no computational benefit over applying the gaussian in the spatial domain.
If that's really what they did, it's weird for a few reasons, in an amusing but not ultimately that consequential way. First, there's a complex interplay between resolution and quality (Q) when it comes to how "good" a JPEG looks. For certain combinations of resolution, Q, and size-on-the-screen, turning the resolution up and the Q down actually makes the image look better, but if you go farther, it looks worse -- and that's when you aren't blurring the crap out of the entire thing anyway. Second of all, why does it matter if the final image has good "fidelity" to a blurry version of the photo that wasn't downsampled? The user doesn't know what the blurry image is "supposed" to look like, and yet the article implies they maxed out on information needed to reconstruct the true blurry image exactly. Oh, and third, there's presumably a range of acceptable blur radiuses from a UX perspective, while the 200 bytes is a hard limit, so choosing an exact blur radius and then feeding it forward through the rest of the design process doesn't completely make sense.