Wednesday, May 15, 2013

WebP, and how standards evolve

I'm sure that many people imagine that standards are developed by a group of reasonable people, sitting in a room, who are pursuing things for the good of the world.

You can stop laughing now.

I am not trendy, so I managed to miss all of the discussion about WebP, despite the fact that I work in an industry that depends heavily upon image compression. When you have a 5.5" x 8" image of a palmprint at 1,000 pixels per inch, use of 15:1 JPEG 2000 compression is critical.

Then I saw Christopher Gaul's post:

I really hope WebP takes off.
It's open and can replace JPEG, PNG, and animated GIF.

As you can see from the comments in the thread, WebP claims to provide support for multiple uses AND provides them in a smaller file size. (We'll return to that later.)

Here's some of what Google says about the format:

WebP is a new image format that provides lossless and lossy compression for images on the web. WebP lossless images are 26% smaller in size compared to PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at equivalent SSIM index. WebP supports lossless transparency (also known as alpha channel) with just 22% additional bytes. Transparency is also supported with lossy compression and typically provides 3x smaller file sizes compared to PNG when lossy compression is acceptable for the red/green/blue color channels.

Webmasters and web developers can use the WebP image format to create smaller and richer images that can help make the web faster.

Now in the ideal world, Google would go to some standards committee, propose the adoption of WebP as an image compression standard, and the committee member would reasonably approve of this. This approval would then flow down to the U.S. Federal Bureau of Investigation, and the Electronic Biometric Transmission Specification would be modified to allow use of WebP.

However, as you presumably know, other organizations will only adopt a new technology when it is in their own interest.

Enter Facebook. While Facebook is normally not an ally of Google, Facebook has to store a LOT of image data, and anything that reduces Facebook's storage costs is a benefit for Facebook.

There's only one teeny tiny problem.

When people upload JPEG photos, the social-networking juggernaut converts them into the WebP format. And now it also apparently has begun delivering those images to people with browsers that can handle them, which today means Chrome and Opera.

Even if it's just a limited test, Facebook's scale and influence means that's a major endorsement of Google's image format.

But problems arise when it's time for people to do something with those images beside gaze upon them in the browser. Google has positioned WebP as an image format for the Web, at least to start, but when people save them to their hard drives, edit them, or reshare them, problems arise. Windows, OS X, Photoshop, and most other software can't handle WebP.

Because you see, while Google and Facebook are behind the format, other companies have not yet adopted it. If you buy a Microsoft operating system, you can't work with WebP files. If you use an Adobe product, you can't work with WebP files.

So those who are committed to WebP are trying to evangelize its use - not in the standards committees, but with the organizations that matter. Such as Mozilla, creator of the Firefox browser. A Facebook representative penned the following on a Mozilla board:

I am the Facebook engineer examining the adoption of webp as a serving format. We are very excited about the new format and keeping a close eye on the community to monitor adoption. It is entirely likely we will be serving webp images in some capacity in the short term after we address user complaints from our limited testing. It goes without saying, we would love to see webp support coming to Firefox soon.

So why doesn't everybody support WebP already? Because it costs money to support a new platform, that's why. As I said back in 2009:

So any application developer has to balance the need for rapid response to customers (i.e. fewer platforms) with the need to support as many customers as possible (i.e. more platforms). It's a tough balancing act, and someone's bound to be upset in the end.

And there are a number of costs when you adopt more platforms - planning time, coding time, testing time, implementation time, and sales/marketing/proposal time. If it turns out that the customers DON'T demand WebP, then all those costs will be sunk costs. Better to wait a while and see.

And I'm sure that politics will also get involved; unless it's in their best interest, Microsoft, Apple, and Adobe aren't going to be willing to do Google any favors.
blog comments powered by Disqus