Das Web: Kommerziell und komplex

Aktuell wird die Kommerzialisierung und Monopolisierung des Webs immer offensichtlicher. Die Zentralisierung im Bereich der „Social Media“-Plattformen ist nichts Neues, die Vielfalt im Bereich der Browser-Engines schrumpft und die Browser müssen immer mehr können. Schön…

Microsoft hat angekündigt den Browser Edge auf Basis des Chromium-Projektes weiterzuentwickeln und somit die eigene Browser-Engine zu verwerfen.
2013 hat bereits Opera ihre eigene Eingine zu Gunsten von Webkit bzw. später Blink (und somit Chromiums Engine) eingestellt.

Offensichtlich lohnt es sich also nicht als Unternehmen die Technik für den eigenen Browser selbst zu entwickeln. Diese wirtschaftliche Denkweise führt aber am Ende dazu, dass die Vielfalt im Browsermarkt abnimmt. Je weniger die Vielfalt ist, desto einfacher ist das Leben für die Webentwickler. Auch das Leben der Schadsoftwareentwickler wird leichter: Weniger Browservielfalt führt dazu, dass mehr Leute mit denselben Sicherheitslücken angegriffen werden können.

Dadurch konzentriert sich die Entscheidungsgewalt wie Standards implementiert (und spezifiziert) werden bei immer weniger Köpfen. Schon jetzt ist Mozilla soweit Firefox um CSS-Eigenschaften anderer Browser zu erweitern („Standardizing proprietary styling features“).

Meiner Meinung nach rührt das daher, dass das Web nicht als featurecomplete angesehen werden kann. HTTP/3 wurde angekündigt, es existiert ein „Editor’s Draft“ von HTML 5.3, die Entwicklung schreitet voran und scheint nicht abgeschlossen zu sein. Eine Browser-Engine muss stetig weiterentwickelt werden um alle hippen, modernen Features zu unterstützen.

Mit diesen hippen Features kommt aber auch Komplexität einher: Mit HTML5 kamen unteranderem „Features“ wie Video- und Audio-Unterstützung, DRM und neue JavaScript-APIs zum Zeichnen von 2D-Grafiken dazu. Früher wurden solche Dinge über Plugins (z.B. Adobe Flash) abgebildet. Heute muss der Browser sich selbt um diese Funktionalitäten kümmern. Diese immerwährende Weiterentwicklung führt zu immer mehr Quelltext, der neue Bugs mit sich bringt.

Aber wofür werden denn diese tollen Features benötigt? Naja, das Web wurde als neue Plattform, neben den klassischen Betriebssystemen, für Anwendungen entdeckt und HTTP als „silver bullet“ für die Kommunikation im Internet. Zusätzlich werden JavaScript und HTML auch für Anwendungen außerhalb des Browsers beliebt. Dieses Vordringen in neue Bereiche führt am Ende zu immer mehr Features die benötigt werden um Webanwendungen an native Anwendungen anzugleichen.

Das Rad wird somit neu erfunden um die Kosten der Entwicklung von plattformübergreifenden Anwendungen zu reduzieren: Es ist halt schön die Webentwickler von nebenan auch direkt noch die Smartphone-Apps und Desktop-Anwendungen implementieren zu lassen.