Fluxify gets smarter
Have you ever opened a huge JPEG in your browser, only to watch it slowly download, filling up line-by-line? More than likely, this means the file is a so-called "baseline" mode JPEG. It's great for digital cameras, because it is relatively simple to encode a baseline JPEG, which means you can take pictures faster, but it's somewhat non-ideal for web display because of the sequential loading behavior.

There's a different JPEG mode called "progressive" which improves the situation a bit. Conceptually, it is useful (and quite accurate) to think of progressive JPEGs as first containing a "blurry" version of the image, followed by a series of refinements which sharpen the image, until you arrive at the final, crisp, version. There's a lot of added flexibility in the progressive mode. For example, you could first sharpen an important part of the image (say, the sea turtle's face) and get around to the rest of the image later. In some cases, it is also possible to maintain the same level of quality while shrinking file size, but doing so requires a sophisticated JPEG encoder. Progressive JPEGs are also more difficult to decode, because the information in each pixel is scattered across the file.
I have been spending most of my spare time (and some of my non-spare time) adding progressive JPEG support to Fluxify. I just applied the update to our server, and while there is nothing visibly noticeable, Fluxify should "just work" with progressive mode JPEGs. It also turns out that there was a bug that prevented us from sending grayscale JPEGs, which is fixed now, too.
So, now you can go learn all about JPEG on Wikipedia. The Progressive JPEG article isn't written yet. Any takers?
- Categories: cat7 photography silverlight
