I had some fun a couple weekends ago discovering the WebP file format being developed at Google for the past few years. Now this should come as no shock, but as a digital artist I have a pretty sound interest in image formats; different file formats can make or break an image, or determine its usability. For example, JPEG is better for printing where PNG is better for web graphics.
So with a new file format that I'd not heard of before, I was curious!
My Weekend Adventure
Now most artists are known for being pretty incompetent with math and programming, but I actually love the stuff! When I heard about WebP through Telegram's Stickers (Telegram is an awesome messaging app, btw!) I absolutely had to give it a shot! I've already seen Stickers used a lot by apps like Facebook and Line, so making my own seemed like a ton of fun.
The problem though? WebP is still heavily in development! (That's a good thing!) The encoder created by Google allows for converting files from JPEG, PNG, and TIFF formats, but the encoder itself requires Command Line to use (or to install a .exe). It's not super convenient for people who generally don't interact with the Command Line such as myself. I may like code, but I'm definitely more a visual guy!
So on Sunday I took my tiny scrap of programming knowledge and used Python to create a small GUI application which lets me browse for files, select a few options, and with the press of a button I'd have a working .webp! It sounds simple (and I'm sure for some it really is), but between the constraints of the language and my limited understanding it took me a whole 9 hours! I don't even know if I'd be able to make a standalone executable so others could use it without installing Python, but the project itself taught me a lot!
In the end, I had a functional application which would take my selections, write them to a batch file (.bat), and use that Command Line encoder I mentioned earlier without me so much as touching a console. I immediately started making stickers out of pretty much any old .PNG I had lying around in my art folder and spamming a bunch of my friends on Telegram with them!
But the real question is... why go to all the trouble? PNG's are just as good, right? What's so special about WebP?
Well, that's three questions... but let me answer that for you!
More Options, Less Loading
Most digital artists (for the web in particular) have 3 choices for how to export their files:
- JPEG - Typically used for photos. Compression means images quickly lose quality.
- PNG - Typically for web graphics. No compression means no quality loss, but large files. Supports up to 24-bit color and 8-bit transparency.
- GIF - Used for animated images, chat emotes, and other images which need small file sizes. 256 colors with 1-bit transparency.
Of course, there is a ton of other file format options like Tiff, Bitmap, etc. These all do just fine for what they were made for, but it's important to keep in mind that a lot of these file formats are really old. JPEG, for example, was originally created in 1992. That's over 20 years ago! Technology has come a long way since then.
WebP is special because it combines the best of both worlds. WebP has full 24-bit color and 8-bit transparency, something you could get from any PNG or JPEG. More recently the format also supports animation like the .GIF format, but allowing a full 256 levels of transparency not possible in the .GIF format. The WebP file format also supports both lossless uncompressed and lossy compressed files.
With lossless WebP already averaging 26% smaller file sizes than both PNG and JPEG, the images load faster and take less bandwidth to send. In the world of mobile browsing, that's a huge deal. Those smaller file sizes save networking costs of companies and data plans of consumers.
The only major downside at the moment is the lack of support. Currently only Chrome, Opera, and Android's browser support WebP without additional extensions. Even the unofficial plugin for Photoshop currently does not support alpha channels or animation, two of the biggest draws of the image format. Google does provide a windows codec allowing the file to work within Windows, but official support from Microsoft is also yet to be announced.
There is also some debate over how lossy compression looks when compared to the JPEG equivalent, as the algorithms used for the compression differ for each format.
Luckily, WebP is still in development! Improvements are being made constantly to the image size and quality, and support is being added by more and more applications, so these downsides will hopefully become fewer as time goes on.
While of course I'm all for the WebP format, it's not the only new file format making its way around. APNG (Animated Portable Network Graphics) have also caught the attention of geeks like myself.
APNG is a bit different because it is based off the PNG format, making it backwards compatible to an extent by displaying the first frame of the animation as a .png on software lacking support for the new format. However, APNG is also still relatively unsupported even 10 years after the initial release back in 2004 by Mozilla.
Hope for the Future
So of course it's a bit silly for me to say, but I'm honestly excited for support of WebP to increase! As the years go on and CPU power increases, optimization tends to be skipped. That's a shame because if physical technology continues to get smaller and smaller... well... so should the non-physical technologies like software, images, files, and operating systems.
Soon enough, WebP may become THE image format for the web!