Jan 14 2016

Experten-Interview Malte Lantin, Microsoft Deutschland GmbH

Malte Lantin von Microsoft im Interview über Interoperabilität

Malte Lantin, Technical Evangelist bei Microsoft, hat bei der internationalen TYPO3 Konferenz in Amsterdam einen viel beachteten Vortrag zum Thema Web Interoperabilität gehalten. Es ging unter anderem um die neue Microsoft Strategie „mobile first – cloud first“ und die Auswirkungen auf den neuen Browser Microsoft Edge. Wir von der Stuttgarter TYPO3 Agentur anders und sehr haben mit Malte während der T3Con 2015 ein Interview geführt.

Malte, bei der internationalen TYPO3 Konferenz in Amsterdam wurde dein Vortrag gleich mehrfach mit spontanem Applaus der Teilnehmer bedacht. In dem Vortrag ging es um die neue Strategie von Microsoft für das Web, die man unter dem Schlagwort „Interoperabilität“ subsummieren kann. Kannst Du die Strategie etwas erläutern?

In den letzten Jahren hat sich die Nutzung des Internets dramatisch geändert. Bei vielen Websites erfolgen heute 50% der Zugriffe über Smartphones und Tablets. Auch hat sich die Browserlandschaft stark verändert. Während früher der Internet Explorer dominant war, spielen heute Chrome und Safari eine größere Rolle. Microsoft möchte die eigenen Services so gut wie möglich auf allen Geräten und Browsern zur Verfügung stellen. Ein zusätzlicher wichtiger Baustein ist der neue Edge-Browser in Windows 10, der die modernsten Features nun in einem neuen Browser vereint und gleichzeitig alte Zöpfe abschneidet. Bei der Entwicklung von Microsoft Edge haben wir wie bei allen Microsoft Services Wert darauf gelegt, den Anwendern die gleiche Nutzererfahrung zu bieten, ganz gleich welches Gerät dieser gerade nutzt – daher das Motto Interoperabilität.

Interoperabilität verbessert Nutzererfahrung im Mobile web

Microsoft hat während der Entwicklung des Edge-Browsers viele Websites analysiert, darunter die 20.000 beliebtesten Internetseiten in Deutschland. In deinem Vortrag hast du einige der Ergebnisse dieser Studie, sowie Daten von öffentlich verfügbaren Quellen wie httparchive.org und www.webpagetest.org vorgestellt. Was waren die wichtigsten Erkenntnisse?

Auffallend war, dass die durchschnittliche Website heute 2MB groß ist. Der größte Teil des Datenvolumens geht natürlich auf das Konto von Bildern und Videos. Auf Platz zwei - und das war etwas überraschend – steht bei vielen Seiten JavaScript.

Datenvolumen von Websites

Fast 10% der Websites nutzen noch prefixed CSS ohne Berücksichtigung aller modernen Browser, sind also explizit für bestimmte Browser optimiert. Und 60% der Websites nutzen User Agent Detection, d.h. sie ermitteln, welchen Browser der Besucher verwendet und stellen sich darauf ein. Auf vielen Webseiten geschieht dies, um Browserstatistiken zu erstellen. Erschreckend viele Seiten verwenden User Agent Detection jedoch auch als Browserweiche, um unterschiedlichen Browsern unterschiedliche Inhalte auszuliefern. 15% der Websites liefern je nach Browser tatsächlich sogar anderen HTML-Code aus – ein für mich erschreckend hoher Wert. Denn für die Webentwickler bedeutet das, mehrere Code-Varianten zu entwickeln und zu pflegen.

Wie flossen diese Ergebnisse in die Entwicklung von Edge ein?

Ein Entwicklungsziel von Edge war und ist Interoperabilität. Microsoft Edge soll für existierende Webseiten die bestmögliche Nutzererfahrung bieten und das ohne eine explizite Anpassung der Seite. Deswegen ist z.B. auch der User Agent String von Microsoft Edge sehr ähnlich zu dem von Google Chrome. Auf diese Weise wird sichergestellt, dass der Nutzer keine für ältere Internet Explorer optimierte Versionen der Webseiten erhält. Edge verhält sich teilweise auch wie andere Browser und interpretiert beispielsweise bestimmte prefixed CSS für Webkit (Safari) entsprechend. Diesen Weg haben wir gewählt, um von Anfang an eine gute Nutzererfahrung zu bieten, ohne Webentwickler unnötig zu belasten. Entwickler sollten jedoch in Zukunft nur noch eine Version ihres Codes pflegen. Edge unterstützt hierfür mehr Standards als alle bisherigen Microsoft Browser. Und weil Webentwickler gerne Features nutzen, bevor diese standardisiert werden, werden genau solche Features in Zukunft schnell in den neuen Browser eingebaut.

Was tut Microsoft als Browser-Hersteller noch, um den Benutzern eine möglichst gute Experience zu bieten?

Die Untersuchung ergab, dass viele Websites auf unterschiedlichen Browsern unterschiedlich aussehen. Das liegt daran, dass die Websites abfragen, mit welchem Browser sie besucht werden und anderen Code ausliefern. Microsoft stellt zum 12. Januar 2016 die Unterstützung älterer Internet Explorer Versionen (< Internet Explorer 11) bis auf wenige Ausnahmen ein. Wir fördern zudem aktiv deren Ablösung bei unseren Kunden, man denke beispielsweise an die Kampagne zur Ablösung des Internet Explorers 6. Gleichzeitig rufen wir Entwickler aktiv dazu auf, sich auf die Unterstützung moderner Browser zu konzentrieren und die Unterstützung älterer Versionen, wenn möglich, einzustellen.

Dafür gab es während deines Vortrags spontanen Applaus – ein Schritt, der von vielen Webentwicklern sehr positiv aufgenommen wird.

Die positiven Rückmeldungen freuen uns und zeigen, dass wir auf dem richtigen Weg sind. Viele Anstrengungen wurden unternommen, damit Edge von Haus aus möglichst viele Web-Technologien unterstützt. Wie gerade erwähnt haben wir zudem viel unternommen, damit Entwickler nicht einen weiteren Browser explizit unterstützen müssen. Zusätzlich bietet Microsoft Webentwicklern virtuelle Maschinen und moderne Tools an, um die eigene Website zu testen, beispielsweise Vorlon.js. Außerdem wurden neue Kanäle etabliert, um direkt mit den Edge-Entwicklern in Kontakt zu treten: unser Twitter-Account @MSEdgeDev dient dem direkten Austausch zwischen Webentwicklern und dem Edge-Team.

Auf der Website http://uservoice.microsoftedge.com haben wir einen Kanal eingerichtet, um Verbesserungsvorschläge an das Edge-Entwicklungsteam zu schicken. Jeder kann dort auch über Vorschläge abstimmen. So erfahren wir welche Features als wichtig eingeschätzt werden.

Welche Tools können Webentwickler nutzen, um allen Nutzern eine möglichst gute Experience zu bieten?

Empfehlenswert ist zunächst einmal caniuse.com. Das Tool bietet Infos über die Marktanteile von Browsern in verschiedenen Ländern und welche Features die Browser jeweils unterstützen. Es liefert vor allem in der Planungsphase wertvolle Daten. Eine Übersicht der Features im Edge Browser, auch im Vergleich zu anderen Browsern, findet sich unter https://dev.windows.com/en-us/microsoft-edge/platform/status/. Für Chrome gibt es eine ähnliche Seite unter https://www.chromestatus.com.

Sehr empfehlenswert ist zudem modernizr.com. Es bietet Funktionen um „Feature Detection“ für die Nutzung moderner Webfeatures noch einfacher zu machen. Feature Detection ist deutlich zukunftssicherer als bisherige Browser-Weichen: damit kann ein Webentwickler herausfinden, ob der Browser des Benutzers eine bestimmte Funktion unterstützt oder nicht und entsprechend reagieren. Das funktioniert im Gegensatz zur User Agent Detection auch bei zukünftigen Browsern, die es heute noch nicht gibt und bei sich schnell ändernden Versionsnummern. Zuletzt sei noch Vorlon.js erwähnt, ein Open Source-Tool, das von einer kleinen Gruppe Microsoft Entwicklern maintained wird. Damit können Entwickler Ihre Anwendung auf Plattformen testen und debuggen, für die es normalerweise keine einfache Debugging-Möglichkeit gibt, beispielsweise auf Smartphones. Zusammen liefern die genannten Tools Infos und Funktionen, die es Webentwicklern wesentlich einfacher machen, Anwendungen für verschiedene Devices und Browser zu schreiben.

Wie sieht die Roadmap für Edge aus?

Der Support für den Internet Explorer 8, 9 und 10 unter Windows 7 und Windows 8.1 endet im Januar 2016. Ab dann wird es technischen Support und Sicherheitsupdates nur noch für die jeweils aktuellste Version des Internet Explorer (IE 11) geben. Bei neuen Funktionen werden wir uns auf Microsoft Edge konzentrieren. Edge ist der moderne Browser von Microsoft. Ein Ziel ist es, die Fragmentierung im Browsermarkt zu überwinden. Damit machen wir es Web-Entwicklern einfacher, nur noch einen Code-Path für alle wichtigen Plattformen pflegen.

Malte, vielen Dank für diesen spannenden Einblick in die Browserentwicklung!

Danke ebenfalls.