Nach fast einem Jahr der Beta-Phase ist die neue Websites der britischen Zeitung „The Guardian“ am 28. Januar 2015 offiziell zur einzigen Website geworden
Im letzten Jahr bin ich mehrfach auf dieses Projekt gestoßen worden – nicht zuletzt durch Oliver Reichensteins Vortrag bei der beyondtellerrand in Berlin.
Aus Entwicklersicht birgt dieses Projekt viele spannende Aspekte, schon wegen der Bekanntheit der Site, wegen ihres Umfangs, weil der Relaunch mit einem internen Team durchgezogen wurde usw.
Interessant auch, dass sie einen anderen Ansatz zum Aufbau von Websites wählt. Weg vom Denken in „Bäumen“ und Hierarchien, hin zu einer flexiblen, flachen Struktur – näher an die Realität des Surfverhaltens. Geteilter Content, z.B. über Twitter, ist ja immer ein Direktlink auf Einzelseiten. Jede Seite wird damit zur Startseite: „Every article should be a homepage“.
Dieses Ziel wird durch den Seitenaufbau mit Hilfe von Containern umgesetzt. Ich will versuchen, das zu erklären: Eine Website wird linear aus Seitenabschnitten zusammengesetzt, die von links nach rechts die gesamte Seitenbreite füllen. Diese Seitenabschnitte sind aber nicht einfach „Textabschnitt“, „Bild“, „Werbeblock“, „Video“, sondern können in sich komplexe Inhalte oder Funktionen enthalten. Wichtig dabei ist – so wie ich das verstanden habe, dass Inhalt und Funktionalität eines Containers zusammengehören. Der Hintergedanke wird sofort deutlich, wenn man an responsive Websites denkt. Bei einer Spaltenstruktur (die genau aus diesem Grund seltener wird) hat man ja das Problem, dass in der linearen Umsetzung beispielsweise erst der Inhalt (ein Artikel) und dann später, ganz weit unten, zusätzliche „Rand“-informationen kommen, die auf einem breiten Display nebeneinander stehen würden. Im Containermodell wird versucht, diese räumliche Nähe der Inhalte beizubehalten.
Wie so viele Sachen hört sich das erstmal nicht sehr spektakulär an, in der Konsequenz der Umsetzung macht es dann aber doch einen Unterschied. Ich stelle mir vor, dass dieser Grundgedanke die Redakteure vom festen Gerüst des Template-Denkens befreit und dazu zwingt, sich jeweils passende Zusammenstellungen von Inhalten und Teaser und anderen Elementen zu überlegen.
Das führt mich dann auch zum nächsten interessanten Punkt an diesem Projekt: Spezielle Aufgaben bedürfen spezieller Werkzeuge. Für die Guardian-Website wurde eigens ein CMS entwickelt, welches dann sicherlich diesen Workflow und das Layoutmodell nahtlos unterstützt. Zum Back-End habe ich bis auf einen Mini-Screenshot in [3] keine Bilder gefunden. Im Entwickler-Blog [1] findet man dagegen Infos zum verwendeten Editor scribe, der ebenfalls für dieses Projekt entwickelt wurde.
Die neue Website wurde von einem hausinternen Team entwickelt, welches sich für Workshops externe Kollegen dazuholte. „As part of our product discovery process the team ran several ideation workshops with colleagues in editorial and commercial, as well as involving Information Architects, a design agency with experience in digital news. It was during these workshops with Oliver Reichenstein and Konstantin Weiss of iA where the concept of containers and the container model really came to life.“ [2]
Montage von vier zufällig gewählten Artikelseiten des Guardian
Ich bin gespannt, wie sich die Website im Laufe der Zeit weiterentwickelt. Wenn ich mal vier zufällig aus verschiedenen Ressorts herausgepickte Artikelseiten vergleiche, dann sehe ich schon, dass es natürlich ein Repertoire an mehr oder weniger festen Blöcken gibt, die immer wieder – auch in ähnlicher Anordnung – benutzt werden. Ich nehme an, die Leser sollen auch nicht durch zu viel Vielfalt verunsichert werden.
Um breite bzw. komplexe Tabellen auch auf kleinen Monitoren zugänglich zu machen, gibt es verschiedene Möglichkeiten. In einem unserer Projekte haben wir vor einiger Zeit eine reine CSS-Lösung angewendet, die hier kurz dokumentiert wird.
Für diese kleine Tabellen-Umorganisation war die CSS-Lösung ganz gut, ließ sich schnell implementieren und funktioniert auch, soweit ich das bisher gesehen habe, überall. Für wirklich große Tabellen würde ich aber auf eine komfortablere Lösung mit Javascript setzen – am besten natürlich so, dass der Nutzer sich selbst aussuchen kann, welche Spalten er in welcher Reihenfolge braucht, welche ausgeblendet werden sollen, ob der Tabellenkopf links oder oben steht und so weiter.
Projekt
Fortbildungsportal der Architektenkammern der Länder
Auftraggeber: Bundesarchitektenkammer, Berlin www.architekten-fortbildung.de
Links
zu jQuery-basierten Javascript-Lösungen, die ich aber beide nicht ausprobiert habe:
Problematik: bestmögliche Bildqualität bei optimalen Ladezeiten. Auslieferung unterschiedlicher Bildgrößen für Desktop oder Smartphone.
Bildauslieferung im Grid-System (wie es bisher war)
Bei Seiten mit festen Layouts (z.B. www.architekten-thueringen.de, 24er-Grid nach dem 960 Grid System) ist von vornherein durch das Template klar, welche Bildgrößen benötigt werden, z.B: Projekt-Kurzansicht (grid6 = 230px), Projektdetailseite, Bild über ganze Inhaltsspalte (grid12 = 470px), Großansicht in der Lightbox (grid18 = 710px) und so weiter.
Beispiel für Bildgrößen im festen Layout: Projekt-Kurzansicht, Projektdetail, Großansicht
Diese Größen werden in der Projekt-Konfiguration festgelegt:
Beim Hochladen eines Bildes in das CMS werden die entsprechenden Bildgrößen sofort berechnet und im Dateisystem abgelegt. Beim Ausliefern der Seite werden dann jeweils die richtigen Bildgrößen an der richtigen Stelle angezeigt.
Bildauslieferung im flexiblen Layout (das ist neu)
Für das Webdesign unserer flexiblen Layouts (z.B. www.baukultur-thueringen.de) gehen wir einen anderen Weg. Hier ändert sich die benötigte Bildgröße nicht nur nach der Stelle der Verwendung des Bildes im Template, sondern auch noch je nach Ausgabegerät.
Wir gehen vom Template für den großen Monitor aus und definieren Bildgrößen für die verschiedenen Layoutboxen (volle Breite, halbe, drittel, viertel, sechstel, usw.) Für die kleineren Bildschirme werden diese Breiten in die jeweilig gewünschte Breite übersetzt (so wird z.B. aus einer halben Box auf dem Desktop eine ganze Box auf dem Smartphone, aus einer Viertelbox eine Halbe, etc.)
Die entsprechende Tabelle in unserer Konfiguration sieht dann so aus:
Auch die Behandlung der Bilder im CMS (Akira) erfolgt nun anders. Beim Hochladen wird nur das Originalbild im Filesystem abgelegt. Die Skalierung erfolgt erst bei der Auslieferung einer Seite – das skalierte Bild bleibt im Filesystem liegen. Das hat jeweils beim ersten Aufruf eines Bildes in einer bestimmten Auflösung eine kleine Verzögerung zur Folge. Alle weiteren Aufrufe nutzen dann das vorgerechnete Bild.
Im Seitenheader ermitteln wir das Ausgabegerät über Javascript und legen diese Angabe in einem Cookie ab.
Damit wird also beim ersten Laden der Seite auf einem Gerät festgelegt, welche Bildgrößen ausgeliefert werden und das bleibt dann (auch trotz Änderung der Browsergröße erhalten). Der Desktop ist hier ein Sonderfall, weil nur dort Größenänderungen Sinn möglich sind. Auf Mobilgeräten lade ich die Seite ja immer mit der gleichen Auflösung.
Noch eine kleine Abgrenzung zum Schluss: Wir haben hier nicht nach einer Lösung für vollflächige Hintergrundbilder gesucht, die beim Browser resizing dynamisch nachgeladen werden. Im Vordergrund steht bei uns die effektive Darstellung und Auslieferung von Bildern im Seiteninhalt.