YAML
Mittwoch18. Januar 2012

Es ist getan. Seit wenigen Minuten steht auf YAML.de nicht nur eine neue Version meines CSS Frameworks zum Download bereit, es gibt auch zahlreiche Veränderungen: angefangen bei einem vollständig überarbeiteten Dokumentationskonzept über einen neuen, zeitgemäßen Webauftritt bis zu einem neuen Lizenzmodell. Aber der Reihe nach ...

Das neue Dokumentationskonzept

Die Dokumentation von YAML wurde vollständig neu gestaltet. Sowohl 2005 (YAML 1) als auch 2007 (YAML 3) erschien es gerechtfertigt, neben dem “wie” der Anwendung auch das “warum” der technischen Realisierung) ausführlich zu erläutern. Es gab in diesen Jahren kaum vollständige Dokumentationen zum Umgang mit Browserbugs und die Grundkonzepte von CSS2 waren für viele Entwickler noch vergleichsweise frisch. Diese Zeiten sind vorbei. Grobe CSS-Bugs, die massiv das Rendering einer Webseite beeinflussen, sind in den aktuellen Browsern mehr oder weniger ausgestorben, die Macken der alten Browsergeneration sind in zahlreichen Büchern und online umfassend dokumentiert. Zudem war die YAML-Doku in ihrer PDF-Fassung auf satte 150 Seiten angewachsen, die Pflege und Fortschreibung in zwei Sprachen war nicht mehr zu leisten.

Das neue Dokumentationskonzept behandelt zukünftig nur noch die Anwendung der einzelnen Features – also das “wie”. Lohn dieses neuen Konzepts: die Doku liegt nun als offline-taugliche HTML-Datei dem Zip-Paket des Frameworks bei und dient gleichzeitig als Kurzreferenz. Code-Schnipsel können direkt per copy & paste in das eigenen Projekt übernommen werden. Dafür steht die Dokumentation zukünftig nur noch in englischer Sprache zur Verfügung. Mir ist es sehr wichtig, eine möglichst gut verständliche und vollständige Dokumentation liefern zu können, weshalb mich in der Vergangenheit immer wieder kleine Unterschiede in den Sprachversionen gestört haben. Die CSS Dateien des Frameworks sind hingegen auch weiterhin überwiegend zweisprachig dokumentiert.

Nun zu den wichtigsten Neuerungen bei YAML selbst. Im März 2011 hatte ich ja bereits über einige der geplanten Änderungen bei YAML 4 gesprochen. Wer die Ankündigungen verfolgt hat, wird über die folgenden Dinge nicht mehr ganz so überrascht sein.

Den gesamten Beitrag lesen


Freitag15. Oktober 2010

Der ursprüngliche Releasebeitrag ist mittlerweile nicht mehr online, den hatte seinerzeit Jens Grochtreis am 15.10.2005 in seinem Blog veröffentlicht. Ich selbst habe mich selbst erst mit vier Tagen Verspätung getraut, in meinem Weblog darüber zu berichten, nachdem die Zugriffsstatistik und die ersten Emails auf ein verhalten positives Feedback zu meinem kleinen Layout-Tutorial schließen ließen.

Fünf Jahre ist das nun her – ein halbes Jahrzehnt. YAML war damals eines der ersten Projekte, die den Begriff CSS-Framework zur Umschreibung des zugrunde liegenden Konzepts verwendeten. Ich erinnere mich an zahlreiche, lebhafte Diskussionen über den Sinn und Unsinn eines solchen Vorhabens. Heute sind diese Diskussionen weitgehend verstummt. Das Framework wurde stetig weiterentwickelt, begleitet von zusätzlichen Werkzeugen wie dem YAML Builder und YAML Debug. Es hat sich über die Jahre eine beeindruckend hohe Akzeptanz im professionellen Webdesign erarbeitet. Aktuell gibt es Tutorials oder vorgefertigte Implementationen für mindestens 28 verschiedene Content Management Systeme, darunter einsteigerfreudige Systeme wie Joomla und Wordpress genauso wie CMS-Schwergewichte, z.B. CoreMedia CMS oder Open Text (ehemals RedDot). In den letzten beiden Runden (2008 und 2009) des Biene-Awards zur Auszeichnung barrierefreier Webseiten vertrauten zahlreiche Preisträgern auf das Framework.

Besonders beeindruckt hat mich eine URL, auf die mich gestern Abend Michael Preuß eher nebenbei aufmerksam gemacht hat: http://www.yamlchina.com. Offensichtlich hat sich im Verlauf der letzten 4 Monate in China eine begeisterte Community formiert, die eine weitgehend vollständige Übersetzung der Online-Dokumentation sowie darüber hinaus zahlreiche Anwendertutorials verfasst hat und voller Respekt auf das Original verlinkt. Es lohnt sich wirklich, die Seite mit der automatischen Übersetzungsfunktion von Google Chrome zu besuchen.

Ich möchte mich deshalb an dieser Stelle bei allen Wegbegleitern bedanken, die durch Ihre Unterstützung, ihre konstruktiven Kritik, ihre Bugmeldungen, ihre Blog- und Zeitschriftenartikel, Zuschriften und Vorträge zu diesem Erfolg beigetragen haben.

Und auch nach fünf Jahren ist ein Ende der Entwicklung nicht abzusehen. Erst vorgestern ist die neue Version 3.3 online gegangen und ein erster Ausblick auf die Version 4.0, die sich parallel bereits in Entwicklung befindet, und deren Hintergründe gegeben. Es bleibt also spannend, das kann ich versprechen.


Donnerstag14. Oktober 2010

In den Abenstunden des gestrigen Tages war es endlich soweit, YAML 3.3 – das lange angekündigte und erwartete Update meines (X)HTML/CSS Frameworks ging endlich online.

Wohin geht die Reise?

Wie sich unter aufmerksamen Lesern und Barcamp-Besuchern bereits herumgesprochen haben sollte, arbeite ich seit längerer Zeit an einem Nachfolger des YAML-Builders. Mit der Veröffentlichung dieses neuen Projektes wird gleichzeitig (bzw. kurz davor) YAML 4.0 das Licht der Welt erblicken. Diese Version 4.0 ist die Basis für die Arbeit an meinem JavaScript-Projekt und daher ebenfalls schon seit längerem in der Entwicklung und reift langsam heran, allergings wird bis zur geplanten öffentlichen Betaphase noch einige Zeit ins Land gehen.

Damit einher gehen aber einige größere Veränderungen des Frameworks, die eine Abwärtskompatibilität zu dem 3er-Releasestrang unmöglich machen. Aus meiner Erfahrung dürfte das den wenigsten Nutzern weh tun, da die Mehrzahl der Entwickler einen Versionswechsel nur in Verbindung mit neuen Projekten vornimmt. Dennoch habe ich mich entschlossen, einige der für YAML 4.0 geplanten Verbesserungen in der Version 3.3 vorzuziehen, um auch den 3er-Strang zukunftsfähig und für die nächsten 2 Jahre praxistauglich zu halten.

Den gesamten Beitrag lesen


Dienstag20. Juli 2010

Lange Zeit war es still hier im Hause Highresolution ... und immer wenn es ganz still ist, passiert plötzlich irgendwas Aufregendes. So auch jetzt, denn es stehen Veränderungen beruflicher Natur direkt vor der Tür. Ich bleibe dem Bauingenieurwesen treu, wechsle jedoch auf die Verlagsseite. Insofern kein Richtungs- aber doch ein bedeutsamer Spurwechsel.

Nach nunmehr 6 Jahren als wissenschaftlicher Mitarbeiter zieht es mich ein wenig weg vom universitären Umfeld. Es geht zurück in die freie Wirtschaft. Seit Juli pendle ich bereits regelmäßig zwischen Dresden und Berlin, ab August übernehme ich die Chefredaktion der BAUTECHNIK, einer renomierten wissenschaftlichen Fachzeitschrift für Bauingenieure beim Ernst & Sohn Verlag. Für mich ist es eine große Herausforderung in dem mir nicht fremden aber doch neuen und ungewohntem Terrain des Verlagswesens. Aber es sind schließlich die Herausforderungen, welche die tägliche Arbeit spannend und auf Dauer erfüllend machen und ich freue mich riesig auf die neue Aufgabe. Damit war allerdings bereits Anfang des Jahres (als diese Entscheidung fiel) auch klar, dass meine Dissertation unter Hochdruck bis zum Sommer fertig werden musste. Damit wäre dann auch der eigentliche Grund genannt, warum hier in den letzen Monaten keine neuen Beiträge mehr erschienen. Es blieb schlicht weg keine Zeit. Auch jetzt geht noch das eine oder andere Wochenende dafür drauf, dennoch sind die größten Hürden genommen. Das Licht ist also schon sehr nahe.

Was bedeutet das alles nun für dieses Blog und YAML? Dies ist mein privates Weblog und das werde ich auch weiterhin mit meinen Gedanken zu HTML, CSS und JavaScript füllen sowie vermutlich auch den einen oder anderen Kommentar hinsichtlich des HTML5 & CSS3 Hypes hinterlassen – kurz: hier geht es weiter wie gewohnt. YAML entwickelt sich seit nunmehr fast 5 Jahren kontinuierlich weiter – ein Ende ist auch hier nicht in Sicht. Die Reife des Frameworks macht die Entwicklungsarbeit für mich allerdings etwas angenehmer denn die Releasezyklen werden naturgemäß etwas länger. Der Browsermarkt ist aktuell so richtig in Bewegung und das bedeutet, dass bei YAML diesen Fortschritten Rechnung trägt. Für die effektive Arbeit mit den grafischen Gestaltungsmöglichkeiten von CSS3 gilt es, bestmögliche Voraussetzungen zu schaffen. Dass bedeutet in erster Linie, dass Alternativen zum Clearing mit der Eigenschaft overflow benötigt werden, um die Arbeit mit CSS3-Eigenschaften wie text-shadow und box-shadow weiter zu erleichtern. Daneben haben es Browserhersteller offenbar noch nicht geschafft, den neuen HTML5-Elementen einheitliche und vor allem sinnvolle Standardstyles mitzugeben. Hier wird es eine geringfügige Anpassung des Reset-Bausteins geben, der die aktuell noch vorhandenen Inkonsistenzen beseitigt. Die dritte Baustelle betrifft den Formularbaukasten. Dieser vergleichsweise noch junge Teil des YAML-Framework wird aktuell überarbeitet und soll einfacher individuell gestaltbar werden. Diese und vermutlich einige weitere Änderungen liegen aktuell in einer Version 3.3 alpha, laufen bisher prima und gehen demnächst an die ersten Tester raus. Nein – es gibt noch kein Releasedatum.

Auch in Bezug auf den YAML Builder ist Großartiges in Vorbereitung. Der eine oder andere konnte sich auf dem Barcamp Mainz im letzten November oder auf dem diesjährigen MobileCamp in Dresden bereits einen ersten Eindruck von dem verschaffen, was bereits seit längerem in der heimischen Entwicklerküche auf heisser Flamme köchelt. Natürlich musste ich auch hier eine Pause einlegen, dennoch reift das Projekt Schritt für Schritt und ich freue mich bereits darauf, hier im Blog die ersten Details verlauten lassen zu können. Lange wird es nicht mehr dauern, versprochen.


Mittwoch28. Oktober 2009

Die neue Version 3.2 des (X)HTML/CSS Frameworks YAML steht ab sofort im Downloadbereich der Projektseite zum herunterladen bereits. Erst vor wenigen Tagen, am 15. Oktober 2009 konnte das Projekt seinen nun schon vierten Geburtstag feiern und ich freue mich außerordentlich, dass auch nach einer so langen Zeit die Luft für Verbesserungen und Weiterentwicklungen noch nicht aufgebraucht ist. Die vorliegende Version 3.2 bringt einige wichtige Änderungen mit sich, die ich im Folgenden kurz vorstellen und begründen werde.

Schlankerer Framework-Core

Die wichtigste Änderung gleich zu Beginn: YAML besteht nunmehr nur noch aus zwei Kernbausteinen. Die base.css ist das Herzstück des Frameworks und stellt dem Nutzer ein schonendes Browser-Reset, oft benötige CSS-Klassen für die Layouterstellung (Float Clearing, Skiplinks, ect.), die “Subtemplates” als flexible Grid-Bausteine, ein universelles Fallback auf ein dreispaltiges Basislayout und wichtige Vorgaben für eine fehlerfreie Druckausgabe bereit. Über den zweiten Baustein, die iehacks.css werden die älteren Versionen des Internet Explorers 5.x bis 7.0 mit Bugfixes versorgt, die so formuliert sind, dass sie ohne Eingreifen des Anwenders den überwiegenden Teil der CSS-Bugs dieser Browser korrigieren. Der ehemaliige dritte Baustein, die print_base.css ist in der base.css aufgegangen.

Struktogramm YAML 3.2

Eine Umstrukturierung der medienspezifischen Definitionen innerhalb der base.css ermöglichte weiterhin einige Vereinfachungen der Codebasis, sodass trotz der Erweiterung der Grid-Komponente der gesamte Framework-Core insgesamt fast 600 Byte (ca. 10%) kleiner geworden ist. Mit den Wegfall der print_base.css kann zudem ein HTTP-Request eingespart werden (zumindest, wenn man die finalen Stylesheets nicht zusammenfasst) und in modernen Browsern wie dem Internet Explorer 8, Firefox, Opera, der Safari benötigt der YAML-Core nur noch 2,34 kB (slim_base.css). Ausschließlich die veralteten Versionen des Internet Explorers 5.x – IE 7.0 müssen den vollständige Core mit 5,04 kB laden.

byte-size of several CSS framework cores

Neue Features & Altlastenentsorgung

Wie mit fast jeder YAML-Version wird auch mit YAML 3.2 der Funktionsumfang des Frameworks leicht erweitert. Die Subtemplates (die Grid-Komponente von YAML) erhält vier weitere Unterteilungen (20%, 40%, 60% und 80%). Selbstverständlich besteht auch hier die Möglichkeit, gleiche Containerhöhen über die Klasse .equalize zu erzwingen. Daneben steht mit einem weiteren Add-on, dem SyncHeight-Plugin für jQuery, eine JavaScript-Alternative für das Erzwingen gleichhoher Container zur Verfügung.

Der Formularbaukasten ist ebenfalls flexibler geworden. So ist die Klasse .yform nicht mehr an das form-Element gebunden, was den Einsatz in Content Management Systemen wie z.B. ExpressionEngine vereinfacht, bei denen der form-Tag automatisch vom CMS generiert wird. Die zusätzliche Darstellungsklasse .full hilft bei Platzproblemen (schmale Formulare) und erzeugt Input-, Select-Felder und Textareas mit voller Breite des umgebenden Elternelementes. Ein neues Layoutbeispiel demonstriert, wie einfach und komfortabel sich mehrspaltige Formulare mit YAML erstellen lassen.

Neben diesen neuen Möglichkeiten, wurden mit diesem Release auch einige Altlasten beseitigt. So wurden die IE-Fixes für die ehemaligen ID’s #page_margins und #page aus der iehacks.css entfernt. Beide ID’s werden seit YAML 3.1 (Januar 2009) in mehrfach verwendbare Klassen umgewidmet. Einen echten Feature-Drop betrifft der Verzicht auf die Möglichkeit, Spaltenhintergründe mit Hilfe der Border-Definition von #col3 zu erzeugen. Zwar ist diese Technik denkbar einfach in der Umsetzung, sie beschwört aber in Verbindung mit den Windows-Kontrastmodi ein Zugänglichkeitsproblem herauf, da in diesen Modi Vordergrund- und Rahmenfarben auf den gleichen Farbwert gesetzt werden, infolgedessen Inhalte mit dahinterliegenden farbigen Rahmen (den simulierten Spaltenhintergründen) z.T. nicht mehr lesbar sind. Erschwerend kam hinzu, dass diese Technik im Internet Explorer ein Anpassung des z-index von #col3 bedurfte, was in seltenen Fällen das Selektieren von Inhalten mit der Maus im Browser blockierte.

Ein oft diskutierter Punkt unter vielen Framework-Anwendern war bisher der Workaround zur Vermeidung seitlich springender, zentierter Layouts im Firefox und Safari durch Erzwingen eines vertikalen Scrollbalkens. Mit der Veröffentlichung der neuen Browsergenerationen Internet Explorer 8, Firefox 3.5, Safari 4 und Opera 10 wurde die bisherige Lösung unbrauchbar und deshalb aus dem Core entfernt. An ihre Stelle tritt eine CSS3-basierte Lösung (overflow-y: scroll), welche nunmehr in den Nutzerstylesheets (basemod.css) verankert ist und somit von jedem Anwender bei Nicht-Gefallen einfach deaktiviert/entfernt werden kann.

Ebenfalls ersatzlos gestrichen wurde das Debug-Stylesheet (debug.css), welches mit der Version 3.0 Einzug in das Framework gehalten hatte. Zu sehr litt die Übersicht bei der Vielzahl der gleichzeitig eingeblendeten Informationen. Die fehlende Konfigurierbarkeit und die umständlichen Handhabung waren ebenfalls nicht vorteilhaft. Mit dem bereits im Febuar 2009 veröffentlichten Codeanalyse-Tool YAML Debug steht YAML-Entwicklern eine deutlich bessere und vielseitigere Alternative zur Verfügung, die mit einem einzigen Klick jedes Layout analysiert.

Handwerkszeug für die Barrierefreiheit

Kein Framework, auch nicht YAML, ist ein Garant für barrierefreie Webseiten. Dennoch zeigt sich mehr und mehr, wie sinnvoll und richtig es ist, Webentwicklern das grundlegende Handwerkszeug innerhalb des Frameworks zur Verfügung zu stellen. In YAML 3.2 wird eine neue Darstellungsmöglichkeit für Skiplinks unterstützt, die ein Überlagern des Layouts für die eingeblendeten Skiplinks ermöglicht und dadurch die sonst üblichen Probleme bei deren Integration beseitigt. Zudem wird für Webkit-basierte Browser ein JavaScript-Fix mitgeliefert, um auch Apple’s Safari und Google Chrome dazu zu bewegen, den Focus auf die angesprungene ID zu setzen.

Ein weiterer Schritt ist die konsequente Einbeziehung von WAI-ARIA. Sämtliche bei YAML mitgelieferte Beispiellayouts wurden mit ARIA-Landmarkroles versehen. Zwar handelt es sich hierbei nicht wirklich um ein Feature des Frameworks (die korrekte Auszeichnung sollte der Webentwicklers vornehmen), dennoch halte ich auch diesen Schritt für wichtig, um als Framework-Entwickler trotz der noch fehlenden Validierungsmöglichkeiten im W3C-Validator die positiven Effekte des kommenden Standards hervorzuheben. Schon heute können alle modernen Browser (einschließlich des IE8) mit WAI-ARIA umgehen und ermöglichen somit einen deutlichen Zugewinn an Barrierefreiheit auf Webseiten jeder Komplexitätsstufe.

Das “Accessible Tabs” Plugin von Dirk Ginader wird mit YAML 3.2 als Add-on ein fester Bestandteil des Frameworks. Das dahinter stehende Konzept habe ich zusammen mit Dirk Ginader bereits vor zwei Jahren entwickelt, die Umsetzung im Rahmen dieses Plugins ist mittlerweile ausgereift und umfangreich getestet. Auch dieser Baustein ist weniger als Feature des Frameworks zu sehen. Stattdessen bemühe ich mich darum, zusammen mit YAML sinnvolle Best-Practice-Lösungen zu vermitteln und die Verbreitung dieser Techniken zu fördern.

Zusammenfassung

Neben diesen großen Neuerungen/Verbesserungen stehen zahlreiche kleinere Korrekturen hier und da, über die das Changelog im Detail Ausfunft gibt. Wie mit jedem Release wurde auch die Projektvorlage “Simple Project” auf den aktuellen Stand gebracht.Der YAML Builder beherrscht momentan WAI-ARIA noch nicht und auch die neue Skiplink-Variante ist dort noch nicht implementiert, die Codeausgabe ist aber selbstverständlich kompatibel zu YAML 3.2.

Der Release-Zyklus war diesmal deutlich länger, zudem zwischen v3.1 und v3.2 keine sogenannten Maintenance-Releases eingeschoben wurden. Der Hauptgrund hierfür lag in der eng gestaffelten Veröffentlichung der aktuellen Browsergeneration, angefangen mit dem Internet Explorer 8 im Frühjahr 2009. Gerade bei diesem war es wichtig, die zuverlässige Funktion der Kernfunktionen des Frameworks ohne jegliche Hacks zu überprüfen. Nach nunmehr einem halben Jahr lässt sich dieser Fakt bestätigen. Einzig bei der Darstellung von Formularen benötigt der Internet Explorer 8 noch wenige individuelle Hilfestellung, die notwendigen Anpassungen kennt der Formularbaukasten jedoch.

Daneben stellt das 3.2-Release für mich eine weitere Schärfung des Profils von YAML hinsichtlich des modularen Aufbaus auf Basis eines sehr schlanken Kerns und der Focussierung auf flexible, barrierefreie Webseiten dar. Und die Entwicklung geht weiter ...


Seite 2 von 14 Seiten

 <  1 2 3 4 >  Letzte »