Many managers tune out at technical details, but this is one time that they shouldn't, particularly if they work at companies that distribute and update software. Google's Chrome team announced a new compression algorithm (via Slashdot.org) that it expects to keep updates small. To consider the importance, think of the last time you had to download a Windows or Mac OS update. Not fun. Apparently Google has found a new way to shrink what actually has to be sent -- in at least one case by a factor of ten to one.
The way most software is updated is through binary diff algorithms. What the developer does is compare the current software with the new version to find the places where the machine code (expressed in binary) is different, hence the term. By knowing where the differences are and making the right changes to the existing file, you transform it into the newer version. Then you push the diff file out over the Internet.
But there's a problem: the files can still be large. This can slow down machines, take up bandwidth, and clearly costs the developer money in traffic charges. The smaller you make the file, the more money you save and the more convenient you make life for the customer.
Here's a comparison of a recent update that the Chrome developers did:
- Full update: 10,385,920 bytes, or just over 10MB
- bsdiff update (algorithm they had bee using): 704,512 bytes
- Courgette update (their new algorithm): 78,848 bytes
Image via stock.xchng user 080780, site standard license.