Die Hauptgründe für diese Entscheidung
- Die WCSD Updates sind hinsichtlich Dateigrösse als echte Patches ausgelegt und damit hochgradig effizient. Das heisst ein WCSD Update enthält nur die tatsächliche Differenz zwischen zwei Versionen. Bei Änderungen werden also die geänderten Dateien nicht komplett in das Update gepackt, sondern nur die Änderungen selbst. Damit wird dem Umstand Rechnung getragen, das es auch heute noch Benutzer gibt, die mit einer sehr mageren Internetverbindung auskommen müssen. Nach wie vor gibt es Anschlüsse die weniger als 2 MBit aufweisen, manchmal sogar weniger als 1 MBit. Solche Benutzer habe ich selber im Bekanntenkreis. Diese Benutzer holen sich - sofern möglich - das grosse Installationspaket einmalig bei einem Freund, Kollegen oder Nachbarn und freuen sich dann über möglichst kleine Updates, die sie in akzeptabler Zeit selber herunterladen können.
- Ohne Patches müssten jedes Mal über 2 GB bewegt werden. Zuerst von uns auf den Webserver, dann von unserem Webserver zu den Mirrors und schlussendlich von den Mirrors zu den Spielern. Das wäre bei kleinen Änderungen - bei denen nur ein paar hundert KB bis ein paar MB anfallen würden - höchst unökonomisch und unnötige Verschwendung von Resourcen. Mit den Patches sind wir dagegen in der Lage, bei kleinen Änderungen auch kleine Updates anbieten zu können. Somit werden sowohl Mirrors als auch Spieler bezüglich Datenverkehr entlastet. Aktuell hat das kleinste Einzel-Update übrigens 80 KB und das grösste gerade mal 5.3 MB. Die komplette Installation von WCSD umfasst aktuell 2.7 GB.
- Die Erstellung des Basis-Pakets erfolgt manuell und ist Zeitintensiv, was auf das packen der Daten bezogen ist. Die Patch-Erstellung ist dagegen automatisiert und erheblich schneller, weil das Patch-System nur die Dateien bearbeiten muss, die sich tatsächlich auch geändert haben oder neu dazugekommen sind.
Patches haben natürlich den Nachteil, das sie immer nur auf eine spezifische Version installiert werden können. Hat man z.B. Version 1.0.4 und will auf 1.0.9 aktualisieren, muss man der Reihe nach 5 Patches installieren. Darum wird es zukünftig zwischendurch Service Packs geben, wenn eine gewisse Anzahl Einzel-Updates veröffentlicht wurde. Die Service Packs haben die gleiche Funktion wie die Basis-Updates; also WCSD direkt auf die neueste Version zu aktualisieren. Im Gegensatz zu den Basis-Updates (bisher Sammel-Updates genannt) kann ein Service Pack aber auf jede beliebige WCSD Version installiert werden, egal ob z.B. 1.0.0 oder 1.0.5 vorhanden ist.
Die nächste Version 1.1.0 ist wieder ein grösseres Update und das ist die ideale Gelegenheit, erstmalig ein Service Pack (SP1) zu veröffentlichen. Nach einem Service Pack kann wiederum mit Einzel-Updates aktualisiert werden, bis zum nächsten Service Pack. Die Basis-Updates wird es ebenfalls weiterhin geben, um direkt eine frische Installation auf den neuesten Stand bringen zu können, unabhängig von den Service Packs.
Bei Veröffentlichung eines neuen Service Packs werden alle zuvor veröffentlichten Einzel-Updates und Basis-Updates obsolet und dementsprechend ins Update-Archiv verschoben. Ein Service Pack stellt also eine neue Update-Basis dar, auf der die nachfolgenden Updates aufbauen. Dementsprechend kann ein Service Pack auch für die Reparatur genutzt werden, z.B. wenn bei Updates etwas schiefgelaufen sein sollte. In dem Fall einfach das letzte SP installieren und dann mit den nachfolgenden Updates aktualisieren.
Die Service Packs werden deutlich grösser sein als Einzel-Updates und auch grösser als Basis-Updates. In unserem Fall hält sich das aber noch in Grenzen; das geplante SP1 wird voraussichtlich knapp 10 MB gross. Je nach zukünftigen Änderungen oder Korrekturen, kann ein Service Pack aber auch mehrere hundert MB gross werden. Das wäre dann der Fall, wenn wir an den Video-Untertiteln Korrekturen vornehmen müssten.