FIT 14.4: Web Accelerator Update

This release brings a performance update to the “rear side”. When communicating with an origin server, a TCP connection needs to be established. This comprises multiple round trips. For encrypted connections (HTTPS), an additional TLS handshake is necessary to setup parameters for secure communication. Depending on the network latency this adds up to a significant amount of waiting time in the critical path. Furthermore, the throughput of a freshly established TCP connection is limited. Only after a number of network packages have been exchanged, the throughput increases.

With 14.4, we start recycling TCP connections to avoid these performance penalties. This reduces connection overhead and improves request performance. The savings are especially high for TLS backends and (very) remote origins. On our production systems we have seen average speed-ups of up to 20%. But even in low latency environments with plain HTTP there are some milliseconds to scrape. Check your fit_request.log to see what’s in it for you!

Besides that, we have fixed a number of bugs. But in case something goes wrong nevertheless, you can now fail with grace with a custom error page.

Please note that this major release includes deprecations and removals.

In the Beta section we have introduced a page cache for PPL: When navigating back and forth in the browser history, no HTTP request or HTML parsing will be required. Instead, the previous pages’ DOM objects may be reused, resulting in much faster and less interruptive history navigation.

Refer to the full changelog for a more detailed list of changes.

FIT 14.3.1: Web Accelerator and RDL Update

Today we have released version 14.3.1 of our FIT software, including updates for the Web Accelerator and Rapid Development Layer

We have learned a lot from analyzing our image traffic. Therefore, this minor release focusses on bug fixes and enhancements of image processing.

Many images are small enough, in terms of dimensions, to fit into current clients’ viewports. That is because many mobile devices have high density displays (e.g. Apple’s retina display) resulting in lots of pixels. Those images don’t need to be scaled. Therefore, Image Scaling and Compression are now separately configurable. This can be useful for CSS documents with image sprites that should not be scaled but still be compressed.

If an image is known to be small enough for the requesting client, FIT will automatically switch from Image Scaling to Image Compression. The latter uses image URLs without sizing parameters, resulting in a better cache hit rate (in FIT and in downstream caches) and reduced disk and CPU usage.

Another finding in our image statistics is that in certain cases image weight (i.e. file size) may be increased by our image processing. Now, the smaller original image will be sent to the client instead of the processed image. We call that pass-on-enlargement. Since animated GIF images are hard to optimize and are practically never scaled, they are no longer processed at all.

We have further improved SVG as a replacement for transparent PNGs (also known as “zorro”). The alpha map is smaller. And a bug showing artifacts at image borders was fixed.

Developers will find some interesting enhancements, too. The content DC properties for example let you run Flow actions depending on the type of content (e.g. html or js). The detection page can now be disabled on a per-URL basis.

The SDK for 14.3.1 is available from Github.

Refer to the full changelog for a more detailed list of changes.

Mo’ Speed – 25% faster Web Accelerator in FIT 14.3

This update brings a significant performance boost to the server-side! The overall CPU usage is reduced by 25% on average. Depending on the features in use, sites may see even larger savings in CPU time. This is not only a benefit in terms of hardware savings. Since the responses are generated more quickly, resulting in shorter times-to-first-byte, it can be a major improvement to your site’s critical render path. These performance gains result from the update of the underlying PHP engine to the much acclaimed version PHP7.

The Web Accelerator was improved, too. As images are a very important part of the user experience, support for WebP and SVG images is now determined automatically by the client feature detection. Before 14.3, these capabilities were taken from our Client Description Repository. With the new on-the-fly detection we have more accurate information when dealing with new, unknown clients. FIT now uses URL encoding instead of base64 when inlining SVG images, which results in more efficient transfer compression and a reduced payload for the client.

The documentation now has a section on beta features. It offers an overview of experimental features that we make available for pre-production use. Any developer feedback on these features is highly appreciated!

With this major release, we introduce support for OpenSUSE Leap 42.1. We have also removed some formerly deprecated features. Please note that Session Management and the Load Brake have been removed. Support for

The SDK for 14.3 is available from Github.

Refer to the full changelog at our developer site for a more detailed list of changes.

 

FIT 14.2 – Reduce Image Weight, Raise Quality

The first release of 2016, FIT 14.2 primarily brings a set of new features regarding image optimization.

First and foremost we have implemented a new algorithm that allows us to reduce the transport size of truecolor PNGs with transparency by up to 80%. This is especially interesting for relevant browsers that do not support WebP images (looking at you, Apple Safari). While we were inspired by Mario Klingemann’s Zorro SVG we were able to take the idea several steps ahead and not only resolve issues that it raised, but also improve methods further and in consequence produce even smaller result images without the need of JavaScript.

FIT now also uses 16-bit algorithms for internal image calculation and a better gamma correction. Better handling for truecolor PNGs that are transcoded to WebP format was implemented and developers now may use ai-scaling-width/height values that will scale images bigger than the target viewport. Additionally bringing new scroll speed dependent loading of visibility delayed images and options to control the viewport offset for loading these, FIT 14.2 arguably offers the best automated image optimization we ever had.

For assuring high quality in development and maintenance of projects we introduced an XPath function and a fit.ini setting. The watch() XPath function allows you to watch XPath expressions and in case of errors will create entries in the fit_alert.log. In combination with the new fit.ini option FIT_DEPRECATION_EXCEPTION, which will cause exceptions to be thrown when deprecated features are used, you can minimize the chance that your projects will run into future issues.

We also did a rework of our user agent detection. FIT now uses the common UA Parser project for client matching. It provides a robust set of regular expressions that are less sensitive to the frequent version updates (of both operating systems and browsers) seen in user agent strings. However, we still maintain our own Client Description Repository that stores client capabilities, features and properties. After identifying the client, our CDR data is accessed to build up the Delivery Context.

Updates of third party software and bugfixes complete this release.

The SDK available from Github is updated to 14.2, too.

Refer to the full changelog at our developer site for a more detailed list of changes.

FIT 14.1.4

We are happy to announce the release of FIT 14.1.4. It is a maintenance release comprising bugfixes and a number of enhancements. Many of which aim to provide seamless integration of FIT into existing Web site deployments to make use of the Web Accelerator features.

The SDK available from Github is updated to 14.1.4, too.

Refer to the full changelog at our developer site for a more detailed list of changes.

FIT 14.1.3

We have just released FIT 14.1.3. This version comes with a host of exciting new features:

At the core of FIT, there has always been a lot of HTTP functionality, and now there is even more. The new HTTP Cache partially implements RFC7234: FIT will store publicly cacheable responses from source servers according to their cache-related headers (e.g. Cache-Control). That means that fewer resources have to be retrieved from the origin servers, the time-to-first-byte decreases and inlining features will work out of the box. Since the feature is enabled by default, you will automatically benefit from cacheable backends. However, you can still configure caching rules manually or disable caching altogether in your sources.xml.

Besides caching, FIT now supports simple HTTP Range Requests on the client connection. Downloading partial documents has become a popular way to load video files. Thus, FIT now supports video playback and seeking in most browsers/players.

To maintain a readable configuration even for complex settings, the sources.xml file is now filtered. That enables you to use dynamic expressions that for example set different origin servers for development and production setups.

Furthermore, the filtered config files (sources.xml, urlmap.xml, flow.xml) now support Dynamic Attribute Values with the shorthand syntax: attribute="{expression}". This enables you to use DC properties or arbitrary strings computable with XPath in any setting.

For proxy-like setups, especially for the Web Accelerator, you can now configure the FIT frontend domain to have the same name as your origin server. That means, you just have to change your DNS to point to FIT and your setup is ready!

On the feature side, the Web Accelerator has interesting news as well. FIT now incorporates mozjpeg as a bundled third party library. On average, it encodes JPEG images into 25% smaller output files. This can significantly speed up the transfer and rendering of your Web page.

Many CSS files contain redundant, browser specific code. The CSS minifier can now strip unused CSS code with vendor prefixes (like -webkit) that do not apply to the requesting user agent. You have to enable the feature in config.xml.

The head reordering component can now remove duplicate scripts if the same URL is used in more than one script element. You have to enable the feature in config.xml.

All CSS files stored in Adaptive Components can now be combined into a single request with the new option <style-concat>. This may save a lot of HTTP requests in projects that use ACs to modularize their code.

Developers will find that the updated SDK will apply strict XML parsing to configuration files. FIT will throw an exceptions if your configuration is not well-formed. The debug output and log files will provide detailed information regarding the cause of the error.

Also, the vagrant user in the SDK can now write FIT configuration and cache files. Thanks to that, you can e.g. empty the cache of a project without entering the guest system: vagrant ssh -- fitadmin maintenance clearcache <project>

Refer to the full changelog for a more detailed list of changes.

Your Tools, your Rules – Sevenval auf der Developer Week 2015

Your Tools, Your Rules!

Zufrieden mit euren Tools? Oder mal was Neues ausprobieren? So oder so –
mit Sevenval FIT könnt ihr nutzen, was ihr wollt. Unsere Software vereinfacht das Erstellen und Optimieren von Webseiten und ist mit allen gängigen Entwickler-Tools kompatibel.

Unser Stand auf der Developer Week

Kommt vorbei und tauscht euch mit unseren Entwicklern und unserem CTO, Roland Guelle, über aktuelle Projekte, Technologien und Methoden rund um das Front-End aus. Auch wie ihr HTTP/2 für eure Webprojekte nutzen könnt, erläutern unsere Kollegen am Stand gerne.
Ihr findet uns auf der Developer Week auf Ebene 3. Unsere Standnummer lautet 37.

Unser Vortrag

Außerdem hält Roland Guelle am Dienstag, den 16. Juni, von 10.30 bis 11.30 den Vortrag „Fragmentation of Infrastructure“. Er erklärt, wie ihr bei der zunehmenden Vielfalt von Systemen im Front- und Back-End Herr im eigenen Hause bleibt.

Den Browser entlasten: Responsive Web Design mit serverseitigen Komponenten (RESS)

Responsive Web Design (RWD) – endlich in den Unternehmen angekommen und als Begriff etabliert ist die Technologie auch schon wieder überholt. RESS ist das neue Schlagwort mit dem man sich auseinandersetzen muss, will man seine Webseite nutzerfreundlich über alle verschiedenen Kanäle ausspielen. RESS, genauer gesagt Responsive Web design with server side components – was ist das? Was sind die Vorteile sowie die etwaigen Nachteile? Diese Fragen wollen wir in einer kleinen Serie von Blogeinträgen beantworten, indem der vergleichsweise junge Ansatz RESS mit dem klassischen RWD verglichen wird.

Im ersten Schritt möchten wir die beiden Konzepte definieren und die jeweilige Architektur dahinter vorstellen:

Definition Responsive Web Design (RWD)

Responsive Web Design bezeichnet ein Konzept, bzw. Vorgehensmodell, das die Ansätze wie liquid Design, Adaptive Images und Media Queries kombiniert, um abhängig vom Endgerät bzw. Browser die Darstellung der Webseite anzupassen.

Ziel ist es, eine Web-Ausgabe für alle Endgeräte zu realisieren. Die Web-Ausgabe wird dabei möglichst generisch gehalten – das heißt, dass es keine unterschiedlichen Prozesse auf den Endgeräten gibt und diese immer den vollen Inhaltsumfang erhalten. Der Browser des Endgeräts ermittelt und entscheidet „eigenständig“ welche Inhalte dargestellt werden. Diese werden via HTML5, Media Queries, JavaScript und CSS3 auf dem Client verarbeitet.

Architekturüberblick:

Bei der klassischen RWD Architektur wird aus den Backendsystemen ein einheitliches Frontend erzeugt, welches als Datenpaket einheitlich an die Endgeräte ausgeliefert wird. Es wird vollständig übertragen und auf dem Endgerät „ausgepackt“ und verarbeitet. Bei einer generischen Ausgabe werden die Prozesse aus dem Backend übernommen und endgeräteübergreifend dargestellt. Eine Adaption kann nur auf dem Endgerät erfolgen und setzt somit eine umfangreiche Applikationslogik im Frontend voraus. Hieraus ergeben sich Abhängigkeiten, die sich auf die Performance und Stabilität negativ auswirken.

Definition Responsive Web Design + server side components (RESS)

Bei RESS handelt es sich um eine Weiterentwicklung des klassischen RWD-Konzeptes hin zu einer RWD-Lösung mit serverseitigen Komponenten. Hier werden bestimmte Prozesse vom Server übernommen und damit der Browser entlastet, dazu gehören eine Clienterkennung, Aufbereitung und Modifikation von Bildern und die Anpassung der Inhalte. Durch diese serverseitigen Komponenten wird eine Client-Server-Kommunikation abgebildet, welche die spezifischen Eigenschaften des Endgeräts mit Hilfe einer Device Database ermittelt und mit dem Server austauscht. Somit ist der Server in der Lage die angefragten Inhalte endgerätespezifisch auszuliefern. Frontend- und Backendprozesse können sauber gekapselt werden – wodurch eine kontextabhängige Auslieferung an das Endgerät ermöglicht wird.

Bei der RESS Architektur wird in der Regel ein Progressive Enhancement Ansatz gewählt, um eine Basisversion für alle Endgeräte zu definieren. Aufbauend auf dieser Version wird mittels der Device und Feature Detection der Delivery Context ermittelt. Der Delivery Context setzt sich aus den folgenden Parametern zusammen: Hardwarehersteller, Betriebssystem und Browser inkl. der entsprechenden Version. Ausgehend vom jeweiligen Delivery Context kann der Server alle Features für das Endgerät unterstützen.

RESS_Chart_IllustrationB

Architekturüberblick:

Bei der RESS Architektur wird mittels der Device Database der Delivery Context aufgebaut, um Inhalte möglichst optimal für das jeweilige Endgerät aufzubereiten und auszuliefern. Durch die exakte Kenntnis der Eigenschaften des jeweiligen Clients werden nur die Elemente ausgeliefert, die vom Gerät dargestellt werden können. Dazu gehören zum Beispiel Bilder, die bereits auf dem Server passend skaliert wurden.

Damit wird nicht nur die Anzahl der übertragenen Daten deutlich reduziert sondern auch die Performance signifikant erhöht. Zudem müssen auf dem Gerät keine aufwendigen Prozesse gestartet werden – die rechenintensiven Operationen erfolgen ausschließlich auf dem Server. Dies führt zu einer schnelleren Übertragung, weniger Rechenleistung auf dem Endgerät und somit auch zu einem niedrigeren Stromverbrauch.

Your Tools, Your Rules – Sevenval Announces FIT14

A Revolutionary Software for Responsive Web Design Projects

  • Sevenval FIT14 accelerates and improves responsive multi-channel websites while reducing required maintenance
  • The software optimizes quality and performance of websites using any browser on any device

Berlin, Germany, August 19, 2014 – In order to have a leg up on the competition, website operators have to deliver their customers an error-free quality online experience across all devices. Responsive Web Design is no longer enough due to device and browser fragmentation, as well as the ever-changing standards in web. Sevenval’s solution enables automatic browser and device detection. FIT 14 ensures websites perform strong, for all users, in any situation. Sevenval’s clients are both well-prepared for future trends and benefit from the reduced demand on maintenance. Continue reading

Douglas setzt mit Sevenval FIT neue M-Commerce-Strategie um

douglas_logoBerlin, 16. Dezember 2013 – Europas führende Parfümeriekette Douglas professionalisiert und erweitert sein M-Commerce-Angebot auf Basis von Sevenval FIT um einen neuen mobilen Webshop sowie Apps für Android und iOS.

Der vollständig neu entwickelte mobile Webshop sowie die hypriden Apps haben den Anspruch zu den Besten zu gehören. Dafür setzt Douglas auf die Technologie und Expertise der Sevenval GmbH. Continue reading