Web Performance Limitations (Part 1)

When web developers talk about the web today they often discuss topics around web performance optimization (WPO). Nowadays it’s an even more important topic, since we use the browser for almost any type of application with many different devices and different connection types from all over the world. It’s a complex environment where dozens of lines of code get written and executed. Companies like Amazon and eBay have huge decreases in revenue when their site loading times increase. In 2008, Amazon reported that they approximately lose 1% of revenue for every 100 ms increase in loading time, which when we think about the revenues of Amazon in 2015 (107 billion dollar a year) would imply a loss of 1.07 billion dollar a year.

And that’s by far not everything. In a recent talk given by one of the head Opera developers, Bruce Lawson mentioned that more users and devices will hit the WWW: Emerging markets like Africa and India are growing fast. He predicts that we will have roughly 3 billion more users using the WWW in the next 50 years and that they will come from emerging markets. They will not connect to the internet with a high end desktop computer, they will start using the internet with a low budget smartphone, with slow internet connections and low processing capabilities. These markets will eventually be our next customers, and therefore we need to emphasise the need of performance, so that everybody is able to use our web applications no matter their device or internet connection quality!

In this blog series I want to discuss what web performance is, how to look at it from a user-centric perspective and show which kind of optimization techniques we can use to make our web applications faster.

First, let’s start this series by showing the limits of web performance optimization to increase awareness for measurement parameters like seconds (sec) and milliseconds (ms). Weiterlesen

Polymer: Flux-Architektur im DOM

Mit Polymer und Web Components kann durch hierarchische Unterteilung und Komposition eine aufgeräumte, gut erweiterbare Struktur einer Web App aufrechterhalten werden. Wächst die Anwendung jedoch konstant weiter, müssen zusätzliche Strukturen gefunden werden, um den Datenfluss durch die Anwendung vorhersagbar und wartbar zu machen. Wer mit seiner Anwendung an diese Stelle im Entwicklungsverlauf kommt, hat die Möglichkeit, eine maßgeschneiderte, für die Anwendung genau passende Architektur selbst zu entwerfen und umzusetzen. Diese Vorgehensweise führt jedoch oft nicht zum gewünschten Ergebnis, da in dieser Phase leicht subtile Fehler gemacht werden können, die sich im späteren Projektverlauf stärker und stärker auswirken und schwer zu beheben sind, da die Fehler schon im grundlegenden Aufbau liegen.

Mit der von Facebook veröffentlichten Flux-Architektur, die als über die Jahre entwickelte Best-Practice-Lösung von Facebooks eigener Web App zu verstehen ist, steht ein Entwurf bereit, der von vielen kleineren und größeren Anwendungen adaptiert und daher gut getestet und validiert wurde.

Weiterlesen