У меня есть компьютеры Ubuntu и телефон Android, и меня всегда удивляет, почему менеджер обновлений по умолчанию в Ubuntu и Google Play на телефоне не обновляет существующие версии приложений, вычисляя разницу между ними и новыми версиями. Я уверен, что это относится и к другим операционным системам (вот почему этот вопрос не задан для энтузиастов Ask Ubuntu или Android)
Рассмотрим, например, последнее обновление (второстепенный выпуск) Карт Google (по состоянию на 18 апреля 2012 г.). В разделе «Что нового» говорится, что он содержит исправление критической ошибки. Можно с уверенностью предположить, что большая часть кода не была изменена, и все же, когда вы обновляете приложение, оно загружает более 6 МБ, как будто это новая установка.
Почему серверы обновлений не могут рассчитать разницу (по-английски) с установленными версиями и отправить только разницу? Неужели так сложно сделать это со всеми версиями? Не будет ли сохраненная пропускная способность основной мотивацией?
Редактировать 6 декабря 2016: Google только что объявил, что собирается использовать патч к файлам для обновлений Android APK - Сохранение данных: уменьшение размера обновлений приложения на 65%