Monty Python update, mise à jour, aggiornamento

Nur ein hauchdünnes Update

Das Problem ist, dass Updates wirklich wichtig für sowohl Ihre als auch die Sicherheit Ihres Gerätes sind. Deswegen haben wir hart an stufenweisen Updates für den Avira Scout Browser gearbeitet. Diese Schlüsseltechnologie erlaubt uns, Sie besser zu beschützen und reduziert zeitgleich Unannehmlichkeiten durch ein Update.

Und das Ganze ist eine Win-Win-Situation – sowohl aus Ihrer Sicht als Nutzer wie auch aus unserer als Softwareentwickler. Ihre mögliche Sicht der Dinge: Sie haben eine nur sehr langsame Internetverbindung und möchten diese nicht an ein Update verschwenden… aber dennoch möchten Sie die neusten Weiterentwicklungen und Fehlerbehebungen haben. Unsere Sicht der Dinge: Die Größe eines Updates limitiert unsere Motivation (Sicherheits-)Updates  oder auch Weiterentwicklungen für den Browser auszurollen. Browser sind groß (40MB allein für das Installationsarchiv). Wenn man viele Kunden hat resultiert das in viel benötigte Bandbreite. Und Bandbreite ist Geld – was wiederum ein No-Go für kostenlose Produkte ist.

Tatsächlich benötigen Sie jedoch nicht das komplette Update. Den Löwenanteil des Codes haben Sie bereits durch die Feature-Updates erhalten. Das heißt, dass Sie diesen Code, der sich in Ihrem Scout Browser nicht geändert hat, auch nicht noch einmal benötigen – Sie brauchen einfach nur die neuen Bytes.

Stufenweise Updates tun genau das, sie passen sich an Ihre Bedürfnisse an.

Diese Updates schicken genau drei Sachen:

  • Die neuen Bytes.
  • Eine Anleitung, die Ihrem Gerät mitteilt, wo die neuen Bytes hin müssen.
  • Eine Prüfung nach der Installation. Wenn irgendwas schief geht, erhalten Sie automatisch den vollständigen Download des Scout Browsers.

Das ist genau das, was wir benötigen, um regelmäßige Updates für Weiterentwicklungen und Fehlerbehebungen auszurollen.

Der Scout Browser basiert auf Chromium und das bringt die dazu benötigte Technologie bereits mit. Das Ganze jedoch mit Avira und dem Scout Browser zu verbinden, das war der knifflige Teil. Die folgende kurze Liste zeigt die wichtigsten Komponenten auf, die zur Lösung dieser Herausforderung geführt haben.

Courgette – Das Chromium-Tool, dass sich zwei Versionen einer Software schnappt, die neuen Bytes identifiziert und daraus die Anleitung für Ihr Gerät kreiert.

Server – Die Software zu erstellen, die auf dem Server für die stufenweisen Updates läuft, war ein wenig komplizierter. Sie muss sowohl die stufenweisen Updates und für den Fall, dass irgendwas schiefgeht (oder es durch eine sehr alte Version keine stufenweise Verbindung gibt) auch die normalen Voll-Updates handhaben können.

Omaha Client side updater – Dieser Updater hat die Aufgabe, das richtige Datenset zu finden und dieses über die jetzige Installation zu packen. Danach kommen ein paar weitere Schritte:

  • Download
  • Überprüfung
  • Anwendung
  • Überprüfung….Muss durch einen Fehler eventuell die Vollversion des Scout Browsers heruntergeladen werden?
  • Benachrichtigung des Nutzers, dass der Scout Browser neu gestartet werden muss.

Die stufenweisen Updates fügen unseren automatisierten Test-Szenarien mehr Komplexität hinzu.

  • Was passiert, wenn wir Version A auf Version B aktualisieren?
  • Funktioniert die Ausweichlösung auf den Download der Vollversion?
  • Was passiert bei einer fehlerhaften Netzwerkverbindung?
  • Funktioniert die Benutzeroberfläche ordnungsgemäß – sogar unter seltsamen oder esoterischen Umständen?

Der Code wird nur einmal geschrieben, die Tests müssen jedoch bei jedem einzelnen Update funktionieren. Die Erstellung von automatisierten Tests ist das, was wir an dieser Stelle wollten.

Ich habe mich vor einigen Monaten mit diesem Thema auseinandergesetzt, die tatsächliche Arbeit wurde jedoch von Stefan und Evgeny durchgeführt. Und vom Scout Team bei Avira. Das Lob dafür gebührt also ihnen.

Wir stehen auf den Schultern von Giganten.

Dieser Artikel ist auch verfügbar in: EnglischFranzösischItalienisch

I use science to protect people. My name is Thorsten Sick and I do research projects at Avira. My last project was the ITES project where I experimented with Sandboxes, Sensors and Virtual Machines. Currently I am one of the developers of the new Avira Browser