Google Unveils New Zopfli Data Compression Library
Google has just released the new Zopfli Compression Algorithm, an open-source general-purpose data compression library that can make files 3 to 8 percent smaller than those run through the existing zlib library.
The creation and release of Zopfli, which gets its name from a traditional Swiss braided bread recipe (Zopf), was announced in a Feb. 28 post by Lode Vandevenne, a software engineer on the Google compression team, on the Google Developers Blog.
Zopfli "is an implementation of the Deflate compression algorithm that creates a smaller output size compared to previous techniques," wrote Vandevenne. "The smaller compressed size allows for better space utilization, faster data transmission and lower Web page load latencies. Furthermore, the smaller compressed size has additional benefits in mobile use, such as lower data transfer fees and reduced battery use."
One drawback with Zopfli, however, is that it is about 100 times slower in compressing data than zlib, wrote Vandevenne. Even with that drawback, it still "compresses around 5 percent better than zlib and better than any other zlib-compatible compressor we have found."
Zopfli, which is written in C, has been released under an Apache Software Foundation 2.0 open-source license. It is a compression-only library and is bit-stream-compatible with compression used in gzip, Zip, PNG, HTTP requests and others.
Because Zopfli uses two to three times more CPU time than zlib at maximum quality, "Zopfli is best-suited for applications where data is compressed once and sent over a network many times, for example, static content for the Web," Vandevenne wrote. "By open-sourcing Zopfli, thus allowing webmasters to better optimize the size of frequently accessed static content, we hope to make the Internet a bit faster for all of us."
Vandevenne has a special interest in compression algorithms, and created Zopfli as part of his "20 percent time" at Google, according to his post. Google encourages its employees to work on personal projects that advance the company's work and missions using as much as 20 percent of their workweek.
Google is active in the world of open-source software creation.
In February, the company announced that it is again hosting its annual Summer of Code program to invite college students to learn about the world of open-source code development. Summer of Code is a program that Google uses to help inspire the next generation of open-source developers.
This is the ninth year for the program, which since 2005 has involved some 6,000 college and university students from more than 100 countries. The program offers student developers stipends to write code for various open-source projects with the help of mentoring organizations from all around the globe. The program allows the students to pursue academic challenges during their summer breaks while they create and release open-source code for the benefit of all.
Each year, Google accepts applications from companies and individuals interested in mentoring the students whose applications are accepted by the program. More than 3,000 mentors have been involved in the program so far, according to Google. Students in the program receive a stipend payment of $5,000 from Google, while their mentoring group receives $500.
By working with their mentors, the students gain exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits, according to Google. Those students then become a pool of skilled developers from which employers can use to more easily identify and bring in new developers in the future.
In November 2012, Google launched its third annual international Google Code-In contest, which introduces 13- to 17-year-old pre-university students to open-source software development. Prizes in that event include certificates and T-shirts, and 20 grand-prize winners win an all-expenses-paid trip to Google headquarters in Mountain View, Calif., in the spring. In 2011, 542 students from 56 countries participated.