CGNwebperf #20 zu Gast bei Sevenval

Am letzten Donnerstag trafen sich in unserem Kölner Office etwa 20 Web-Performance-Interessierte, um das letzte Meetup der Cologne Web Performance Enthusiasten im Jahr 2017 zu begehen. Bereits am Mittwoch begannen wir mit den Vorbereitungen. Die Gewinne für das an dem Abend stattfindende Performance Quiz mussten noch verpackt werden. Liebevoll haben Madlena und ich unsere Sevenval-Tassen mit diversen Süßigkeiten und Stickern befüllt. Eine Stunde vor Meetup-Beginn wurde dann das kaltgestellte Bier und auch der Kicker ins Foyer geschafft. Um kurz vor sieben kamen die ersten Gäste und wurden je nach Wunsch mit Bionade, Kölsch, Knabbereien und Pizza versorgt.

Für Martin, unseren Head of HR, und den Meetup-Organisator Stefan Böck bestand nun die Herausforderung, uns vom Kicker loszulösen und das Meetup zu beginnen. In Form von Lightning Talks erwarteten die Meetup-Teilnehmer sechs kurze Vorträge aus dem Bereich Performance.

Zuerst stellte Stefan Wintermeyer sein Projekt mehr-schulferien.de vor. Dies wird auf einem sehr altersschwachen Server gehostet und Stefan musste mit den Widrigkeiten von geringem Arbeitsspeicher viele Hunderte Abfragen managen. Ich habe von dem Vortrag leider nicht alles in die Tiefe verstehen können, dafür waren die fünf Minuten einfach zu kurz, ich habe aber mitgenommen, dass es auch bei Webseiten, die vor allem durch Datenbankabfragen leben, möglich ist, diese zumindest partiell statisch zu speichern.

Beim nächsten Vortrag von Christian Schaefer war ich schon mehr im Thema, er verglich jQuery, das über Jahre zu den Standard-Frameworks in der Frontendentwicklung zählte, mit den heutigen Leistungen nativer Browser APIs. Dabei wurde noch einmal deutlich, wie wichtig Javascript beim Thema Web Performance ist. Javascript blockiert die Requests an den Server und kann das Rendering blockieren. Außerdem wird nativer Code im Browser deutlich schneller ausgeführt als geladene Scripte, wie jQuery.

Oliver Adria hat sich dem Thema des schnelleren Entwickelns angenommen. Heutzutage haben Entwickler eine Vielzahl an möglichen Tools, um ihre Projekte und deren Dateien zu managen. Dies kostet viel Zeit und erhöht mitunter den Wartungsaufwand, wenn die Konfiguration nicht gut gemacht ist. Abhilfe soll da Symfony Webpack Encore schaffen. Dieses Plugin wurde von Symfony entwickelt, kann aber auch außerhalb der Symfony-Umgebung verwendet werden. Das fand ich sehr spannend und werde ich mir sicher mal ansehen.

Danach hat Christian Lorenz sein Vorgehen für die Entwicklung eines eigenen Performance-Frameworks vorgestellt. Das Thema hat uns alle sehr neugierig gemacht und ich hoffe, dass wir uns nach dem Abschluss seines Projektes das Ganze genauer anschauen können.

Auf den Vortrag von Felix, unserem Director Software Development and Operations, war ich besonders gespannt. Er erzählte über Experimente mit der JPEG-Qualität. Ich habe während des #woodhack, unserem Sevenval-internen Hackathon, in diesem Jahr schon einiges darüber erfahren und wollte wissen, wie der Stand heute ist. Mit Experimenten, in denen einfache und komplexe Bereiche in JPG-Dateien unterschiedlich stark komprimiert wurden, hat sich herausgestellt, dass ein Bild mit hoher Qualität in den einfachen Flächen und niedriger Qualität in komplexen Flächen als deutlich besser wahrgenommen werden, als wenn die Qualität in den einfachen Flächen herabgedreht wird. Hoffentlich sehe ich die Ergebnisse daraus bald in wao.io.

Als letzter Vortragender in der Runde hat Organisator Stefan ein ungewöhnliches, aber spannendes Thema mitgebracht. Dabei ging es um Sprachweiterleitungen auf Basis der gesetzten Browsersprache. Er hat vier Techniken und ihre Dauer bis zum Redirect verglichen. Darüber kam schnell eine Diskussion auf, welche Sinnhaftigkeit eine sprachbasierte Weiterleitung hat. Jedoch zeigte Stefans Vortrag, dass von vier verschiedenen Lösungen keine ideal war, weder das Verarbeiten der Sprache im Browser über Javascript, noch das Verarbeiten über PHP.

Damit endeten die sechs Lightning Talks und nach einer kurzen Pause ging es weiter mit einem Performance Quiz. Alle Teilnehmer konnten sich über eine Webseite in das Quiz einwählen und direkt mitraten. Und die drei Erstplatzierten durften sich über kleine Preise freuen. Die Fragen waren alle im Zusammenhang mit Web Performance und man musste aus vier möglichen Antworten auswählen. Ich habe leider bei diesem Quiz vollkommen versagt und bin nur Vorletzte geworden. Aber auch bei diesem Quiz gab es viel zu lernen. So dauern heutzutage viele Seiten bei 3G-Geschwindigkeit etwa 22 Sekunden, bis sie vollständig geladen sind, vor ein paar Jahren waren es nur 11 Sekunden. Dies zeigt, wie wichtig und noch immer vernachlässigt das Thema Web Performance ist.

Danach wurde bei ein paar Kölsch, Knabbereien und unserem Kicker weiter gefachsimpelt, man hatte ja genug spannende Themen durch die Vorträge bekommen. Nach den Vorträgen hat mich vor allem eine Frage beschäftigt, die Christian in seinem Vortrag kurz ansprach: Webseiten können auch zu schnell reagieren. Die Ladezeit mancher Funktionen kann einem User das Gefühl der Sicherheit vermitteln. So ist es für mich als User nicht nur in Ordnung, wenn eine Online-Überweisung oder ein Bezahlprozess ein paar Sekunden dauert, ich wäre sogar eher skeptisch, wenn dieser Vorgang innerhalb von Millisekunden abgeschlossen wäre. So kann in manchen Fällen das langsame Laden sogar ein gewünschter Effekt sein.

Ich habe aus dem Meetup viele spannende Ideen mitgenommen und neue Leute kennen gelernt. Ich war definitiv nicht das letzte Mal bei der CGNwebperf. Doch jetzt freue ich mich auf das nächste Meetup der Cologne JS, in dem Martin Wilz in Vertretung für Jörn Zaefferer von sloppy.io einen tiefen Einstieg in Docker bieten wird.

Antonia (Senior Software Developer @ Sevenval)

Zur Blog-Startseite