Essentially, the authors of this tool figured out the optimizations that Apple were doing, and reversed the steps to convert them back into standard PNG images. The tool relied upon a compiled-in version of the libpng library.
Recently when I went to use this tool again, I noticed that it did not work reliably. It dumped lots of memory errors and complained of “extra compressed data” in the input files. I then proceeded to spend too many hours trying to fix it, bashing my head against libpng, before my friend Tom Harrington alerted me to an Xcode-bundled tool that can do the job reliably:
…a more accurate description of the issue is that they are not PNGs despite using a PNG header and similar file structure and purloining the .png extension.
The PNG specification has very specific conformance requirements specifically to avoid incompatible variants popping up, and disguising the iPhone-optimized pictures as PNGs is a downright Microsoftishly destructive thing to do.
Stay up-to-date by subscribing to the Comments RSS Feed for this post.