<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">

    <channel>
    
    <title>High Resolution Spotlights</title>
    <link>http://www.highresolution.info</link>
    <description>Vorträge, Veröffentlichungen, niedergeschriebene Gedanken von Dirk Jesse</description>
    <dc:language>de</dc:language>
    <dc:creator>info@highresolution.de</dc:creator>
    <dc:rights>Copyright 2010</dc:rights>
    <dc:date>2010-03-29T14:16:15+00:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.expressionengine.com/" />
    

    <item>
      <title>Layout-Frameworks im professionellen Webdesign</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/layout-frameworks_im_professionellen_webdesign/]]></link>
      <description>Der gro&#223;e Hype um CSS&#45;Frameworks scheint vorbei. Nachdem die Blogosph&#228;re in 2008 ersch&#246;pfend &#252;ber das Thema berichtet hat, &#252;bernehmen nun mehr und mehr Agenturen die dahinter stehenden Denkans&#228;tze zur Layoutentwicklung in ihren Projektalltag. Im Rahmen einer Session auf der WebTech 2009 habe ich versucht, die m&#246;glichen Vorteile und die Grenzen der Frameworknutzung im professionellen Umfeld herauszuarbeiten.</description>
      <dc:subject>Vortr&#228;ge</dc:subject>
      <content:encoded><![CDATA[<p>Der gro&#223;e Hype um CSS-Frameworks scheint vorbei. Nachdem die Blogosph&#228;re in 2008 ersch&#246;pfend &#252;ber das Thema berichtet hat, &#252;bernehmen nun mehr und mehr Agenturen die dahinter stehenden Denkans&#228;tze zur Layoutentwicklung in ihren Projektalltag. Im Rahmen einer Session auf der WebTech 2009 habe ich versucht, die m&#246;glichen Vorteile und die Grenzen der Frameworknutzung im professionellen Umfeld herauszuarbeiten.
</p> <p>Mit leichter Versp&#228;tung (was sind heutzutage schon 4 1/2 Monate) gibt es jetzt auch die Folien meines &#220;berblicksvortrags zum aktuellen Stand bei den CSS Frameworks zur WebTech 2009 in Karlsruhe. Thematisch ist es ein kommentierter &#220;berblick, der aktuell in CSS- oder allgemein Layout-Frameworks (wie ich es treffender finde) umgesetzten Gestaltungsans&#228;tze.</p>

<div style="width:425px" id="__ss_3585315" class="slideshare"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/djesse/layout-frameworks-im-professionellen-webdesign" title="Layout Frameworks im professionellen Webdesign">Layout Frameworks im professionellen Webdesign</a></strong><object width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=layout-frameworksimprofessionellenwebdesign-slideshare-100329091321-phpapp02&amp;stripped_title=layout-frameworks-im-professionellen-webdesign" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=layout-frameworksimprofessionellenwebdesign-slideshare-100329091321-phpapp02&amp;stripped_title=layout-frameworks-im-professionellen-webdesign" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/djesse">djesse</a>.</div></div>

<p>Die aus meiner Sicht wichtigsten Erkenntis ist eine bessere und einfachere Definition eines Layout-Frameworks, welches folgenden Grunds&#228;tzen gerecht werden sollte:</p>

<dl><dt>Generisch</dt><dd>Funktionalit&#228;t ist unabh&#228;ngig von visueller Gestaltung</dd><dt>Wiederverwendbar</dt><dd>Kombinierbare, nach Funktionen getrennte, standardisierte Bausteine</dd><dt>Robust</dt><dd>Aufrechterhaltung der Funktion unter wechselnden Anwendungszenarien</dd></dl>

<p>Dar&#252;ber hinaus geht meiner Meinung nach der Ansatz der verschiedenen Reset-Stylesheets zu weit. Verglichen habe ich hierbei Eric Meyers Reset-CSS und das Reset von YUI2. In beiden Ans&#228;tzen werden Darstellungsunterschiede zwischen verschiedenen Browsern beseitigt, aber quasi als Kolateralschaden dieser Ma&#223;nahmen gehen auch zahlreiche sinnvolle Voreinstellungen der Browser verloren. Hier bin ich seit je her anderer Meinung, weshalb der Reset-Baustein von <a href="http://www.yaml.de">YAML</a> auch etwas anders aussieht. Wie die beigef&#252;gten Zitate zeigen, sto&#223;en hier unterschiedliche Philosophien aneinander. 
</p> <p><img src="http://www.highresolution.info/images/uploads/webtech-logo.png" border="0" alt="" class="float_right" width="200" /> </p>

<p>Der  Vortrag wurde am 18. November 2009 anl&#228;sslich des <em><a href="http://it-republik.de/konferenzen/webtech09/">WebTech Conference 2009</a></em> in Karlsruhe gehalten. Die Folien gibts bei <a href="http://www.slideshare.net/djesse/layout-frameworks-im-professionellen-webdesign">SlideShare</a>.
</p>]]></content:encoded>
      <dc:date>2010-03-29T14:16:15+00:00</dc:date>
    </item>

    <item>
      <title>F&#252;r Wen, Wie Und Warum - Webstandards im Projektalltag</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/fuer_wen_wie_und_warum_webstandards_im_projektalltag/]]></link>
      <description>Im Rahmen des World Usability Days war ich heute eingeladen, einen Vortrag &#252;ber Webstandards als Grundlage mediengerechter Webentwicklung zu halten. Die Folien gibts ab sofort zum Nachlesen bei SlideShare.</description>
      <dc:subject>Vortr&#228;ge</dc:subject>
      <content:encoded><![CDATA[<p>Im Rahmen des World Usability Days war ich heute eingeladen, einen Vortrag &#252;ber Webstandards als Grundlage mediengerechter Webentwicklung zu halten. Die Folien gibts ab sofort zum Nachlesen bei SlideShare. 
</p> <div style="width:425px;text-align:left" id="__ss_2485890" class="slideshare"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/djesse/fr-wen-wie-und-warum-webstandards-im-projektalltag" title="F&#252;R Wen, Wie Und Warum - Webstandards im Projektalltag">F&#252;R Wen, Wie Und Warum - Webstandards im Projektalltag</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=frwenwieundwarum-091112122456-phpapp02&amp;stripped_title=fr-wen-wie-und-warum-webstandards-im-projektalltag" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=frwenwieundwarum-091112122456-phpapp02&amp;stripped_title=fr-wen-wie-und-warum-webstandards-im-projektalltag" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/djesse">djesse</a>.</div></div>

<p>
</p> <p><img src="http://www.highresolution.info/images/uploads/wud_logo.png" border="0" alt="" class="float_right" width="200" height="75" /></p>

<p>Der  wurde am 12. November 2009 anl&#228;sslich des <em><a href="http://worldusabilityday.de/">World Usability Days</a></em> gehalten. Die Folien gibts bei <a href="http://www.slideshare.net/djesse/fr-wen-wie-und-warum-webstandards-im-projektalltag">SlideShare</a>.
</p>]]></content:encoded>
      <dc:date>2009-11-12T17:29:40+00:00</dc:date>
    </item>

    <item>
      <title>Was Sie &#252;ber CSS-Frameworks  wissen sollten!</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/was_sie_ueber_css-frameworks_wissen_sollten/]]></link>
      <description>Layout&#45;Frameworks werden immer beliebter und sind auf gutem Weg, sich als fester Bestandteil der Webentwicklung zu etablieren. Nun ist jedoch der Begriff des &#171;Frameworks&#187; vorrangig aus dem Bereich der Softwareentwicklung bekannt und weder HTML noch CSS k&#246;nnen als Programmiersprache bezeichnet werden, weshalb die &#220;bernahme der Bezeichnung in den Bereich von HTML/CSS nicht unumstritten und oft verwirrend ist. &#196;hnlich verh&#228;lt es sich mit dem gedanklichen Ansatz eines CSS&#45;Frameworks an sich, denn eben weil es sich nicht um Programmierung handelt, besteht trotz der Widrigkeiten des Alltags insbesondere unter professionellen Entwicklern die &#220;berzeugung, Markup und CSS&#45;Regeln vollst&#228;ndig von Hand schreiben zu m&#252;ssen, um sauberen und schlanken Code zu erhalten. Zum Teil r&#252;hrt dieses Vorurteil  aus den Erfahrungen, die wahrscheinlich jeder Entwickler aus seinen Anfangszeiten mit automatischen Codegeneratoren wie Frontpage, GoLive oder Dreamweaver als einpr&#228;gsame Negativbeispiele f&#252;r sein Leben mit sich tr&#228;gt.</description>
      <dc:subject>Essays</dc:subject>
      <content:encoded><![CDATA[<p>Layout-Frameworks werden immer beliebter und sind auf gutem Weg, sich als fester Bestandteil der Webentwicklung zu etablieren. Nun ist jedoch der Begriff des &#171;Frameworks&#187; vorrangig aus dem Bereich der Softwareentwicklung bekannt und weder HTML noch CSS k&#246;nnen als Programmiersprache bezeichnet werden, weshalb die &#220;bernahme der Bezeichnung in den Bereich von HTML/CSS nicht unumstritten und oft verwirrend ist. &#196;hnlich verh&#228;lt es sich mit dem gedanklichen Ansatz eines CSS-Frameworks an sich, denn eben weil es sich nicht um Programmierung handelt, besteht trotz der Widrigkeiten des Alltags insbesondere unter professionellen Entwicklern die &#220;berzeugung, Markup und CSS-Regeln vollst&#228;ndig von Hand schreiben zu m&#252;ssen, um sauberen und schlanken Code zu erhalten. Zum Teil r&#252;hrt dieses Vorurteil  aus den Erfahrungen, die wahrscheinlich jeder Entwickler aus seinen Anfangszeiten mit automatischen Codegeneratoren wie <em>Frontpage</em>, <em>GoLive</em> oder <em>Dreamweaver</em> als einpr&#228;gsame Negativbeispiele f&#252;r sein Leben mit sich tr&#228;gt.</p>

 <p class="important" lang="en"><strong>Note:</strong> This essay is also available in <a href="http://www.highresolution.info/spotlight/entry/everything_you_should_know_about_css_frameworks/">English</a>.</p> 

<h3>Inhalt</h3>
                <ul>
                  <li><a href="#section1">Die allgemeine Einsch&#228;tzung der Webentwickler</a></li>
                  <li><a href="#section2">&quot;CSS-Frameworks are <em>never the best solution</em> ...&quot;</a>
                    <ul>
                      <li><a href="#subsection2-1">Frameworks, Codeschnipsel und Webdesign-Praxis</a></li>
                      <li><a href="#subsection2-2">&#220;ber pragmatische L&#246;sungsans&#228;tze und Minimierung von Quellcodes</a></li>
                      <li><a href="#subsection2-3">Frameworks dienen der Webentwicklung, nicht der Philosophie </a></li>
                    </ul>
                  </li>
                  <li><a href="#section3">Zukunftssicheres und wartbares CSS</a>
<ul>
<li><a href="#subsection3-1">Conditional Comments &amp; Hacks</a></li>
                      <li><a href="#subsection3-2">Eine Frage der Praxis: Wohin mit den Hacks?	              </a></li>
                      <li><a href="#subsection3-3">Vorteile Conditional Comments</a></li>
                      <li><a href="#subsection3-4">Conditional Comments in <em>YAML</em></a></li>
                      <li><a href="#subsection3-5">Modulare Stylesheets vs. Performance</a></li>
                  </ul>
                  </li>
                  <li><a href="#section4">Liefern Frameworks unsemantischen Code?</a></li>
                  <li><a href="#section5">Nur f&#252;r Anf&#228;nger oder fehlender Lerneffekt?</a></li>
                  <li><a href="#section6">Fazit</a></li>
                </ul>
<h3 id="section1">Die allgemeine Einsch&#228;tzung der Webentwickler</h3>
<p>HTML und CSS werden clientseitig interpretiert. Ein m&#246;glichst schlanker Code f&#252;r individuelle Projekte sollte daher vorrangiges Ziel jeder Layoutentwicklung sein. CSS-Frameworks sind hingegen projektunabh&#228;ngige Baukastensysteme, deren Ziel ein m&#246;glichst universeller L&#246;sungsansatz f&#252;r unterschiedlichste Layouts darstellt. Wie passen diese offensichtlich gegens&#228;tzlichen Anforderungen also zusammen?</p>
<p>Eine Vielzahl von Projekten (mittlerweile &#252;ber 20) finden sich im Netz unter der Bezeichnung &#171;CSS-Framework&#187;. Dabei streuen Qualit&#228;t der Umsetzung und Dokumentation ebenso wie der Anspruch an Funktionsumfang und die zugrunde liegenden Layoutkonzepte derartig stark, dass ein objektiver Vergleich untereinander extrem schwierig ist. Hinzu kommt, dass es bisher keine klare und allgemein anerkannte Definition gibt, was ein CSS-Framework wirklich ausmacht. Gleichzeitig besteht jedoch genau in diesem Bereich ein gro&#223;es Informationsbed&#252;rfnis, was leider zu  <a href="http://www.noupe.com/css/5-popular-css-frameworks-tutorials-tools-for-getting-started.html">zahlreichen</a> <a href="http://css-tricks.com/css-frameworks-roundup-and-some-thoughts/">undifferenzierten</a> und <a href="speckyboy.com/2008/03/28/top-12-css-frameworks-and-how-to-understand-them/">oberfl&#228;chlichen</a> Betrachtungen f&#252;hrt. Die <a href="http://warpspire.com/features/css-frameworks/">typische</a> <a href="http://www.vcarrer.com/2008/08/when-to-use-css-framework.html">Argumentation</a> bei Diskussionen <em>Pro &amp; Contra</em> CSS-Frameworks sieht  <a href="http://www.smashingmagazine.com/2007/09/21/css-frameworks-css-reset-design-from-scratch/">folgenderma&#223;en</a> aus:</p>
<blockquote lang="en-US" xml:lang="en-US">
  <p>Advantages of CSS Frameworks</p>
  <ul>
    <li>You increase your productivity and avoid common mistakes.<br />
    </li>
    <li>You normalize your code/class base.<br />
    </li>
    <li>You have a better workflow within a team.<br />
    </li>
    <li>You gain an optimal browser-compatibility.<br />
    </li>
    <li>You have a clean, well-structured and complete code.</li>
  </ul>
  <p>Disadvantages of CSS Frameworks</p>
  <ul>
    <li>You need time to fully understand the framework.</li>
    <li>You need a close familiarity with your code&#8217;s architecture.</li>
    <li>You might inherit someone&#8217;s bugs or mistakes.</li>
    <li>You develop sites upon a framework, not upon the solid knowledge of CSS</li>
    <li>You get a bloated source code.</li>
    <li>CSS can not be framed semantically.</li>
    <li>Ignoring the uniqueness of your project.</li></ul>
    <cite><a href="http://www.smashingmagazine.com/2007/09/21/css-frameworks-css-reset-design-from-scratch/">CSS Frameworks + CSS Reset: Design From Scratch</a>, Smashing Magazine</cite>
</blockquote>
<p>Als Entwickler des <a href="http://www.yaml.de">(X)HTML/CSS-Frameworks <em>YAML</em></a> muss ich mich permanent diesen Argumenten stellen, um das Projekt bei der Weiterentwicklung auf Kurs zu halten. Daher m&#246;chte ich in diesem Essay meinen Standpunkt zu den am h&#228;ufigsten ge&#228;u&#223;erten Kritikpunkten an CSS-Frameworks darlegen, wobei ich hierf&#252;r <a href="http://www.highresolution.info/spotlight/entry/css_frameworks_erwartungen_mythen_und_reale_vorteile/"><em>meine</em> Definition eines CSS-Frameworks</a> als Ma&#223;stab ansetze.  </p>
<blockquote>
  <p>CSS-Frameworks sind leistungsf&#228;hige Entwicklungsumgebungen f&#252;r die Erstellung von Webseiten  und richten sich vorrangig an professionelle Webentwickler. Sie stellen universelle Layoutbausteine bereit und definieren ein Regelwerk, im Rahmen dessen der Entwickler sich frei bewegen kann.</p>
</blockquote>
<p>Wichtig ist hier die Feststellung, dass CSS-Frameworks  Werkzeuge f&#252;r Profis sind. Ein Projekt wie <em>YAML</em> mag vielleicht auf den ersten Blick wie ein Fertigbaukastensystem mit Layoutvorlagen und fertigen Beispielen erscheinen, aber s&#228;mtliche <a href="http://www.yaml.de/fileadmin/examples/index.html">Vorlagen und Beispiele</a> dienen nur der Anschauung, wie flexibel diese Umgebung in der Praxis professioneller Webentwicklung genutzt werden kann.</p>
		<p>Ich werde mich in der Diskussion an verschiedenen Stellen auf Fachartikel von <a href="http://meiert.com">Jens Meiert</a> st&#252;tzen, einem der bekanntesten deutschsprachigen Webentwickler und energischen Vertreter von standardkonformem und schlankem Code. Dabei habe ich nicht die Absicht Jens pers&#246;nlich anzugreifen. Vielmehr sch&#228;tze ich seine Beitr&#228;ge  sehr hoch, denn er ist einer der wenigen Kritiker, die ihren Standpunkt nicht nur einfach in den Raum stellen, sondern mit stichhaltigen Argumenten hinterlegen. Seine Artikel sind daher eine  gute Grundlage f&#252;r eine ansprechende Fachdiskussion.</p>
		<h3 id="section2">&quot;CSS-Frameworks are <em>never the best solution</em> ...&quot;</h3>
<p>Ob die oben zitierten Nachteile tats&#228;chlich zutreffen, soll im Folgenden &#252;berpr&#252;ft werden. Tatsache ist aber, dass CSS-Frameworks aus verschiedensten Gr&#252;nden nicht jedermanns Sache sind. <a href="http://meiert.com">Jens Meiert</a> versucht daf&#252;r auch mehrere Gr&#252;nde zu benennen:</p>
<blockquote lang="en-US" xml:lang="en-US">
  <p>&quot;Public, or open, <a href="http://hiddenpixels.com/css-stuffs/css-frameworks/"><abbr title="Hypertext Markup Language">HTML</abbr>/<abbr title="Cascading Style Sheets">CSS</abbr> &#8220;frameworks&#8221;</a> are <em><strong>never the best solution</strong></em>, and oftentimes not even a good solution for <em>any</em> site. [...] So why stating that frameworks aren&#8217;t a good solution? Because  <strong>people outside</strong> your company or outside your apartment <strong>just cannot know  your needs</strong>, and this implicit ignorance results in <strong>way too much markup</strong> in your documents and <strong>way too many rules</strong> in your style sheets, making  any framework-based solution inferior to something tailored.&quot;</p>
  <cite><a href="http://meiert.com/en/blog/20080805/html-css-frameworks/">A few words on HTML/CSS-Frameworks</a>, Jens Meiert</cite>
</blockquote>
<p>Auf den ersten Blick erscheint das verst&#228;ndlich. Ein Framework kann sich auf Webstandards und Best-Practice-Methoden st&#252;tzen, unm&#246;glich aber die individuellen Arbeitsweisen eines einzelnen Entwicklers oder einer Agentur zu 100 Prozent abbilden. Deshalb verlangt die Arbeit mit einem CSS-Framework nach einer gewissen Einarbeitungszeit in den Code und seine Funktionsprinzipien. Dazu geh&#246;rt auch, dass der Entwickler  seine individuelle Arbeitsweise entsprechend den konzeptionellen Ans&#228;tzen des CSS-Frameworks angleichen muss. </p>
<p>Jens Meiert folgert jedoch allein aus der Tatsache des fremden Codes, dass CSS-Frameworks <em>immer</em> mit einem Overhead an Markup und zu vielen CSS-Regeln einhergehen. Dahinter steht die Annahme, Frameworks w&#252;rden erstens keine individuelle Arbeitsweise und zweitens keine M&#246;glichkeiten der finalen Code-Optimierung zulassen. Diese Annahme ist der eigentliche Aufh&#228;nger seiner Kritik. Der Denkfehler in Meierts Argumentation besteht darin, dass nicht individuelle Arbeitsweisen oder konkrete Projektanforderungen die Basis professioneller Webentwicklung darstellen, sondern die Arbeit nach geltenden Webstandards. Dieses Regelwerk ist nicht nur die <em>Grundlage jeder professionellen Webentwicklung</em>, es ist ebenso die Grundlage unterschiedlicher und individueller Arbeitsweisen. <em><a href="http://www.yaml.de">YAML</a></em> als das aktuell umfangreichste und ausgereifteste CSS-Framework basiert ebenfalls auf diesen Webstandards, es gibt also ein Fundament, das aus Transparenz des Quellcodes, klarer Trennung von Inhalt und Layout und semantisch korrekten Auszeichnungen innerhalb der HTML-Seitenstruktur besteht.</p>
<p class="info"><strong>Betrachten wir  die Praxis der Webentwicklung:</strong> Trotz aller Unterschiedlichkeit der Millionen von Websites ist deren struktureller Aufbau  grunds&#228;tzlich &#228;hnlich. Meistens gibt es einen ein <em>Header</em>, eine <em>Navigation</em>, einen klar eingegrenzten <em>Inhaltsbereich (content)</em>, eventuell eine <em>Sidebar</em> und abschlie&#223;end ein <em>Footer</em>, wobei sich auch diese Art der Benennung schon fast als Konvention durchgesetzt hat. Vielleicht gibt es mehrere Spalten und vielleicht gibt es auf ausgew&#228;hlten Seiten einen <em>Teaser</em> oder kleine Variationen des Layouts. Dennoch unterscheiden sich Websites nicht mehr voneinander als ein Haus, das auch bei individueller Ausf&#252;hrung und gr&#246;&#223;ter Unterschiedlichkeit zu allen anderen H&#228;usern &#252;ber ein Fundament, eine Wohnebene und ein Dach verf&#252;gt.</p>
<h4 id="subsection2-1">Frameworks, Codeschnipsel und Webdesign-Praxis</h4>
<p>Zum Thema Gestaltungsfreiheit wird  immer wieder der Vorbehalt ge&#228;u&#223;ert, ein CSS-Framework w&#252;rde durch vorgegebenen Aufbau und festgelegter Benennung von Klassen und IDs die individuelle Umsetzung einer Website unn&#246;tig einschr&#228;nken. Dazu sei nur bemerkt, dass der <a href="http://www.csszengarden.com/tr/deutsch/">CSS Zen Garden</a> trotz festgelegter HTML-Struktur der Vorlage die Webdesigner offensichtlich nicht davon abgehalten hat, zahllose individuelle L&#246;sungen zu entwickeln.</p>
<p>Die Praxis der individuellen Handcodierung einer Website bedeutet deshalb nicht, dass der Entwickler aus dem Nichts heraus beginnt, eine Struktur zu erfinden. Der Webentwickler ist <em>eben nicht</em> der K&#252;nstler, der von der Muse gek&#252;sst wird und dank seiner Kreativit&#228;t und Sch&#246;pferkraft dem Web ein neues Meisterwerk schenkt. Webentwicklung ist ein Handwerk und jeder Entwickler greift auf bew&#228;hrte Werkzeuge (Codeschnipsel) zur&#252;ck, auch der per Hand codierende. Und selbst wenn ein Entwickler schw&#246;ren k&#246;nnte, keine vorgefertigten Zeilen HTML- oder CSS-Code per <em>copy &amp; paste</em> zu verwenden, ist es eben  sein Fachwissen, das bei der Handcodierung den Prinzipien eines bestimmten Systems folgt. Unz&#228;hlige bew&#228;hrte Codeschnipsel hat der Webdesign-Profi in seinem Kopf, so wie der Architekt unz&#228;hlige bew&#228;hrte Varianten f&#252;r die Planung eines Hauses kennt. Und CSS-Frameworks sind grunds&#228;tzlich nichts anderes als eine Sammlung erprobter, praxisorientierter Codeschnipsel, die reibungslos zusammenarbeiten und sich einem &#252;bergeordneten Konzept unterordnen.</p>
		<p>Zusammen mit dem Argument von zu viel Markup und zu vielen CSS-Regeln wird oft die angeblich schlechte Qualit&#228;t des Codes ins Feld der Kritik gef&#252;hrt. Hier ist es jedoch wichtig, auf die grunds&#228;tzlich unterschiedlichen Ans&#228;tze verschiedener Framework-Konzepte hinzuweisen. In der allgemeinen Wahrnehmung verstehen die meisten Webdesigner unter dem Begriff &#171;CSS-Framework&#187; nicht nur <em>YAML</em>, sondern daneben auch <em><a href="http://developer.yahoo.com/yui/grids/">YUI Grids</a></em>, <em><a href="http://code.google.com/p/blueprintcss/">Blueprint CSS</a></em>, <em><a href="http://960.gs/">960 Grid System</a></em> und entsprechender Derivate der beiden letztgenannten<em><a href="http://960.gs/"></a></em>. Dabei wird schnell &#252;bersehen, dass im Vergleich zu <em>YAML</em> dem schlanken <em>YUI Grids</em> beispielsweise die umfangreichen IE-Patches, der Formularbaukasten und eine ausf&#252;hrliche Dokumentation fehlen und dass <em>Blueprint CSS</em>, bzw. <em>960.gs</em> die Gestaltung in klassischen Spaltenrastern zur konzeptionellen Grundlage des gesamten Frameworks gemacht haben und damit  dem rein visuell orientierten Tabellenlayout n&#228;her stehen als dem Konzept der Webstandards. Als Framework in der Praxis ist <em>YUI Grids</em> deshalb gelegentlich etwas d&#252;nnh&#228;utig bei komplexen Aufgabenstellungen, w&#228;hrend die visuell orientierten Frameworks  durch das detailliert ausgearbeitete Spaltenkonzept an vielen Stellen die klare Trennung von Inhalt und Design vermissen lassen, was zurecht <a href="http://blog.adambard.com/2008/08/09/blueprintcss-youre-just-fooling-yourself/">Anlass zur Kritik</a> gibt.</p>
<h4 id="subsection2-2">&#220;ber pragmatische L&#246;sungsans&#228;tze und Minimierung von Quellcodes</h4>
		<p>Professionelle CSS-Frameworks k&#246;nnen nicht dem Anspruch gerecht werden, immer das <em>absolute Minimum</em> an Code zu liefern.  Naturgem&#228;&#223; kann ein solcher <em>Extremwert</em> nur f&#252;r jeweils <em>genau einen</em> speziellen Anwendungsfall erreicht werden und bedingt zwingend die Einbeziehung der Seiteninhalte. Das Ziel eines guten CSS-Frameworks besteht vielmehr darin, mit einem <em>relativen </em>Minimum an Markup und CSS-Regeln Bausteine mit einem <em>gr&#246;&#223;tm&#246;glichen Potential zur Wiederverwendbarkeit</em> zu entwickeln und darauf aufbauend <em>inhaltsunabh&#228;ngig </em> ein robustes und effizient einsetzbares Layoutger&#252;st bereitzustellen.</p>
<p>Die Differenz zwischen dem <em>absoluten Minimum</em> an Code einer perfekten Individuall&#246;sung und dem <em>relativen Minimum</em> des Framework-Codes ist naturgem&#228;&#223;  keine konstante Gr&#246;&#223;e, sondern abh&#228;ngig von verschiedenen Einflussfaktoren:</p>
		<ol>
  <li>Je besser die  <em>Planung</em> f&#252;r die Umsetzung eines Layouts die Funktionsprinzipien des verwendeten Frameworks ber&#252;cksichtigt, desto geringer ist der entstehende Overhead   und desto schneller und einfacher ist auch die Realisierung. </li>
  <li>HTML und CSS bieten fast immer mehrere L&#246;sungswege f&#252;r eine Aufgabe und Handcodierung ist kein Garant daf&#252;r, auf Anhieb die Ideall&#246;sung zu finden und fehlerfrei zu implementieren, hierf&#252;r z&#228;hlt allein Fachwissen.</li>
  <li>Das <em>absolute </em>Minimum  ist ein theoretischer Wert. In der Realit&#228;t bedingen CSS-Bugs und variierende CSS-F&#228;higkeiten  verschiedener Browsergenerationen immer wieder Kompromisse im Markup und bei der Formulierung von CSS-Regeln.</li>
  <li>CSS-Frameworks sind Werkzeuge zur Layoutentwicklung. Erst in den H&#228;nden des Entwicklers entsteht damit das fertige Layout, eben weil erst mit Kenntnis der Randbedingungen des konkreten Projektes eine Optimierung sinnvoll m&#246;glich ist. Demzufolge ist ein gewisser Overhead auf der Seite des Frameworks unerl&#228;sslich, um diese Vielseitigkeit zu erm&#246;glichen.</li>
</ol>
<p>CSS-Frameworks liefern daher keine Ma&#223;anz&#252;ge, sondern  Kompromissl&#246;sungen &ndash; und das aus gutem Grund. <em>YAML</em> hat   nicht den Anspruch, <em>out-of-the-box</em> die <em>bestm&#246;gliche</em> (im Sinne: Ma&#223;anzug = <em>absolutes Minimum</em> an Code) zu liefern. Stattdessen nehme ich f&#252;r <em>YAML</em> in Anspruch, die <em>bestm&#246;gliche</em> Codebasis (im Sinne von <em>Effizienz</em> und <em>Vielseitigkeit</em>) f&#252;r den Entwickler bereitzustellen.  Das <a href="http://www.yaml.de/de/dokumentation/grundlagen/der-xhtml-quelltext.html">Basismarkup</a> von <em>YAML</em>, die flexiblen Gridbausteine (<a href="http://www.yaml.de/de/dokumentation/anwendung/subtemplates.html">Subtemplates</a>) sowie die drei <a href="http://www.yaml.de/de/dokumentation/css-bausteine/das-zentrale-stylesheet.html">CSS-Core-Stylesheets</a> (<code>base.css</code>, <code>iehacks.css</code> und <code>print_base.css</code>) sind robuste, wiederverwendbare Bausteine, die ihrerseits ein Optimierungsprozess in der Frameworkentwicklung durchlaufen haben und speziell im Bereich der flexiblen Layouts ist diese Codebasis trotz ihrer Vielseitigkeit extrem schlank.</p>
		<p>Das immer wieder vorgebrachte Argument des &#220;berma&#223;es an Markup und Regeln wird nat&#252;rlich auch nicht dadurch gel&#246;st, indem man einen leeren Ordner f&#252;r Inhalte anlegt und lediglich ein Reset-CSS und ein paar Zeilen Basis-CSS als Grundlage zur Codierung anbietet und <a href="http://eswat.ca/">das</a> <a href="http://www.peterkroener.de/das-website-starterkit/">dann</a> &#171;Framework&#187; nennt. Das ist zwar schlank, bringt aber au&#223;er ein paar Minuten Zeitersparnis keine Entlastung in der Praxis der Webentwicklung.</p>
<h4 id="subsection2-3">Frameworks dienen der Webentwicklung, nicht der Philosophie</h4>
                <p class="info"><strong>Noch ein Blick in die Praxis: </strong>Das gew&#252;nschte Minimum an Code ist  auch in der von Hand codierten Form im Projekt-Workflow nur dem &#228;u&#223;erst seltenen Idealfall vorbehalten, dass der Auftraggeber dem Entwickler von der Planung bis zum Launch v&#246;llig freie Hand gibt und nicht die geringsten &#196;nderungsw&#252;nsche formuliert. Die Realit&#228;t der Frontend-Entwicklung sieht jedoch anders aus. Nicht selten werden noch nach Abnahme und Launch der Website von Kunden oder Entscheidern umfassende &#196;nderungen gew&#252;nscht, die oft auch zus&#228;tzliches Markup bedeuten. Das Minimum kann also fr&#252;hestens am Ende des Projektablaufs stehen, und auch da nur als best-case-Variante.</p>
<p>Nicht nur Jens Meiert verfehlt daher in seiner Argumentation g&#228;nzlich den Sinn und Zweck eines CSS-Frameworks, denn er stellt eine theoretisch hochoptimierte Individuall&#246;sung dem <em>out of the box</em> Ergebnis eines CSS-Frameworks gegen&#252;ber, um mit dem zwangsl&#228;ufig vorhandenen Overhead gegen CSS-Frameworks argumentieren zu k&#246;nnen. Bei dieser Argumentation wird erstens vergessen, dass gerade Profis mit hinreichendem Fachwissen auch das projektbezogene Grundger&#252;st eines Frameworks  optimieren k&#246;nnen und sollten. Zweitens liegen die Vorteile der Arbeit mit einem CSS-Framework nicht im Bereich der finalen Codeoptimierung, sondern in den davor gelagerten Entwicklungsphasen, die nicht nur durch die beschriebene Abstimmung mit dem Auftraggeber zahlreiche &#196;nderungen erfahren k&#246;nnen. Die zunehmende Komplexit&#228;t anspruchsvoller Gro&#223;projekte mit der Arbeit in Teams und heterogenen Entscheidergruppen l&#228;sst eine auf Anhieb optimierte und finalisierte Codierung &#252;berhaupt nicht zu. Hier bietet das Konzept von <em>YAML</em> eine praxisnahe L&#246;sung: f&#252;r alle g&#228;ngigen Browser robust, f&#252;r komplexe Anforderungen in der Webentwicklung umfassend und f&#252;r die Untiefen in der Kundenabstimmung flexibel. Dass beim eben vergebenen BIENE-Award f&#252;r besonders zug&#228;ngliche Webseiten insgesamt <a href="http://www.highresolution.info/weblog/entry/1x_gold_4x_silber_und_1x_bronze_bei_der_biene_2008/">sechs Gewinner-Websites</a> mit <em>YAML</em> umgesetzt wurden, zeigt, was dieses Framework in der professionellen Praxis leisten kann.</p>
		<h3 id="section3">Zukunftssicheres und wartbares CSS</h3>
<p>Auch im Bereich von CSS gibt es viele unterschiedliche Meinungen, was die Aufsplittung von Stylesheets in Module, den Einsatz von Hacks zur Z&#228;hmung des Internet Explorers oder auch der Verwendung von <em>Conditional Comments</em> betrifft. <em>YAML</em> macht von all diesen Dingen intensiven Gebrauch und muss sich demnach nat&#252;rlich auch der Kritik stellen.</p>
<h4 id="subsection3-1"> Conditional Comments &amp; Hacks</h4>
<p>Bez&#252;glich Conditional Comments zitiere ich  Jens Meiert einleitend, denn er vertritt in Bezug auf <a href="http://meiert.com/en/blog/20070201/why-conditional-comments-are-bad-repeat-bad/">Conditional Comments</a> und <a href="http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/">Reset-CSS</a> eine <a href="http://meiert.com/en/blog/20080824/to-be-clear/">sehr kompromisslose Ansicht</a>. </p>
<blockquote lang="en-US" xml:lang="en-US">
  <p><em>&quot;The core problem with Conditional Comments is its <strong>impact on maintainability</strong>.</em> By their <a href="http://msdn.microsoft.com/en-us/library/ms537512.aspx">very definition</a> you <em>have to</em> link at least one additional style sheet <em>from your <abbr title="Hypertext Markup Language">HTML</abbr></em>, unless, even worse, <abbr title="Cascading Style Sheets">CSS</abbr> rules are added within the document. And just as we avoid using font elements as they are  presentational and usually mean HTML changes once we want to change the  layout (which means a maintenance problem), we should avoid Conditional  Comments as once we want to change (or even keep) the layout when a new  version of Internet Explorer ships or an old version goes, we face a  good likelihood to change the HTML, which translates to an unnecessary  maintenance issue as well. [...]</p>
<p>There are implications for collaboration as well, and you <em>can</em> observe these problems in practice: Since <abbr title="Conditional Comments">CC</abbr> style sheets <strong>don&#8217;t necessarily use different selectors</strong> than the  &#8220;regular&#8221; style sheets, developers either have to look for the same  selector in <em>at least</em> two style sheets, which <strong>slows them down</strong> (even or especially in comparison to &#8220;hacks&#8221; which are usually close to  all other rules), or they <strong>overlook</strong> them, implement another solution,  eventually <strong>run into &#8220;weird&#8221; layout problems</strong> (because the CC style sheet  overrides something or says something different), and maybe even add  code that is unnecessary.&quot;</p>
  <cite><a href="http://meiert.com/en/blog/20080824/to-be-clear/">To Be Clear (on Conditional Comments and&#160;Resets)</a>, Jens Meiert </cite> 
</blockquote>
<p><em>Conditional Comments</em> fallen zwar in der Tat etwas aus der Rolle, denn es handelt sich um eine <a href="http://msdn.microsoft.com/en-us/library/ms537512.aspx">propriet&#228;re Erweiterung von Microsoft</a> und sie verhalten demzufolge auch sich nicht ganz so, wie es einfache HTML-Kommentare  tun sollten. Doch ein Problem ergibt sich daraus nicht. Gleiches trifft n&#228;mlich auch auf das nicht weniger eigent&#252;mliche Verst&#228;ndnis des Internet Explorers bez&#252;glich vieler CSS-Eigenschaften zu, die entweder falsch (CSS-Bugs) oder gar nicht interpretiert werden. Zwar sind CSS-Bugs kein Alleinstellungsmerkmal des Internet Explorers, jedoch beansprucht Microsoft seit vielen Jahren die Marktf&#252;hrerschaft. Nun lassen sich aber all diese Darstellungsprobleme des Internet Explorers mehr oder weniger einfach beheben, sei es durch Vermeidung bestimmter Markup/CSS-Konstellationen oder durch  CSS-Hacks. </p>
<h4 id="subsection3-2">Eine Frage der Praxis: Wohin mit den Hacks?</h4>
<p>F&#252;r die Hacks gibt es zwei Wege: Entweder <del></del> &ndash;
wie Jens Meiert empfiehlt &ndash; verzichtet man auf den Einsatz von <em>CCs</em> und verwaltet s&#228;mtliche Bugfixes in den regul&#228;ren Stylesheets. F&#252;r die skizzierte Suche nach bestimmten CSS-Regeln im Wartungsfall mag dieses Vorgehen vorteilhaft sein. Das hat aber leider   den Nachteil, dass wir s&#228;mtlichen modernen Browsern diesen nutzlosen CSS-Ballast der Bugfixes aufb&#252;rden und somit die Ladezeiten in Firefox, Safari &amp; Co. unn&#246;tig verl&#228;ngern. Zudem ben&#246;tigen viele Bugfixes Parser-Hacks, um einzelne IE-Versionen direkt ansprechen zu k&#246;nnen. Doch genau diese meist invaliden und schwer lesbaren Konstrukte werden nicht zwingend von anderen Browsern ignoriert, was diesen Weg nicht weniger problematisch in Bezug auf <em>&quot;weird layout problems&quot;</em> macht.</p>
<p>Oder man  trennt Standard-CSS und die  IE-Anpassungen sauber voneinander, fasst s&#228;mtliche CSS-Hacks  in einem gesonderten Stylesheet zusammen und bindet dieses &#252;ber einen <em>Conditional Comment</em> ins Layout ein. Die Vorteile dieses Weges klingen &#252;berzeugend und wiegen den m&#246;glichen Nachteil eines leicht erh&#246;hten Pflegeaufwands mehr als auf.</p>
<h4 id="subsection3-3">Vorteile Conditional Comments</h4>
<ol>
  <li>Das Standard-CSS bleibt frei von kryptischen Parser-Hacks zur Korrektur von IE-Bugs.</li>
  <li>Die Bugfixes f&#252;r den Internet Explorer k&#246;nnen nicht versehentlich  die Darstellung modernen Browsern st&#246;ren.</li>
  <li>Der Umfang der CSS-Anpassungen f&#252;r den Internet Explorer h&#228;lt sich zumeist in &#252;bersichtlichen Grenzen. Ein solches Stylesheet bleibt daher meist &#252;bersichtlich klein.</li>
  <li>Die Webseite gewinnt an Performance in modernen Browsern, da Bugfixes f&#252;r den Internet Explorer auch nur diesem zug&#228;nglich gemacht werden.</li>
</ol>
<p>Soweit der allgemeine Teil zum sinnvollen Umgang mit <em>Conditional Comments</em>. Innerhalb von <em>YAML</em> ist es zudem m&#246;glich, Bugfixes f&#252;r den &#252;berwiegenden Teil der CSS-Bugs  Internet Explorers so universell zu formulieren, dass sie   ohne Zutun des Entwicklers greifen und deshalb pr&#228;ventiv eingesetzt werden k&#246;nnen, dank der vom CSS-Framework vorgegebenen Struktur des Markups. Dieses Konzept, das  bisher ausschlie&#223;lich in <em>YAML</em> umgesetzt wurde, f&#252;hrt  zu einerseits zu geringf&#252;gigem CSS-Overhead, bringt aber im Gegenzug nachhaltige Vorteile mit sich.</p>
<h4 id="subsection3-4">Conditional Comments in <em>YAML</em></h4>
<ol>
  <li>Entwickler k&#246;nnen sich bei der Layoutentwicklung auf standardkonforme Browser konzentrieren, der &#252;berwiegende Teil der Anpassungen f&#252;r IE 5.x - 7.0 erfolgt automatisch durch <em>YAML</em>. Der Korrekturaufwand f&#252;r Darstellungsprobleme des Layouts, von Formularen und sonstigen Inhalten sinkt drastisch.</li>
  <li>Auftraggeber m&#252;ssen keine Einschr&#228;nkungen in der Browserunterst&#252;tzung  hinnehmen, denn das CSS-Framework liefert die Unterst&#252;tzung &#228;lterer IE-Versionen frei Haus.</li>
  <li>Endanwender werden hinsichtlich des gew&#228;hlten oder gezwungenerma&#223;en verwendeten Browsers weniger bevormundet aufgrund der weitreichenden Browserunterst&#252;tzung des CSS-Frameworks.</li>
</ol>
<p>Und letztlich, sollte der Internet Explorer 8 vollst&#228;ndig standardkonform rendern und die &#228;lteren IE-Versionen verdr&#228;ngen, so beschr&#228;nkt sich der Wartungsaufwand zur Deaktivierung der Unterst&#252;tzung dieser veralteten Browser f&#252;r den Webentwickler  auf das einfache L&#246;schen eines Stylesheets auf dem Server, bzw. die Entfernung dieses speziellen HTML-Kommentars aus dem Layout. Wer daher <em>Conditional Comments</em> allein aufgrund ihrer propriet&#228;ren Herkunft  oder einem willk&#252;rlich heraufbeschworenen Wartungsproblem ablehnt, muss sich die Frage nach einer vergleichbar effektiven Alternative zu dem in <em>YAML</em> umgesetzten Bugfix-Konzept gefallen lassen, welche die genannten Vorteile f&#252;r Entwickler, Auftraggeber und Endanwender gleicherma&#223;en abdeckt.</p>
<h4 id="subsection3-5">Modulare Stylesheets vs. Performance</h4>
<p>CSS-Frameworks sind   Entwicklerwerkzeuge mit einem modularen Aufbau. Sie beinhalten eine Vielzahl an wiederverwendbaren Bausteinen (Reset-CSS, Screenlayout, Navigationselemente, Druckausgabe, ect.), die in Abh&#228;ngigkeit der jeweiligen Anforderungen in das CSS-Layout integriert und ggf. angepasst werden. Die M&#246;glichkeit der Wiederverwendung ist dabei entscheidend f&#252;r die Beschleunigung des Entwurfsprozesses. Gleichzeitig wird durch die Verwendung erprobter Bausteine der  Pflege- und  Testaufwand auf ein notwendiges Minimum zu reduziert. Im Gegensatz zur Layoutentwicklung verlangt der   Produktivbetrieb der Webseite in erster Linie nach Geschwindigkeit. Jeder  CSS-Baustein muss einzeln per HTTP-Request beim Server angefordert  werden. Jeder Request bedingt Latenzzeiten  und verlangsamt somit die Darstellung der Webseite. Im  Produktivbetrieb ist es daher sinnvoll, die Anzahl der einzelnen  Stylesheets durch Zusammenfassen so weit wie m&#246;glich zu reduzieren.  &#196;hnliche Vorgehensweisen wendet man bei Grafiken an, Stichwort: <a href="http://www.webkrauts.de/2007/10/20/hovereffekte-mit-css-sprites/">CSS-Sprites</a>. Dennoch handelt es sich hier um zwei g&#228;nzlich von einander unabh&#228;ngige Phasen der Projektentwicklung, die in der Diskussion nicht willk&#252;rlich miteinander vermischt werden sollten.</p>
<p>Das CSS einer Webseite wird erst im User Client interpretiert und muss dazu zun&#228;chst vom  Server  heruntergeladen werden. Performance im  Produktivbetrieb verlangt deshalb nach m&#246;glichst kleinen  Dateigr&#246;&#223;en f&#252;r kurze Ladezeiten.  Erreicht wird dieses Ziel durch die Komprimierung von Stylesheets mit  Werkzeugen wie dem <a href="http://developer.yahoo.com/yui/compressor/"><em>YUI Compressor</em></a> oder dem PHP-Tools wie <a href="http://code.google.com/p/minify/"><em>minify</em></a>. Dabei  werden CSS-Kommentare und unn&#246;tige White-Spaces (Leerzeichen,  Tabulatoren, Zeilenumbr&#252;che) aus den Stylesheets entfernt, um die Dateigr&#246;&#223;e zu  reduzieren. Ebenso ist es jedoch nachvollziehbar,  dass sich in einer derart komprimierten Form nicht  vern&#252;nftig entwickeln  l&#228;sst. Wer sein Layout von Hand codiert, wird gleicherma&#223;en darauf achten,   CSS-Regeln lesbar und &#252;bersichtlich zu halten und wird einzelne  Passagen kommentieren, um die Wartbarkeit des Codes und das  Nachvollziehen von Designentscheidungen f&#252;r andere Teammitglieder    zu dokumentieren. Die Wartbarkeit und Pflege komplexer Projekte l&#228;sst eine <a href="http://meiert.com/en/blog/20090305/separate-style-sheets/">Unterteilung von Stylesheets</a> in logische Teile ebenfalls sinnvoll erscheinen.</p>
<p>Bei der Entwicklung eines  CSS-Frameworks ist es nicht viel anders. Das Framework  stellt f&#252;r den Anwender zun&#228;chst eine fremde Codebasis dar, die verstanden  sein will, um Vertrauen in den Code zu gewinnen  und um effektiv damit arbeiten zu k&#246;nnen. Aus  diesem Grund sind die CSS-Bausteine bei <em>YAML</em> auf Basis von <a href="http://cssdoc.net">CSSDOC</a> sehr ausf&#252;hrlich dokumentiert und die modulare Aufteilung der Stylesheets in  aufgabenspezifische CSS-Bausteine wird konsequent verfolgt. Das Kommentieren von CSS, die  bedeutungsvolle Benennung von Layoutelementen, Dateien und Ordnern  ist eine <em>Grundvoraussetzung f&#252;r professionelle Webentwicklung</em> und  kann somit<em> nicht</em> exklusiv f&#252;r die Handcodierung oder den Einsatz von  CSS-Frameworks gelten. In beiden F&#228;llen unterliegt der  Entwicklungsprozess anderen Kriterien als der Livebetrieb der fertigen Website. Der modulare Aufbau der Stylesheets w&#228;hrend der Layoutentwicklung ist daher <em>kein  </em>Argument  gegen CSS-Frameworks. Unabh&#228;ngig von Handcodierung oder Framework-Einsatz ist die Entscheidung hinsichtlich einer Performanceoptimierung der Stylesheets f&#252;r den Livebetrieb ein Zeichen daf&#252;r,  ob man sich einer  professionellen Arbeitsweise stellt oder nicht.</p>
<h3 id="section4">Liefern Frameworks unsemantischen Code?</h3>
<p>Ein ausgesprochen leidiges Diskussionsthema betrifft den immer wieder zu h&#246;renden Vorwurf, CSS-Frameworks w&#252;rden unsemantischen Code produzieren oder gar unsemantische Klassennamen verwenden. </p>
<blockquote lang="en-US" xml:lang="en-US">
  <p>&quot;A CSS framework passively removes a great majority of semantic value  from the markup of a document and, in my opinion, should be avoided.&quot;</p>
  <cite><a href="http://mondaybynoon.com/2007/08/27/please-do-not-use-css-frameworks/">Please Do Not Use CSS Frameworks</a>, <em>Jonathan Christopher</em></cite>
</blockquote>
<p>Diese Aussagen sind ganz und gar Unfug. CSS-Layouts basieren typischerweise auf DIV-Elementen. Und diese Elemente haben in der Tat per Definition keine  festgelegte semantische Bedeutung. Es sind <em>strukturgebende</em> Elemente, die uns erlauben,  Inhalte sinnvoll innerhalb eines HTML-Dokumentes zu gliedern (<em>Header</em>, <em>Navigation</em>, <em>Content</em>, <em>Footer</em>, ect.) und mit CSS <em>inhaltsunabh&#228;ngig</em> zu gestalten. Jetzt gibt es nat&#252;rlich  durchaus unterschiedliche Ansichten, wie und in welchem Umfang mit DIV-Elementen umgegangen werden soll. Doch diese Fragestellung  hat wiederum nichts mit Semantik zu tun, sondern ist dem pers&#246;nlichen Geschmack, bzw. dem zuvor diskutierten Thema um m&#246;glichst schlanken Code zuzuordnen.</p>
<p>Dann w&#228;ren da noch b&#246;sen unsemantischen IDs und Klassennamen in vielen CSS-Frameworks. Das ist schlicht und ergreifend Unsinn. Klassen- und ID-Bezeichnungen f&#252;gen einer Webseite weder irgendeine semantische Information hinzu, noch geht den Seiteninhalten Semantik verloren, wenn der Quelltext mit  Klassennamen eines CSS-Frameworks angereichert wird. Klassen- und ID-Bezeichnungen dienen der Zuordnung von CSS-Selektoren zu  HTML-Elementen, mehr nicht. Oder als Frage formuliert: Was &#228;ndert sich wohl an der Semantik eines deutschsprachigen Fachtextes, wenn das ihn umgebende  CSS-Layout  englische oder gar spanische Klassennamen verwendet? Nat&#252;rlich sollten Klassennamen stets sinnvoll gew&#228;hlt werden, um die Les- und Wartbarkeit des Quellcodes zu erleichtern. Doch man muss  den bekannten CSS-Frameworks  zweifelsfrei eine durchdachte Systematik bei der Namensvergabe bescheinigen. </p>
<p>Verst&#228;ndnisprobleme bei Entwicklern r&#252;hren eher daher, dass die verwendete Systematik der Benennung nicht den Geschmack eines jeden Webdesigners trifft. Reine Gridbasierte Frameworks (<em>Blueprint CSS</em> oder <em>960 Grid System</em>) sind sehr stark visuell orientiert. Das &#228;u&#223;ert sich zum einen in einem, dem fr&#252;heren Tabellenlayout  &#228;hnlichen Aufbau des Markups und eben auch in der Bezeichnung der CSS-Klassen, die sich am Gridraster orientiert. Die Kritik von <a href="http://grochtdreis.de/weblog/2008/05/30/grid-layouts-&#8211;-das-neue-tabellenlayout/">Jens Grochtdreis</a>  und <a href="http://blog.adambard.com/2008/08/09/blueprintcss-youre-just-fooling-yourself/">Adam Bard</a> ist in der Tat angebracht, denn sie macht deutlich, wie wenig bei diesem Layoutansatz von der Trennung von Inhalt und Layout noch &#252;brig geblieben ist und wie aufw&#228;ndig &#196;nderungen werden k&#246;nnen. Doch  dieser berechtigte Kritikpunkt bezieht sich konkret auf den Layoutansatz von <a href="http://code.google.com/p/blueprintcss/">Blueprint CSS</a> und dessen zahlreicher Clones und Modifikationen. Bei <em>YAML</em> hingegen ist eine Vielzahl an Gestaltungsm&#246;glichkeiten vollst&#228;ndig per CSS realisierbar, ohne dass das Basismarkup ver&#228;ndert werden muss. Das  Layoutkonzept von <em>YAML</em> ist deshalb gerade in Verbindung mit Content-Management-Systemen  effektiv, denn die Templateerstellung ist &#252;blicherweise relativ aufw&#228;ndig. Weitreichende Gestaltungsm&#246;glichkeiten eines solchen Templates per CSS erm&#246;glichen auch hier eine Wiederverwendung.</p>
<h3 id="section5">Nur f&#252;r Anf&#228;nger oder fehlender Lerneffekt?</h3>
<p>Zum Abschluss noch zwei weitere typische Argumente aus der Diskussion contra CSS-Frameworks: So seien Frameworks in erster Linie f&#252;r Einsteiger sinnvoll, w&#228;hrend Profis keine derartigen Hilfen br&#228;uchten. Sicherlich ist es f&#252;r Einsteiger eine geringere H&#252;rde, die Anwendung eines Frameworks zu erlernen, als echtes Fachwissen &#252;ber CSS aufzubauen. </p>
<blockquote lang="en-US" xml:lang="en-US">
  <p>&#8220;A big problem with frameworks is when up and coming developers attach  themselves to a framework as opposed to the underlying code itself. The  knowledge gained in this case surrounds a specific framework, which  severely limits the developer.&#8221; </p>
  <cite><a href="http://mondaybynoon.com/2007/08/27/please-do-not-use-css-frameworks/">Please Do Not Use CSS Frameworks</a>, <em>Jonathan Christopher</em></cite>
</blockquote>
<p>Doch wie weit kommt denn ein Einsteiger ohne Fachwissen wirklich? Kein Framework dieser Welt nimmt seinem Nutzer die Eigenverantwortung ab,  individuelle Layoutelemente fehlerfrei zu positionieren und Inhalte semantisch korrekt auszuzeichnen. Wer  Qualit&#228;t will, kommt um Fachwissen nicht umhin. In jedem Fall bleibt der Lerneffekt also erhalten. Erspart bleibt dem Einsteiger lediglich der Frust, den Webentwickler jeder Qualifikation erleben, wenn sie sich der nicht ganz so standardkonformen Browserrealit&#228;t stellen.</p>
<p>F&#252;r professionelle Entwickler d&#252;rfte wohl kaum ein nachhaltiger Lerneffekt aus der allt&#228;glichen Anwendung von HTML &amp; CSS zur Layout erwachsen, denn sie sollten dieses Fachwissen bereits besitzen. Wie einleitend  erw&#228;hnt wurde, verlangt jedoch auch die Nutzung eines CSS-Frameworks eine gewisse Lernbereitschaft, um damit effizient arbeiten zu k&#246;nnen. Und speziell im professionellen Bereich wirkt sich das zeitliche Einsparpotential erst richtig aus, denn die Einsparungen multiplizieren sich mit der Anzahl der Projekte. Die eingesparte Zeit l&#228;sst sich indes hervorragend zur Weiterbildung in Sachen HTML 5, WCAG 2.0 oder WAI-ARIA nutzen.</p>
<p>Im Gegensatz dazu ist es durchaus nachvollziehbar wenn Hobbybastler vorrangig den Spa&#223; an der Freude sch&#228;tzen und sich deshalb bewusst f&#252;r die Handcodierung entscheiden, denn Effizienz ist in diesem Fall wahrscheinlich weder  ma&#223;gebend noch erw&#252;nscht.</p>
<h3 id="section6">Fazit</h3>
<p>Auff&#228;llig ist  die Tatsache, dass massive Kritik an CSS-Frameworks, bzw. an <em>YAML</em>, von Profis kommt, die selbst offensichtlich noch nie mit <em>YAML</em> gearbeitet haben. Man kann dar&#252;ber spekulieren, ob neben dem grunds&#228;tzlich verst&#228;ndlichen Misstrauen vor allem die Furcht vor fehlender Kontrolle &#252;ber eine Instant-L&#246;sung von dritter Seite eine gro&#223;e Rolle spielt. Man wird das Gef&#252;hl nicht los, als ob die Kritiker Angst h&#228;tten, dem f&#252;r sie fremden Konzept ausgeliefert und in ihrer Arbeitsweise eingeschr&#228;nkt zu sein, was jedoch bei hinreichender Fachkompetenz nicht der Fall ist. <a href="http://jeffcroft.com/blog/2007/nov/17/whats-not-love-about-css-frameworks/">Jeff Croft bemerkte das schon vor einer ganzen Weile.</a>  Es stimmt, man muss sich auf das Konzept von <em>YAML</em> einlassen, und man muss Zeit investieren, um den Aufbau des Frameworks zu verstehen. Aber das gilt ebenso f&#252;r jedes CMS, das ebenfalls nach eigenen Regeln funktioniert und erst nach weitaus l&#228;ngerer Einarbeitungszeit beherrscht werden kann als ein CSS-Framework. Die Argumentation <em>&quot;Ich will nicht&quot;</em>  w&#228;re deshalb eine ehrliche und v&#246;llig legitime Aussage, mit der ich als Entwickler von <em>YAML</em> gut leben kann. Eine solche, zutiefst pers&#246;nliche Entscheidung f&#252;r eine individuelle Arbeitsweise, bedeutet im Umkehrschluss jedoch nicht, dass  CSS-Frameworks  obsolet sind oder mit der eigenen Codequalit&#228;t nicht konkurrieren k&#246;nnten.</p>
		<p>Es ist unbestritten, dass die aktuelle Vielzahl an Projekten und deren stark variierender Funktionsumfang, sowie die verschiedenen Layoutans&#228;tze eine qualitative Einsch&#228;tzung ohne tiefgr&#252;ndige Recherchen fast unm&#246;glich manchen. Zudem heften sich zahlreiche Projekte das offensichtliche Buzzword  &#171;Framework&#187; gern ans Revers auf der Suche nach etwas Ruhm in Netz, scheitern bei genauerer Betrachtung jedoch  den Anspr&#252;chen, die an derartige Hilfsmittel f&#252;r Webentwickler gestellt werden. Und nur aus diesem Grund ist Pauschalkritik momentan noch so einfach, wenn auch nicht gerechtfertigt. Denn einzelne Trittbrettfahrer schm&#228;lern  langfristig nicht die zahlreichen Vorz&#252;ge, die aus der Arbeit mit CSS-Frameworks erwachsen k&#246;nnen. <em>YAML</em> und auch <em>YUI Grids</em> lassen heute bereits erahnen, wohin die Reise f&#252;r Webentwickler in den n&#228;chsten Jahren gehen wird. </p> <p>Dieses Essay entstand in enger Zusammenarbeit von <a href="http://www.highresolution.info">Dirk Jesse</a> und <a href="http://www.pookerart.de/">Nils Pooker</a>. Die wie immer hervorragende englische &#220;bersetzung lieferte <a href="http://cory.de/">Genevieve Cory</a>.
</p>]]></content:encoded>
      <dc:date>2009-03-23T09:25:57+00:00</dc:date>
    </item>

    <item>
      <title>Everything you should know about CSS Frameworks!</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/everything_you_should_know_about_css_frameworks/]]></link>
      <description>Layout frameworks are gaining in popularity and are on their way to becoming standard tools for web development. However, the term &amp;quot;frameworks&amp;quot; is primarily associated with software development and as neither HTML nor CSS can be classified as programming languages, there has been some confusion and discussion over the appropriateness of the term in this area. The concept of CSS frameworks encounters similar acceptance problems, as even though they are not &amp;quot;programming&amp;quot;, many web developers &amp;ndash; particularly professionals &amp;ndash; continue to hold fast to the idea that no matter how demanding everyday life is, markup and CSS rules must be written completely by hand in order to ensure clean and simple
 code. This prejudice stems in part from the experiences that nearly every developer has had with the very first code generators like FrontPage, GoLive, or Dreamweaver, and those very negative experiences will not be soon forgotten.</description>
      <dc:subject>Essays</dc:subject>
      <content:encoded><![CDATA[<p lang="en-US" xml:lang="en-US">Layout frameworks are gaining in popularity and are on their way to becoming standard tools for web development. However, the term &quot;frameworks&quot; is primarily associated with software development and as neither HTML nor CSS can be classified as programming languages, there has been some confusion and discussion over the appropriateness of the term in this area. The concept of CSS frameworks encounters similar acceptance problems, as even though they are not &quot;programming&quot;, many web developers &ndash; particularly professionals &ndash; continue to hold fast to the idea that no matter how demanding everyday life is, markup and CSS rules must be written completely by hand in order to ensure clean and simple
 code. This prejudice stems in part from the experiences that nearly every developer has had with the very first code generators like <em>FrontPage</em>, <em>GoLive</em>, or <em>Dreamweaver</em>, and those very negative experiences will not be soon forgotten. </p> <p class="important"><strong>Hinweis:</strong> Dieser Essay ist alternativ auch in <a href="http://www.highresolution.info/spotlight/entry/was_sie_ueber_css-frameworks_wissen_sollten/" title="Deutsch">Deutsch</a> verf&#252;gbar.</p>

<h3 lang="en-US" xml:lang="en-US">Table of Content</h3>
<ul lang="en-US" xml:lang="en-US">
  <li><a href="#section1">Web Developers' General Viewpoint</a></li>
  <li><a href="#section2">&quot;CSS-Frameworks are <em>never the best solution</em> ...&quot;</a>
    <ul>
      <li><a href="#subsection2-1">Frameworks, Code Snippets and Web Design Practice</a></li>
      <li><a href="#subsection2-2">About Practical Solutions and the Minimizing of Source Code</a></li>
      <li><a href="#subsection2-3">Frameworks Serve Web Development, not Philosophy</a></li>
    </ul>
  </li>
  <li><a href="#section3">Futureproof and Maintainable CSS</a>
    <ul>
      <li><a href="#subsection3-1">Conditional Comments &amp; Hacks</a></li>
      <li><a href="#subsection3-2">A Question of Practice: Where to Put the Hacks?</a></li>
      <li><a href="#subsection3-3">The Advantages of Conditional Comments</a></li>
      <li><a href="#subsection3-4">Conditional Comments in <em>YAML</em></a></li>
      <li><a href="#subsection3-5">Modular Stylesheets vs. Performance</a></li>
    </ul>
  </li>
  <li><a href="#section4">Do Frameworks Create Non-Semantic Code?</a></li>
  <li><a href="#section5">Only for Beginners / No Learning Effect?</a></li>
  <li><a href="#section6">Summary</a></li>
</ul>
<h3 id="section1" lang="en-US" xml:lang="en-US">Web Developers' General Viewpoint </h3>
<p lang="en-US" xml:lang="en-US">HTML and CSS are interpreted on the client side. Code
  should therefore be kept as streamlined as possible for any
  individual project. CSS frameworks, however, are project-independent
  modular systems, built with the goal of presenting the most universal
  solutions for the greatest variety of layouts. How do these seemingly
  incompatible approaches fit together?</p>
<p lang="en-US" xml:lang="en-US">A fair comparison of the more than twenty
  online projects calling themselves &ldquo;CSS frameworks&rdquo; is
  extremely difficult: their quality and documentation as well as their
  intended uses and even the basic concepts behind the layout concepts
  simply vary too much. Even worse, there is no clear and generally
  accepted definition of what really qualifies as a &ldquo;CSS
  framework&rdquo;. Almost encouragingly, so many people want to know
  what makes a framework that <a href="http://www.noupe.com/css/5-popular-css-frameworks-tutorials-tools-for-getting-started.html">many
  people</a> have published <a href="http://css-tricks.com/css-frameworks-roundup-and-some-thoughts/">perfunctory</a> and <a href="http://speckyboy.com/2008/03/28/top-12-css-frameworks-and-how-to-understand-them">superficial</a> surveys. The <a href="http://warpspire.com/features/css-frameworks/">typical</a> <a href="http://www.vcarrer.com/2008/08/when-to-use-css-framework.html">argumentation</a> when discussing the pros and cons of CSS frameworks generally <a href="http://www.smashingmagazine.com/2007/09/21/css-frameworks-css-reset-design-from-scratch/">looks
  like this</a>:</p>
<blockquote lang="en-US" xml:lang="en-US">
  <p>Advantages of CSS Frameworks</p>
  <ul>
    <li>You increase your productivity and avoid common mistakes.</li>
    <li>You normalize your code/class base.</li>
    <li>You have a better workflow within a team.</li>
    <li>You gain an optimal browser-compatibility.</li>
    <li>You have a clean, well-structured and complete code.</li>
  </ul>
  <p>Disadvantages of CSS Frameworks</p>
  <ul>
    <li>You need time to fully understand the framework.</li>
    <li>You need a close familiarity with your code&#8217;s architecture.</li>
    <li>You might inherit someone&#8217;s bugs or mistakes.</li>
    <li>You develop sites upon a framework, not upon the solid knowledge of CSS</li>
    <li>You get a bloated source code.</li>
    <li>CSS can not be framed semantically.</li>
    <li>Ignoring the uniqueness of your project.</li>
  </ul>
  <cite><a href="http://www.smashingmagazine.com/2007/09/21/css-frameworks-css-reset-design-from-scratch/">CSS Frameworks + CSS Reset: Design From Scratch</a>, Smashing Magazine</cite></blockquote>
<p lang="en-US" xml:lang="en-US">As the developer of the <a href="http://www.yaml.de/en/">(X)HTML/CSS
  Framework YAML</a>, I constantly use these arguments / stereotypes to
  keep the further development of my project on course. In this essay,
  I would like to clarify my position on the most common criticisms of
  frameworks, using <a href="http://www.highresolution.info/spotlight/entry/css_frameworks_erwartungen_mythen_und_reale_vorteile/"><em>my</em> definition of a CSS framework</a> (german article) as
  the standard.</p>
<blockquote lang="en-US" xml:lang="en-US">CSS frameworks are powerful development
  environments for website creation and are generally oriented towards
  professional web developers. They provide universal layout building
  blocks and define a set of rules and parameters within which the
  developer can move freely.</blockquote>
<p lang="en-US" xml:lang="en-US">Important here is the affirmation that CSS
  frameworks are tools for professionals. A project like <em>YAML</em> might &ndash; at first glance &ndash; look like a complete
  set of building blocks with finished layouts and samples, but all the <a href="http://www.yaml.de/fileadmin/examples/index.html">templates
  and examples</a> are merely demonstrations of how flexibly this
  environment can be used in professional web development practice.</p>
<p lang="en-US" xml:lang="en-US">In this discussion, I will repeatedly refer to <a href="http://meiert.com/">Jens Meiert's</a> articles, as he is one
  of the best-known German web developers and an energetic advocate of
  streamlined and standard-conforming code. I do not intend to
  personally attack Jens. On the contrary: I greatly appreciate his
  articles, as he is one of the few critics who does not merely
  complain, but can back up his arguments. His articles are thus a good
  basis for a thorough technical discussion.</p>
<h3 id="section2">&quot;CSS frameworks are <em>never
  the best solution</em> ...&quot;</h3>
<p lang="en-US" xml:lang="en-US">The following will examine the truth of the
  purported disadvantages listed above. For various reasons, the fact
  is: CSS frameworks are not for everyone. <a href="http://meiert.com/">Jens
  Meiert</a> tries to name several reasons for this:</p>
<blockquote  lang="en-US" xml:lang="en-US">
  <p>&quot;Public, or open, <a href="http://hiddenpixels.com/css-stuffs/css-frameworks/"><abbr title="Hypertext Markup Language">HTML</abbr>/<abbr title="Cascading Style Sheets">CSS</abbr> &#8220;frameworks&#8221;</a> are <em><strong>never the best solution</strong></em>, and oftentimes not even a good solution for <em>any</em> site. [...] So why stating that frameworks aren&#8217;t a good solution? Because <strong>people outside</strong> your company or outside your apartment <strong>just cannot know  your needs</strong>, and this implicit ignorance results in <strong>way too much markup</strong> in your documents and <strong>way too many rules</strong> in your style sheets, making  any framework-based solution inferior to something tailored.&quot;</p>
  <cite><a href="http://meiert.com/en/blog/20080805/html-css-frameworks/">A few words on HTML/CSS-Frameworks</a>, Jens Meiert</cite> </blockquote>
<p lang="en-US" xml:lang="en-US">This seems reasonable enough at first glance. A
  framework can be based upon web standards and best practices, but can
  never duplicate the particular methods of an individual developer or
  an agency with 100% accuracy. This is why working with a CSS
  framework requires a certain learning phase for the code and its
  working principles. This demands that individual developers adjust
  their work methods to the conceptual basis of that CSS framework. </p>
<p lang="en-US" xml:lang="en-US">Jens Meiert concludes, however, purely on the
  basis of the foreign code, that CSS frameworks <em>always
  and necessarily</em> bring an overhead of
  markup and too many CSS rules. This results from the assumption that
  frameworks would neither allow individual working procedures nor
  permit any possibilities of optimizing the final code. This
  assumption is the actual basis of his criticism. The mistake in his
  logic is, however, to assume that either individual working
  procedures or the concrete demands of any project determine the basis
  of professional web development &ndash; rather than working according to
  current web standards. This set of rules is not only the <em>basis
  of all professional web development</em>,
  it is also the basis of widely varied and highly individual working
  habits. <em><a href="http://www.yaml.de/en/">YAML</a></em>, currently the most complete and fully developed CSS
  framework, is also based on these web standards: this results in a
  foundation of transparent source code, a clear separation of content
  and layout, and semantically appropriate markup within the HTML page
  structure.</p>
<p class="info" lang="en-US" xml:lang="en-US"><strong>Let us examine current web
  development practice:</strong> in spite of
  all the variations in the millions of websites, their structure is
  basically similar. There is usually a <em>header</em>,
  a <em>navigation</em>, a clearly defined <em>content area</em>, perhaps a <em>sidebar</em> and finally a <em>footer</em>: these sections are often named directly in the source code, and have
  by now nearly become an informal convention. There may be several
  columns and perhaps <em>teasers</em> or small variations of the layout. Yet: websites
  are less different from each other than houses are, which &ndash; as
  unique as they may be &ndash; still all consist of a foundation, a living
  area, and a roof.</p>
<h4 id="subsection2-1" lang="en-US" xml:lang="en-US">Frameworks, Code Snippets and Web Design Practice</h4>
<p lang="en-US" xml:lang="en-US">Many fear that the use of a CSS framework with
  a set structure and predetermined class and ID names will
  unnecessarily hinder the designer's particular freedom. We note that
  the restrictions of the immutable HTML structure of the <a href="http://www.csszengarden.com/tr/deutsch/">CSS
  Zen Garden</a> have not kept designers from producing countless
  unique designs for the site.</p>
<p lang="en-US" xml:lang="en-US">The practice of the individual hand-coding of a
  website does not necessarily mean that developers invent their
  structure from a blank slate. A developer is <em>precisely
  not </em>an artist, kissed by the Muse to
  give the Web a new masterpiece of her creative fantasy. Web
  development is a trade and every developer uses trusted tools (code
  snippets) for every new site &ndash; even those who code by hand. And even
  if a developer swears that she uses no prefab <em>copy
  &amp; pasted </em>lines of HTML or CSS, it
  is her expert knowledge that leads her to type her code according to
  the principles of a particular system. Web professionals have
  uncountable tried-and-true code snippets in their heads, just like
  architects remember countless possible variations on a house. And CSS
  frameworks are basically nothing more than a collection of tested,
  practice-oriented code snippets which work together and are
  subordinated to one general concept. </p>
<p lang="en-US" xml:lang="en-US">Often cited along with the arguments of too
  much markup and too many CSS rules is the allegedly poor quality of
  the code itself. Here, however, it is important to discuss the
  fundamentally different goals of various framework concepts. Most web
  developers understand the term &quot;CSS framework&quot; to refer not
  only to <em>YAML</em>,
  but also to <em><a href="http://developer.yahoo.com/yui/grids/">YUI
  Grids</a></em>, <em><a href="http://code.google.com/p/blueprintcss/">Blueprint
  CSS</a></em>, <em><a href="http://960.gs/">960 Grid
  System</a></em> and various derivatives of latter two. It is easy to lose sight
  of the fact that unlike <em>YAML</em>,
  the sleek <em>YUI-Grids</em> do
  not contain the complete IE patches, the building blocks for forms,
  or comprehensive documentation. <em>Blueprint
  CSS</em> and <em>960.gs </em>implement the design of a classic
  column grid as their conceptual foundation for the entire framework,
  and are thus much closer to the purely visually oriented table layout
  than to the implementation of web standards. As a framework in
  practice, <em>YUI-Grids</em> can
  be a bit tricky when designing complex elements, while the visually
  oriented frameworks with their precisely defined columnar layout
  cannot clearly separate content and design, which is certainly
  justified <a href="http://blog.adambard.com/2008/08/09/blueprintcss-youre-just-fooling-yourself/">grounds
  for criticism</a>.</p>
<h4 id="subsection2-2" lang="en-US" xml:lang="en-US">About Practical Solutions and the Minimizing of
  Source Code</h4>
<p lang="en-US" xml:lang="en-US">Professional CSS frameworks cannot fullfill the
  dream of always providing the <em>absolute
  minimum</em> code. Naturally, such an <em>extreme</em> can
  always only be reached for <em>exactly one </em>specific case and requires integration
  of the pages' final content. The goal of a good CSS framework can
  thus only be to develop building blocks with a <em>relative
  minimum</em> of markup and CSS rules and
  the <em>greatest possible potential for
  reusability</em>, and to use those to
  create a robust and efficiently usable layout system <em>independent
  of content.</em></p>
<p lang="en-US" xml:lang="en-US">The difference between the <em>absolute</em> code <em>minimum</em> of a perfect individual creation and
  the <em>relative minimum</em> of the framework code is inherently variable, dependent upon various
  influences:</p>
<ol lang="en-US" xml:lang="en-US">
  <li>The more the
    layout <em>planning</em> can
    take the functional principles of the framework being used into
    account, the smaller the resulting overhead and the faster and
    simpler the implementation. </li>
  <li>HTML and CSS almost
    always offer various ways to solve a problem, and hand coding is not
    guaranteed to find the ideal solution and implement it faultlessly.
    Expert knowledge comes into play here. </li>
  <li>The <em>absolute
    minimum</em> is a theoretical value. In
    reality, CSS bugs and the varying CSS implementations of the
    different browser generations require constant compromises in markup
    and in the formulation of CSS rules. </li>
  <li>CSS frameworks are tools for layout development.
    Only in the hands of an experienced developer does the final layout
    appear, precisely because optimization is determined by the
    requirements of the particular project. A certain overhead on the
    part of the framework is thus required to allow this flexibility. </li>
</ol>
<p lang="en-US" xml:lang="en-US">CSS frameworks do not provide that perfect
  made-to-measure suit, but a compromise &ndash; and with good reason. <em>YAML</em> does not claim to deliver the <em>best
  possible</em> (in the sense: a
  made-to-measure suit = <em>absolute minimum</em> code) <em>out of the
  box</em>. Instead, I aim to provide the <em>best possible </em>code
  basis (in terms of <em>efficiency</em> and <em>flexibility</em>)
  for the developer. <em>YAML's</em> <a href="http://www.yaml.de/en/documentation/basics/xhtml-source-code.html">basic
  markup</a>, the flexible grid building blocks (<a href="http://www.yaml.de/en/documentation/practice/subtemplates.html">Subtemplates</a>)
  and the three <a href="http://www.yaml.de/en/documentation/css-components/the-central-stylesheet.html">CSS
  Core Stylesheets</a> (<code>base.css</code>, <code>iehacks.css</code> and <code>print_base.css</code>)
  are robust, reusable construction units, which have all gone through
  an optimization process in the course of developing the framework,
  and especially in the area of flexible layouts, this code basis is
  extremely streamlined in spite of its flexibility. </p>
<p lang="en-US" xml:lang="en-US">The objection of too much markup and rules is
  of course not answered by merely offering an empty folder for content
  along with a reset-css and a couple lines of basic CSS as a basis for
  coding &ndash; <a href="http://eswat.ca/">that</a> <a href="http://www.peterkroener.de/das-website-starterkit/">cannot</a> really be called a &quot;framework&quot;. It is certainly
  streamlined, but will not save any more than a couple minutes in
  development time. </p>
<h4 id="subsection2-3" lang="en-US" xml:lang="en-US">Frameworks Serve Web Development, not Philosophy</h4>
<p class="info" lang="en-US" xml:lang="en-US"><strong>Another look at the
  practice: </strong>the desired minimum of
  code is also in hand-coded form only reachable in the extremely rare
  case of a customer who gives a developer free rein from the initial
  conception up to the launch &ndash; without any change requests in the
  middle. The reality of front end development is rather different. New
  changes are often demanded after clearance and even after the launch,
  which at that stage often mean additional markup. The minimum can
  only be determined at the end of the life of the project, and only as
  a best case scenario. </p>
<p lang="en-US" xml:lang="en-US">Jens Meiert is not the only one who misses the
  point of a CSS framework, as he compares a theoretically
  highly-optimized custom solution to the <em>out
  of the box</em> result of a CSS framework
  &ndash; in order to argue against the necessary overhead of the CSS
  frameworks. This argument first neglects the fact that only those
  professionals with the necessary expertise can and should optimize
  the basic project setup of any framework. Second, the advantages of
  working with a CSS framework are not in the area of final code
  optimization, but in all the previous stages of development, in which
  things change due to more factors than just through discussions with
  the customer. The growing complexity of large and challenging
  projects with several teams and diverse groups of decisionmakers does
  not allow for immediate optimization and finalization of code. <em>YAML's</em> concept offers a practice-oriented solution: robust in all the major
  browsers, designed for complex demands of web development, and ready
  for the vagaries of dealing with customers. That <a href="http://www.highresolution.info/weblog/entry/1x_gold_4x_silber_und_1x_bronze_bei_der_biene_2008/">six
  of the recent Biene Awards for particularly accessible websites were
  awarded to YAML-based sites</a> demonstrates what this framework can
  do in professional practice.</p>
<h3 id="section3" lang="en-US" xml:lang="en-US">Futureproof and Maintainable CSS</h3>
<p lang="en-US" xml:lang="en-US">Even in the area of CSS itself, there are many
  varied opinions on the utility of splitting up stylesheets according
  to modules, using hacks to tame Internet Explorer, and the use of <em>conditional comments</em>.
  YAML uses all these techniques with good reason.</p>
<h4 id="subsection3-1" lang="en-US" xml:lang="en-US">Conditional Comments &amp; Hacks</h4>
<p lang="en-US" xml:lang="en-US">I quote Jens Meiert on conditional comments, as
  he is absolutely <a href="http://meiert.com/en/blog/20080824/to-be-clear/">uncompromising</a> on the use of <a href="http://meiert.com/en/blog/20070201/why-conditional-comments-are-bad-repeat-bad/">Conditional
  Comments</a> and a <a href="http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/">Reset-CSS</a>. </p>
<blockquote lang="en-US" xml:lang="en-US">
  <p><em>&quot;The core problem with Conditional Comments is its <strong>impact on maintainability</strong>.</em> By their <a href="http://msdn.microsoft.com/en-us/library/ms537512.aspx">very definition</a> you <em>have to</em> link at least one additional style sheet <em>from your <abbr title="Hypertext Markup Language">HTML</abbr></em>, unless, even worse, <abbr title="Cascading Style Sheets">CSS</abbr> rules are added within the document. And just as we avoid using font elements as they are  presentational and usually mean HTML changes once we want to change the  layout (which means a maintenance problem), we should avoid Conditional  Comments as once we want to change (or even keep) the layout when a new  version of Internet Explorer ships or an old version goes, we face a  good likelihood to change the HTML, which translates to an unnecessary  maintenance issue as well. [...]</p>
  <p>There are implications for collaboration as well, and you <em>can</em> observe these problems in practice: Since <abbr title="Conditional Comments">CC</abbr> style sheets <strong>don&#8217;t necessarily use different selectors</strong> than the  &#8220;regular&#8221; style sheets, developers either have to look for the same  selector in <em>at least</em> two style sheets, which <strong>slows them down</strong> (even or especially in comparison to &#8220;hacks&#8221; which are usually close to  all other rules), or they <strong>overlook</strong> them, implement another solution,  eventually <strong>run into &#8220;weird&#8221; layout problems</strong> (because the CC style sheet  overrides something or says something different), and maybe even add  code that is unnecessary.&quot;</p>
  <cite><a href="http://meiert.com/en/blog/20080824/to-be-clear/">To Be Clear (on Conditional Comments and&#160;Resets)</a>, Jens Meiert </cite></blockquote>
<p lang="en-US" xml:lang="en-US"><em>Conditional Comments</em> are
  indeed a special case, as they are a <a href="http://msdn.microsoft.com/en-us/library/ms537512.aspx">proprietary
  development from Microsoft</a> and accordingly they don't quite
  behave like regular HTML comments do. Yet this does not necessarily
  cause problems. The same is the case for Internet Explorer's no-less
  idiosyncratic understanding of CSS properties, some of which are
  simply wrong (CSS bugs), and others are just not interpreted. Of
  course CSS bugs are not only evident in Internet Explorer, but
  Microsoft has led the browser market for many years. By now, we can
  solve all of Internet Explorer's presentational problems more or less
  easily, by avoiding particular markup / CSS constellations or by
  using CSS hacks. </p>
<h4 id="subsection3-2" lang="en-US" xml:lang="en-US">A Question of Practice: Where to Put the Hacks?</h4>
<p lang="en-US" xml:lang="en-US">For the hacks, there are two methods: either &ndash;
  as Jens Meiert recommends &ndash; do without the use of <em>CCs</em> and keep all bugfixes in the regular stylesheets.
  For the maintainer's search for particular CSS rules described above,
  this method may be advantageous. However, this does not avoid feeding
  useless CSS ballast to all the modern browsers (Firefox, Safari,
  etc.) which do not need it, yet thus load the pages more slowly. In
  addition, many bugfixes use parser hacks to address particular IE
  versions. But precisely these sometimes hard-to-read constructs will
  generally not validate, and they are not always ignored by other
  browsers &ndash; which certainly does not make this method less
  problematic regarding <em>&quot;weird
  layout problems&quot;</em>.</p>
<p lang="en-US" xml:lang="en-US">Or, one can separate standard CSS and the IE
  adjustments completely, put all the CSS hacks into their own special
  stylesheet, and link it in the layout with a <em>conditional
  comment</em>. The advantages of this method
  are convincing and more than compensate for the possible disadvantage
  of slightly higher maintenance effort.</p>
<h4 id="subsection3-3" lang="en-US" xml:lang="en-US">The Advantages of Conditional Comments</h4>
<ol lang="en-US" xml:lang="en-US">
  <li>The standard CSS
    remains free of cryptic parser hacks for correcting IE bugs. </li>
  <li>The bugfixes for Internet Explorer cannot accidentally disrupt the presentation in
    modern browsers. </li>
  <li>The number of CSS adjustments for Internet Explorer is usually manageable. Such a
    stylesheet can generally be kept quite short. </li>
  <li>The website gains on performance in modern browsers as they need not even parse through the bugfixes for
    Internet Explorer. </li>
</ol>
<p lang="en-US" xml:lang="en-US">That was the general claim for the sensible use
  of <em>conditional comments</em>.
  Within <em>YAML</em> itself, it was possible to formulate bugfixes for most of
  the IE CSS bugs universally enough so that they engage without any
  work from the developer: they can be used preventively, thanks to the
  framework's set markup structure. This concept, which is currently
  exclusively used in <em>YAML</em>, leads on one hand to some slight CSS
  overhead, and yet on the other hand also provides many advantages.</p>
<h4 id="subsection3-4" lang="en-US" xml:lang="en-US">Conditional Comments in <em>YAML</em></h4>
<ol lang="en-US" xml:lang="en-US">
  <li>
    <p style="margin-bottom: 0cm" lang="en-US" xml:lang="en-US">Developers can
      concentrate on layout development for the standard-conform browsers,
      as <em>YAML</em> takes care of most of the adjustments for IE 5.x - 7.0
      automatically. The amount of time spent correcting the general
      layout as well as forms etc. sinks dramatically. </p>
  </li>
  <li>Customers need not
    accept incompatibility with certain browsers, as the CSS framework
    inherently includes support for older IE-versions. </li>
  <li>End users are freer in their choice of browser
    as the CSS framework supports more of them. </li>
</ol>
<p lang="en-US" xml:lang="en-US">And finally, should Internet Explorer 8
  completely conform to the standards and drive the older versions from
  the market, the only update necessary for a site to deactivate
  support for the old browsers is to delete the stylesheet from the
  server and remove the special comments from the layout. Can those who
  oppose <em>conditional comments</em> merely because they are proprietary or because the
  arbitrarily defined &ldquo;maintenance problem&rdquo; is too great
  really present an effective alternative to <em>YAML's</em> bugfixing concept,
  one which provides at least the same advantages for developers,
  customers, and end users?</p>
<h4 id="subsection3-5" lang="en-US" xml:lang="en-US">Modular Stylesheets vs. Performance</h4>
<p lang="en-US" xml:lang="en-US">CSS frameworks are development tools with a
  modular structure. They contain a variety of reusable building blocks
  (resetting CSS, screen layout, navigational elements, print version,
  etc.), which are integrated into the CSS layout and adjusted,
  depending on the requirements of any particular project. The
  principle of reusability is critical to the speed of the <em>design
  process</em>. Simultaneously, the use of
  tested components keeps maintenance and testing to a necessary
  minimum. Contrary to the development process, running a <em>live
  site</em> requires more speed than anything
  else. As every CSS file must be individually requested from the
  server and every request results in lag time and slows the loading of
  the page, it is a standard recommendation that a live site combine
  its stylesheets into as few as possible. A similar process is used
  for graphics (see <a href="http://www.webkrauts.de/2007/10/20/hovereffekte-mit-css-sprites/">CSS-Sprites</a>).
  Still, these are two entirely independent phases of a project, which
  should not be arbitrarily mixed together in our discussion. </p>
<p lang="en-US" xml:lang="en-US">The CSS of a website is only interpreted by the
  user's client, and must first be downloaded from the server.
  Performance on a live site thus requires the smallest possible files
  for fast loading times. Tools like the <a href="http://developer.yahoo.com/yui/compressor/"><em>YUI
  Compressor</em></a> or <a href="http://code.google.com/p/minify/"><em>minify</em></a> can efficiently compress stylesheets. CSS comments and unnecessary
  whitespace (space characters, tabs, line breaks) are removed to
  shrink the file. However, compressed files are not suitable for
  development: they are not so easily readable by humans. Anyone coding
  layout by hand will always ensure that the CSS rules are legible and
  well-organized and will comment on particular passages to increase
  maintainability and to document design decisions for other members of
  the team. A <a href="http://meiert.com/en/blog/20090305/separate-style-sheets/">division
  of stylesheets</a> into logical parts thus lends itself to the care
  and maintenance of complex projects.</p>
<p lang="en-US" xml:lang="en-US">Developing with a CSS framework is not much
  different. The framework provides a new code basis which must be
  understood before one can trust it and work efficiently with it. To
  assist new developers, <em>YAML's</em> CSS building blocks are thoroughly
  documented using <a href="http://cssdoc.net/">CSSDOC</a> and the
  stylesheets are divided into consistent modules according to their
  function. CSS comments, meaningful names for layout elements, files,
  and folders is a <em>basic requirement of
  professional web development</em> and
  cannot be considered to be exclusive to
  either hand coding or to CSS frameworks. In either case, the
  development process has different requirements than does the live
  environment. A modular structure of stylesheets while in development
  is <em>not </em>an
  argument against CSS frameworks. The decision to optimize stylesheet
  performance for the live environment is entirely independent of any
  hand coding or framework use, and is always a sign of professional
  work.</p>
<h3 id="section4" lang="en-US" xml:lang="en-US">Do Frameworks Create Non-Semantic Code?</h3>
<p lang="en-US" xml:lang="en-US">A rather exasperating topic: CSS frameworks
  purportedly provide non-semantic code or even use non-semantic class
  names. </p>
<blockquote lang="en-US" xml:lang="en-US"><p>&quot;A CSS framework passively removes a
  great majority of semantic value from the markup of a document and,
  in my opinion, should be avoided.&quot;</p>
<cite><a href="http://mondaybynoon.com/2007/08/27/please-do-not-use-css-frameworks/">Please
Do Not Use CSS Frameworks</a>, Jonathan Christopher</cite> </blockquote>
<p lang="en-US" xml:lang="en-US">This is nonsense. CSS layouts are typically
  based on DIV elements, which are intended to have no semantic
  meaning: they are merely <em>structural</em> elements which allow us to divide content neatly
  into useful sections (<em>header</em>, <em>navigation</em>, <em>content</em>, <em>footer</em>,
  etc.) and to display it <em>independently
  of that content</em>. Of course there are
  certainly various approaches to the extensive or restrained use of
  DIV elements, but that is really a separate issue and has nothing to
  do with semantics, and is really a matter of personal taste and of
  keeping your code as short as possible. </p>
<p lang="en-US" xml:lang="en-US">Now to address those evil non-semantic IDs and class
  names in many CSS frameworks: they are completely irrelevant. Class
  and ID names add no semantic information to a website, nor does the
  actual content itself become less semantic when the source code is
  enriched by CSS frameworks class names. Class and ID names are
  intended purely to match CSS selectors to HTML elements: nothing
  more. Or let us ask: what changes in the semantics of a German
  technical article if the class names of the layout elements
  surrounding the content are in English? Or in Spanish? Class names
  must be carefully chosen purely for the easy maintenance and
  readability of the source code, and indeed, we must give the known
  CSS frameworks credit for a sophisticated and consistent naming
  system. </p>
<p lang="en-US" xml:lang="en-US">Developers' misunderstandings stem more often
  from the fact that the system cannot be to everyone's individual
  taste. Purely grid-based frameworks (<em>Blueprint CSS</em> or <em>960 Grid System</em>) are
  strongly visually oriented. This results in a markup structure that
  strongly resembles the old table layouts and names the CSS classes
  accordingly, which are oriented to the grid matrix. <a href="http://grochtdreis.de/weblog/2008/05/30/grid-layouts-&#8211;-das-neue-tabellenlayout/">Jens
  Grochtdreis's</a> (german article) and <a href="http://blog.adambard.com/2008/08/09/blueprintcss-youre-just-fooling-yourself/">Adam
  Bard's</a> criticism is fully justified, as they point out how little
  this layout technique can separate form from content and how
  difficult changes are. However, this valid point relates specifically
  to the technique employed by <a href="http://code.google.com/p/blueprintcss/"><em>Blueprint
  CSS</em></a> and its many clones and modifications. <em>YAML</em>,
  on the other hand, allows a great variety of designs implemented in
  pure CSS, without any changes in the basic markup. <em>YAML</em>'s
  layout concept is particularly efficient in combination with Content
  Management Systems, as templating is generally relatively
  complicated. The limitless design possibilities of such templates
  using CSS increase their potential reusability. </p>
<h3 id="section5" lang="en-US" xml:lang="en-US">Only for Beginners / No
  Learning Effect?</h3>
<p lang="en-US" xml:lang="en-US">Finally, two further typical arguments against CSS
  frameworks: they are allegedly useful only to beginners, as real
  professionals need no such help. It is certainly a good deal easier
  to learn how to use a framework than to build up expert knowledge of
  CSS. </p>
<blockquote><p>&ldquo;A big problem with frameworks
  is when up and coming developers attach themselves to a framework as
  opposed to the underlying code itself. The knowledge gained in this
  case surrounds a specific framework, which severely limits the
  developer.&rdquo; </p>
<cite><a href="http://mondaybynoon.com/2007/08/27/please-do-not-use-css-frameworks/">Please
  Do Not Use CSS Frameworks</a>, Jonathan
Christopher</cite> </blockquote>
<p lang="en-US" xml:lang="en-US">But how far does a beginner really get without
  learning? No framework in the world can save users from the
  responsibility of positioning individual layout elements correctly
  and labeling their content semantically correctly. Anyone who
  requires quality will require expertise. Learning cannot be avoided.
  Beginners are only spared the frustration that any web developer
  faces when confronted with the not-so-standardized browser reality. </p>
<p lang="en-US" xml:lang="en-US">Professional developers will not gain a lasting
  learning effect by using HTML and CSS daily &ndash; they should
  already know how it works. As mentioned in the introduction, using a
  CSS framework does require a certain willingness to learn in order to
  work efficiently with it. And the timesavings are of course much
  greater in professional webdesign, as the development time is
  shortened for each additional project that uses the system. This time
  can then be used for investigating new developments like HTML 5, WCAG
  2.0 or WAI-ARIA.</p>
<p lang="en-US" xml:lang="en-US">In contrast, it is certainly understandable that
  hobby designers prefer to focus on the fun and choose to code
  everything by hand, as efficiency in a hobby is generally neither
  required nor desired.</p>
<h3 id="section6" lang="en-US" xml:lang="en-US">Summary</h3>
<p lang="en-US" xml:lang="en-US">It's quite noticeable that damning criticisms
  of CSS frameworks or of <em>YAML</em> come from professionals who have clearly never
  worked with <em>YAML</em>.
  One can only speculate on the reasons: if, even more important than a
  basically healthy distrust, a general fear of losing control to an
  instant third-party solution plays a larger role. I have to wonder if
  the critics are simply afraid to be at the mercy of a foreign concept
  and constricted in their creative freedom, which is certainly not the
  case for those with enough expertise. <a href="http://jeffcroft.com/blog/2007/nov/17/whats-not-love-about-css-frameworks/">Jeff
  Croft noticed that quite a while ago.</a> It's true, you have to
  trust and work with <em>YAML</em>'s
  concept, and you have to take time to understand the structure of the
  framework. But that is true of any CMS too, as they all have their
  own rules and are certainly only manageable after a much longer time
  spent learning than a CSS framework requires. The argument &ldquo;<em>I
  just don't want to&rdquo;</em> can
  certainly be an honest and legitimate objection &ndash; I can live
  with that. Such a very personal decision in favor of a particular way
  of doing things, however, does not mean that CSS frameworks are
  obsolete or cannot compete with one's own code quality.</p>
<p lang="en-US" xml:lang="en-US">It is undeniable that the current number of
  projects and their starkly varied complement of functions, as well as
  their various approaches to layouts make a thorough comparison of
  their qualities almost impossible. Even more aggravating, many online
  projects gladly assume the buzzword &ldquo;framework&rdquo; as part
  of their name in an attempt to gain in popularity, yet their quality
  leaves much to be desired for the professional designer. This
  certainly makes sweeping criticism simple, if not justified. A few
  copycats will certainly not detract from the many advantages that
  working with CSS frameworks offers in the long term. <em>YAML</em> and <em>YUI Grids</em> both give us an idea today of what the future
  holds for web development.</p> <p>This essay was developed in close cooperation by <a href="http://www.highresolution.info">Dirk Jesse</a> and <a href="http://www.pookerart.de/">Nils Pooker</a>. The as always excellent English translation provided <a href="http://cory.de/">Genevieve Cory</a>.
</p>]]></content:encoded>
      <dc:date>2009-03-23T09:20:56+00:00</dc:date>
    </item>

    <item>
      <title>Hold on and stand still - das Leben mit dem IE6</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/hold_on_an_stand_still_das_leben_mit_dem_ie6/]]></link>
      <description>Was habt ihr am 27. August 2001 eigentlich gemacht? Ich wei&#223; es nicht mehr. Aber vermutlich haben sich damals viele Leute &#252;ber die Ver&#246;ffentlichung des Internet Explorer 6 gefreut, da es gegen&#252;ber der 5.x Version einen gewaltiger Schritt nach vorn war. Die Bauchschmerzen kamen erst sp&#228;ter und heute f&#252;hlt sich die Erinnerung an dieses Ereignis doch ziemlich unsexy an. Fakt ist, der Internet Explorer 6 will einfach nicht von der Bildfl&#228;che verschwinden und ist in den Augen vieler mittlerweile die Innovationsbremse Nr. 1, wenn es um den Einsatz moderner Webtechnologien geht. Denn aufgrund des heute noch weltweiten Marktanteils von aktuell 18,5 Prozent (Stand Januar 2009) ist das Ignorieren dieses Dinosauriers irgendwie auch nicht drin &amp;ndash; das Dilemma ist perfekt.</description>
      <dc:subject>Essays</dc:subject>
      <content:encoded><![CDATA[<p>Was habt ihr am 27. August 2001 eigentlich gemacht? Ich wei&#223; es nicht mehr. Aber vermutlich haben sich damals viele Leute &#252;ber die Ver&#246;ffentlichung des <em>Internet Explorer 6</em> gefreut, da es gegen&#252;ber der 5.x Version einen gewaltiger Schritt nach vorn war. Die Bauchschmerzen kamen erst sp&#228;ter und heute f&#252;hlt sich die Erinnerung an dieses Ereignis doch ziemlich unsexy an. Fakt ist, der Internet Explorer 6 will einfach nicht von der Bildfl&#228;che verschwinden und ist in den Augen vieler mittlerweile die Innovationsbremse Nr. 1, wenn es um den Einsatz moderner Webtechnologien geht. Denn aufgrund des heute noch <a href="http://www.w3schools.com/browsers/browsers_stats.asp">weltweiten Marktanteils</a> von aktuell 18,5 Prozent (Stand Januar 2009) ist das Ignorieren dieses Dinosauriers irgendwie auch nicht drin &ndash; das Dilemma ist perfekt.
</p> <p>In regelm&#228;&#223;igen Abst&#228;nden rufen deshalb seit ein paar Jahren Webentwickler zur aktiven Sterbehilfe f&#252;r den <em>Internet Explorer 6</em> auf, aktuelles Beispiel: Skandinavien. Die norwegische Webseite <a href="http://finn.no/">Finn.no</a> ging k&#252;rzlich in die Offensive und <a href="http://labs.finn.no/blog/finn-anbefaler-ie6-brukere-a-oppgradere-sin-nettleser">r&#228;t ihren Besuchern aktiv und unverbl&#252;mt zum Umstieg.</a> &#196;hnliches w&#252;nscht sich das Projekt <a href="http://iedeathmarch.org/">IE Death March</a> &ndash; in beiden F&#228;llen gefeiert von einer Vielzahl an Webentwicklern.</p>

<p>Das Dilemma wird noch deutlicher, denn wie <a href="http://blog.xing.com/2009/02/degradation-without-grace/">Ingo Chao</a> im XING Blog zielsicher den Finger in die Wunde legt, waren es die Webentwickler selbst, die mit ihrer erfolgreichen Suche nach Workarounds und CSS-Hacks sowie deren Sammlung und Ver&#246;ffentlichung erst daf&#252;r gesorgt haben, dass sich dieser Browser bis heute &#252;ber Wasser halten konnte.</p>

<blockquote><p>Isn&#8217;t it ironic that we, as web developers, have made this nonsense  possible? It is our documentations and analyses of browser bugs. We, not the vendors, did that. We found workarounds for today&#8217;s complex  pages in IE, or, if this failed, we reverse engineered its bugs for  standards-compliant browsers so they act like IE. So we made this trap  for ourselves, conscious of the consequences or not.</p></blockquote>

<p>Ebenso Recht hat nat&#252;rlich auch <a href="http://grochtdreis.de/weblog/2009/02/20/den-teufelskreis-brechen/">Jens Grochtdreis mit seinem Hinweis</a>, dass die Webentwickler seinerzeit gar keine andere Wahl hatten, als sich mit dem IE6 zu arrangieren. Von Microsoft war aufgrund fehlender Konkurrenz keine Aktivit&#228;t zu erwarten.</p>

<p>Fakt ist aber auch: Die Bugs des IE6 sind bereits seit einem halben Jahrzehnt im Netz bestens dokumentiert, einschlie&#223;lich passender Fixes und Workarounds. Und der &#252;berwiegende Teil l&#228;sst sich auf relativ einfache Art und Weise fixen. Zu einem offensichtlichen Problem wurde diese Situation erst mit dem rasanten Aufstieg des Firefox und der Wiederaufnahme der Entwicklungsarbeit bei Microsoft, die Ende 2007 in der Ver&#246;ffentlichung des IE7 m&#252;ndete, ohne jedoch den IE6  zu ersetzen. Seither ist richtig Bewegung im Browsermarkt, genauso wie in der Entwicklung neuer Webstandards (CSS3, HTML 5 samt Canvas, WAI-ARIA, RDFa, SVG).</p>

<h3>Was war zu erst da, die Henne oder das Ei?</h3>

<p>Also, wie kommen wir raus aus diesem Dilemma? Meinungen dazu gibt es viele, Antworten  aber leider nicht. Denn wenn sich das Problem <em>Internet Explorer 6</em> mit  Unterschriftenaktionen, in Webseiten eingeblendeten Textboxen mit Wechselempfehlungen oder gar der Verweigerung von CSS-Styles f&#252;r den IE6 tats&#228;chlich l&#246;sen lie&#223;e, dann h&#228;tte das schon 2007 funktionieren m&#252;ssen. Dummerweise haben wir jetzt 2009 und sind keinen Schritt weiter. Zwar ist der Marktanteil des IE6 bereits stark gesunken und wird weiter fallen (vermutlich aber langsamer), doch es will  niemand mehr so lange warten, bis er von selbst in der Bedeutungslosigkeit untergeht.</p>

<p>Die gro&#223;e Chance, die Herzen aller Webentwickler dieser Welt zu r&#252;hren, hatte Microsoft erstmals beim Release des <em>Internet Explorer 7</em> - und lie&#223; sie ungenutzt. Man unterst&#252;tzte nur <em>Windows XP</em>, lie&#223; &#228;ltere Betriebssysteme au&#223;en vor und machte die Installation nicht zur Pflicht &ndash; aus Angst vor massiven Problemen mit alten Webseiten sowie Unternehmenssoftware vieler gro&#223;er Firmen, die speziell auf den IE6 abgestimmt waren (und es vermutlich vielerorts auch heute noch sind). Den zweiten Matchball hat Mircosoft mit dem IE8 gerade in der Hand. Doch auch jetzt sieht es  nicht so aus, als bringe Microsoft den notwendigen Mut auf, einen klaren Schnitt zu machen.</p>

<p>So motivierend oder eindringlich &#246;ffentliche Kampagnen auch sein m&#246;gen &ndash; sie bleiben lokale Strohfeuer. Nur Microsoft erreicht weltweit die kritische Masse und k&#246;nnte mit einem Zwangsupdate auf den Internet Explorer 8 in Verbindung mit einer konsequenten Ausrichtung auf Webstandards (ohne Kompatibit&#228;tsmodus und IE7 Emulation) f&#252;r unmittelbare und nachhaltige Reduktion der IE6-Installationen sorgen, so dass wir das Problem nicht weiter aussitzen m&#252;ssen. Doch das wird nicht geschehen und so werden die bestehenden IE6-Installationen nur gem&#228;chlich weniger werden.</p>

<h3>Was also tun?</h3>

<p>Der Internet Explorer 6 ist seit nunmehr 8 Jahren ein fester Bestandteil des Internets und hat die Weiterentwicklung der Standards nicht behindert. Genauso wenig darf seine Anwesenheit den Einsatz neuer Techniken behindern. Genau das tut er jedoch &ndash; vorrangig in den K&#246;pfen vieler Webentwickler.</p>

<h4>Aufkl&#228;rung!</h4>

<p><a href="http://grochtdreis.de/weblog/2009/02/20/den-teufelskreis-brechen/">Jens Grochtdreis</a> wird nicht m&#252;de, immer wieder auf die einzigartigen St&#228;rken des Mediums Internet zu verweisen ...</p>

<blockquote><p>Der Kernpunkt zur L&#246;sung des Problems ist ein anderer. Wir m&#252;ssen uns  von der irrigen Annahme verabschieden, wir k&#246;nnten Pixelperfektion in  allen Browsern garantieren. Wir m&#252;ssen uns von der Annahme  verabschieden, Pixelperfektion sei ein sinnvoller Wert. Vor allem  Kunden und Grafiker m&#252;ssen in meinen Augen lernen, dass Pixelperfektion  nur im Bildbearbeitungsprogramm sinnvoll ist, aber nicht in  unterschiedlichen Browsern.</p></blockquote>

<p>... und weiter ...</p>

<blockquote><p>Alle, die professionell f&#252;r das Internet arbeiten, sollten wirklich  begreifen, dass das Geniale des Internet seine Flexibilit&#228;t ist.</p><p>...</p><p>Wenn diese Flexibilit&#228;t aber die gro&#223;e St&#228;rke des Internet ist, warum versuchen dann so viele Beteiligte, sie einzuschr&#228;nken? </p></blockquote>

<p>Das Verst&#228;ndnis f&#252;r die Einzigartigkeit des Mediums muss erst einmal in die K&#246;pfe der Webentwickler und Grafiker und zur eigenen &#220;berzeugung reifen. Ist es da angekommen, wird es auch einfacher, Kunden besser zu beraten. Es geht um das Grundverst&#228;ndnis, dass kein Webdesigner oder Grafiker die Kontrolle &#252;ber die Darstellung seiner Webseite im Browser des Nutzers hat.</p>

<p>Doch halt: So wichtig Aufkl&#228;rung &#252;ber die Vorteile von Webstandards und die Nachteile eines veralteten Browsers f&#252;r und unter Webentwicklern auch ist, so  sehr kann sie bei Kunden und Usern aufdringlich und bevormundend her&#252;berkommen. Ein erhobener Zeigefinger hat meiner Meinung nach wenig &#220;berzeugungskraft, denn gleichzeitig wissen wir (und auch die User), das der IE6 auch mit aktuellen CSS-Layouts durchaus klarkommt. Zigtausende Seiten beweisen es. Wo liegt also f&#252;r den User der Nutzen eines solchen Wechsels? Um uns Webdesigner zufrieden zu stellen? Wohl kaum. </p>

<p>Viel einfacher lassen sich User zu einem Browserwechsel bewegen, wenn der Einsatz neuer Webtechniken (ohne dass sie sich selbst dessen bewusst sein m&#252;ssen) zu einem besseren Nutzererlebnis f&#252;hrt. J&#252;ngstes Beispiel: Die <a href="http://labs.mozilla.com/2009/02/introducing-bespin/">Vorstellung von Bespin</a>, Mozillas Texteditor auf <a href="https://developer.mozilla.org/en/Canvas_tutorial">Canvas</a> Basis. Eine derartige Applikation verlangt f&#252;r die Anwendung selbstverst&#228;ndlich einen aktuellen Browser. Und niemand erwartet ernsthaft, den aktuellen Stand der Technik auf einem technisch veralteten Browser zum Laufen zu bekommen. Die Applikation ist das Zugpferd, in dessen Windschatten sich Anwender gern einen neuen Browser installieren. Und genau <ins>dann</ins> ist die konsequente Anwendung aktueller und neuer Standards legitim und zugleich f&#246;rderlich f&#252;r die Weiterentwicklung des Webs. Genau solche Projekte brauchen wir &ndash; und sie werden kommen, ohne Zweifel.</p>

<h4>Nutzt Frameworks!</h4>

<p>Ob ihr es h&#246;ren wollt oder nicht: Nutzt Layout-Frameworks!&nbsp; <a href="http://www.yaml.de/en/">YAML</a>, <a href="http://developer.yahoo.com/yui/grids/">YUI grids</a>, <a href="http://960.gs/">960<ins>gs</ins></a> oder <a href="http://code.google.com/p/blueprintcss/">Blueprint CSS</a> befreien vom permanenten Kampf mit Browserinkompatibilit&#228;ten und niemand muss heute das Rad ein zweites Mal erfinden. Nat&#252;rlich geht auch dann nicht jedes Projekt  v&#246;llig ohne Stress mit dem Internet Explorer &#252;ber die B&#252;hne. Doch die Probleme sind zumindest mit YAML so gering und &#252;berschaubar,&nbsp; dass das Aussitzen eines langsamen Aussterbens des IE6 kaum einen YAML-Anwender ernsthaft Sorgen bereitet. Die weiteren genannten Frameworks m&#246;gen geringere F&#228;higkeiten im Bereich der Bugpr&#228;vention haben, f&#252;r die jeweilige Kernfunktionalit&#228;t ist die Sicherheit aber dennoch gegeben und f&#252;hrt somit in jedem Fall <strong>nachhaltig</strong> zu k&#252;rzeren Entwicklungszeiten.</p>

<p>Zweifelsohne notwendige Einarbeitungszeiten sind als Argument <em>gegen</em> CSS Frameworks eher schwach bis untauglich, denn diesem  einmaligen Aufwand steht eine nachhaltige Zeiteinsparung bei korrekter Anwendung gegen&#252;ber. Und mal ehrlich: Weiterbildung und das st&#228;ndige Erlernen neuer Techniken sind Grundlagen professioneller Arbeit, denn das Web erfindet sich alle paar Jahre neu.</p>

<p>Es zeugt jedoch nicht von Professionalit&#228;t, &#246;ffentlich lautstark auf den verbuggten <em>Internet Explorer 6</em> zu schimpfen und gleichzeitig &nbsp; zeitsparende Weiterentwicklungen im Bereich CSS zu ignorieren. Denn gleicherma&#223;en gilt: Seit  vielen Jahren bereits gibt es f&#252;r fast ausnahmslos alle  CSS-Probleme des <em>Internet Explorer 6</em> sinnvolle CSS-Hacks oder Workarounds. Weiterhin existieren zahlreiche Methoden, diese Anpassungen so zu integrieren, dass sie die Pflege und Weiterentwicklung eines Layouts nicht behindern. Wer sich der rein manuellen Layoutentwicklung aus eigenem sportlichem Ehrgeiz stellt und Handkodierung bevorzugt, der kommt mit Ausdauer und fundiertem Fachwissen mit Sicherheit ebenso zum Ziel. Aber schon heute w&#252;rde er das Ziel nicht mehr als erster &#252;berqueren. <a href="http://www.wait-till-i.com/2008/12/19/working-in-the-now-video-of-my-talk-at-paris-web-released/">&quot;Working in the now&quot;</a> ... wer mir nicht glauben mag, der lasse sich von Chris Heilmann &#252;berzeugen.</p>

<p>In jedem Fall kann ein Kunde erwarten, dass wir als professionelle Webentwickler mit dem <em>Internet Explorer 6</em> umzugehen wissen und er darf ebenfalls erwarten, dass  heute die Unterst&#252;tzung des IE6  bei der Erstellung eines Screenlayouts nicht zu sp&#252;rbaren Mehrkosten f&#252;hrt, denn was mit Framework-Einsatz machbar ist, sollte auch bei professioneller Handkodierung  ohne Extrakosten realisierbar sein.</p>

<p>Anders sieht der Fall f&#252;r Einsteiger und Hobbybastler aus. Hier kann ich die Fl&#252;che auf den IE6 durchaus verstehen, denn er macht das Erlernen von HTML &amp; CSS unn&#246;tig schwer durch seinen zahlreichen Darstellungsfehler. Und es wahrlich nicht einfach, die Vorteile von Webstandards lieben zu lernen, wenn der lokale Testbrowser des Weltmarktf&#252;hrers sich nicht an diese h&#228;lt.</p>

<h4>Funktionale- anstatt visueller Anpassungen</h4>

<p>Wenn es darum geht, sich die Arbeit mit dem <em>Internet Explorer 6</em> zu erleichtern, ist es doch in den seltensten F&#228;llen  legitim, ihn ganz au&#223;en vor zu lassen. Auf privaten Webseiten ist es sicherlich vorstellbar, im &#246;ffentlichen und gesch&#228;ftlichen Leben ist ein Ausschluss des Internet Explorers jedoch heute und in naher Zukunft ein absolutes Unding. Demzufolge kann es nur in kleinen Schritten vorw&#228;rts gehen. Auch hierzu finde ich Ingo Chaos Ansatz ausgesprochen sinnvolll ...</p>

<blockquote><p>The web is about information, networking, and interaction. This means,&nbsp; a page simply has to work. As I see it, disgraceful degradation would  abandon the attitude of everything-is-possible. Functional hacking  should supersede the obsolete presentational hacking now, or we keep  being trapped in a costly, mutual mistake of the web developers and the  web consumers.</p></blockquote>

<p>Eine Webseite muss in erster Linie benutzbar sein und ihre Aufgabe erf&#252;llen. Die &#252;berwiegende Mehrheit der IE6-Nutzer surft <strong>eben nicht</strong> parallel mit Safari oder Firefox und wird sich deshalb auch an  visuellen Abweichungen/Einschr&#228;nkungen des Layouts nicht st&#246;ren. Deshalb sollte man die Eingriffe auf notwendige funktionelle Anpassungen beschr&#228;nken und nicht versuchen, per halbtransparenten Screenshot-Vergleich visuelle Deckungsgleichheit zwischen  Browsern zu erzielen, zwischen denen gleich mehrere Evolutionsstufen liegen. Ob via <em>Progressive Enhancement</em>, <em>Graceful Degradation</em> oder doch ein h&#228;rterer Schnitt, wird immer projektabh&#228;ngig zu entscheiden sein. Es sollte jedoch jedem Kunden im Beratungsgespr&#228;ch &#252;berzeugend klarzumachen sein, dass Pixelperfektion in dieser Situation nicht das erstrebenswerte Ziel sein kann. Genauso wie ein 8 Jahre alter R&#246;hrenfernseher nicht mehr die visuelle Brillianz  aktueller Plasma-TVs erreicht.</p>

<h3>Umgang mit neuen Webtechnologien</h3><p>
Auch wenn es vermutlich noch Jahre dauern wird, bis alle Module von CSS3 Recommendation Status erhalten, so unterst&#252;tzen dennoch bereits jetzt Firefox, Safari und Opera einige interessante neue Eigenschaften:</p>

<ul><li>erweiterte Gestaltungsm&#246;glichkeiten f&#252;r Rahmen (Border-Radius, Border-Image)</li><li>Mehrfache Hintergrundgrafiken</li><li>Nachladbare Schriften mit @font-face</li><li>Schatteneffekte (Box- und Text-Shadow)</li><li>Alphatransparente RGB-Kan&#228;le (RGBa)</li><li>Verl&#228;ufe (Gradients)</li><li>Animation  und &#220;berg&#228;nge (Transitions)</li><li>usw.</li></ul>

<p>Auch f&#252;r die modernen Browser ist das momentan die Speerspitze, denn selbst Firefox 3 und Opera 9 unterst&#252;tzen momentan noch nicht alle diese Features (beim Safari 4 bin ich mich mir nicht ganz sicher) und so wird einen Teil dieser Eigenschaften momentan noch sehr zur&#252;ckhaltend einsetzen. Runde Ecken via border-radius k&#246;nnen sie hingegen alle und es ist ein hervorragendes Beispiel, wie CSS3 die zahllosen, teils recht markupintensiven Rounded-Corner L&#246;sungen obsolete macht.</p>

<p>Keine dieser Eigenschaften wird der IE6 jemals verstehen, der Internet Explorer 8 &#252;brigens auch nicht &ndash; sollen wir deshalb sie deshalb einfach links liegen lassen? Ganz klar, Nein. Dennoch sollte klar sein, dass wir uns hier am anderen Ende des Entwicklungszweiges befinden, am vorderen. Demzufolge ist momentan nur die neueste Browsergeneration (z.T. sogar nur Betaversionen) &#252;berhaupt dazu in der Lage,fehlerfrei mit diesen neuen M&#246;glichkeiten darzustellen. Der Einsatz muss daher immer mit Bedacht erfolgen.</p>

<p>Erst vor einem Monat ver&#246;ffentlichte Peter Kr&#246;ner eine <a href="http://www.peterkroener.de/html5-was-geht-heute-schon-was-geht-nicht-der-grosse-ueberblick/">ausf&#252;hrliche Zusammenstellung</a> der aktuellen Browserunterst&#252;tzung von HTML 5, verbunden mit einer Einsch&#228;tzung f&#252;r eine Nutzung schon heute. Wie bei CSS3 gilt: Wir befinden uns an der Spitze dessen, was gute aktuelle Browser leisten k&#246;nnen. Aus meiner Sicht macht es deshalb heute noch keinen Sinn, HTML 5 als Grundlage f&#252;r die Layoutentwicklung zu nutzen. Viel zu l&#252;ckenhaft ist da noch die Browserunterst&#252;tzung. Dennoch lassen sich, wie Peter Kr&#246;ner zeigt, die neuen Formulartypen durchaus bereits verwenden und k&#246;nnen Nutzern moderner Browser bereits heute das Leben erleichtern. Doch auch das ist momentan nur Profis zu empfehlen, denn ein Formularfeld vom Typ &quot;date&quot; liefert nur im Opera 9 gesichert auch einen validierenden Datumsstring, in anderen Browsern muss diese Validierung auch weiterhin beispielsweise per JavaScript erfolgen. Daher sind Fallback-L&#246;sungen zwingend gefragt.</p>

<h3>Fazit</h3>

<p>Der <em>Internet Explorer 6</em> wird nicht &#252;ber Nacht verschwinden, das sollte jedem klar sein. Das ist auch gar nicht so wichtig, denn die Probleme sind nicht neu und die L&#246;sungen seit Jahren bekannt. Die Ursache f&#252;r die pl&#246;tzliche Aufruhr muss ihren Ursprung also woanders haben. N&#228;mlich in der Tatsache, dass wir mehr und mehr in Konflikte kommen mit aktuellen Technologien, die wir nicht einsetzen k&#246;nnen, solange wir uns Pixelperfektion und identische Optik in allen Browsern (seien sie auch noch so alt) selbst verordnen. Solange wir dieses Dogma nicht aufgeben, befinden wir uns in einer Endlosschleife, passend zum Titel dieses Essays.</p>

<p>Gerade im Bezug auf den Einsatz neuer Technologien stellt sich letztlich n&#228;mlich die Frage, ob der Internet Explorer 6 hier wirklich die einzige Bremse ist? Auch die Versionen 7 und 8 des Internet Explorers h&#228;ngen dem Stand der Technik um Jahre hinterher, werden uns aber noch weitaus l&#228;nger begleiten als der IE6. Die eigentliche Frage m&#252;sste daher lauten: <em>Wie gehen wir heute und in Zukunft mit einem Internet Explorer um, der in jeder Version dem aktuellen Stand der Technik um zwei bis drei Jahre hinterher hinkt?</em> Denn machen wir uns nichts vor. Wenn wir diese Frage keine Antwort finden, reiben wir uns in zwei Jahren die Augen weil wir exakt an der gleichen Stelle stehen werden wie heute, nur dass aus der Zahl 6 eine 7 geworden ist. Auch Tomas Caspers, <a href="http://www.einfach-fuer-alle.de/blog/id/2477">dr&#252;ben bei Einfach f&#252;r Alle</a> sieht das &#252;brigens so.</p>

<p>&nbsp;</p> <p><img src="http://www.highresolution.info/images/uploads/internet_explorer_small.png" border="0" alt="" class="float_right" width="100" height="106" /> Der Internet Explorer 6 wurde am 21. August 2001 von Microsoft ver&#246;ffentlicht und hatte in bis zum Erscheinen des Internet Explorers 7 einen weltweiten Marktanteil zw. 80 und 90 Prozent.</p>

<p>Aktuell steht die Version 8 des Internet Explorers in den Startl&#246;chern, welche von Microsoft mit dem Anspruch entwickelt wird, erstmals einen Browser mit fehlerfreier Unterst&#252;tzung f&#252;r CSS 2.1 auszuliefern.
</p>]]></content:encoded>
      <dc:date>2009-03-06T10:28:41+00:00</dc:date>
    </item>

    <item>
      <title>CSS Frameworks - Erwartungen, Mythen und reale Vorteile</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/css_frameworks_erwartungen_mythen_und_reale_vorteile/]]></link>
      <description>Auf dem Webkongress in Erlangen (4.&#45;5. September 2008) habe ich mich im Rahmen eines 45&#45;min&#252;tigen Vortrags mit dem Titel &amp;ldquo;CSS Frameworks &#45; Erwartungen, Mythen und reale Vorteile&amp;rdquo; etwas tiefer in die Materie der Layout&#45;Frameworks vorgewagt. Dabei war es mir wichtig, entgegen dem allgemeinen Trend zu oberfl&#228;chlichen Vergleichen der verschiedendsten Projekte, die unterschiedlichen Ans&#228;tze und Zielsetzungen von Grid&#45; und CSS&#45;Frameworks sauber herauszuarbeiten.</description>
      <dc:subject>Vortr&#228;ge</dc:subject>
      <content:encoded><![CDATA[<p>Auf dem <a href="http://www.webkongress.uni-erlangen.de/" title="Webkongress in Erlangen (4.-5. September 2008)">Webkongress in Erlangen (4.-5. September 2008)</a> habe ich mich im Rahmen eines 45-min&#252;tigen Vortrags mit dem Titel &ldquo;CSS Frameworks - Erwartungen, Mythen und reale Vorteile&rdquo; etwas tiefer in die Materie der Layout-Frameworks vorgewagt. Dabei war es mir wichtig, entgegen dem allgemeinen Trend zu oberfl&#228;chlichen Vergleichen der verschiedendsten Projekte, die unterschiedlichen Ans&#228;tze und Zielsetzungen von Grid- und CSS-Frameworks sauber herauszuarbeiten.
</p> <p>Einer der wichtigsten Punkte beim Vergleich und der Arbeit mit Layout-Frameworks ist die klare Trennung zwischen anwendungsorientierten Grid-Frameworks und entwicklungsorientierten CSS-Frameworks, da beide Typen vollkommen unterschiedliche Zielsetzungen verfolgen. Anhand der unterschiedlichen Konzepte und verschiedener Beispielprojekte werden Funktionsumfang, gestalterischen M&#246;glichkeiten und auch die  grunds&#228;tzlichen konzeptionellen Grenzen beider Framework-Typen erl&#228;utert.</p>

<div style="width:425px;text-align:left" id="__ss_586188" class="slideshare"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=cssframeworks40min-1220779700948687-8&amp;stripped_title=css-frameworks-092008-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=cssframeworks40min-1220779700948687-8&amp;stripped_title=css-frameworks-092008-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/djesse/css-frameworks-092008-presentation?type=powerpoint" title="View CSS Frameworks (09/2008) on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/grids">grids</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/css">css</a>)</div></div>

<p>Auf den Punkt gebracht lassen sich die beiden Typen wie folgt beschreiben:
</p><ul><li>Sinn und Zweck von Grid-Frameworks sind schnelle Ergebnisse in der Anwendung.</li><li>Sinn und Zweck eines CSS-Frameworks ist die Bereitstellung einer m&#246;glichst leistungsf&#228;higen Entwicklungsumgebung.</li></ul>

<p>Dank der hervorragenden Organisation des Kongresses kann ich an dieser Stelle nun nicht nur die Folien meines Vortrags zur Verf&#252;gung stellen (bei Slideshare auch als PDF zum Download), sondern es steht sogar einen Livemitschnitt des gesamten Vortrags im MP3-Format bereit (Download-Link in der Infobox). Ich bitte, den etwas holprigen Start des Vortrags zu entschuldigen - ich musste nach meiner Virusgrippe zun&#228;chst vorsichtig meine Stimme testen.</p>

<p><b>Hinweis:</b> In der PDF-Fassung der Folien sind alle von mir vorgestellten Projekte verlinkt und k&#246;nnen somit direkt angeklickt und die jeweiligen Webseiten besucht werden.</p>

<p>
</p> <p><img src="http://www.highresolution.info/images/uploads/wke2008.gif" border="0" alt="" class="float_right" width="200" height="64" /></p>

<p>Der  wurde am 4. September 2008 beim <i>Webkongress Erlangen</i> (<a href="http://www.webkongress.uni-erlangen.de/vortraege/details.shtml?id=14" title="Detailseite auf der Kongresshomepage">Direktlink</a>) gehalten.
</p><ul><li><a href="http://www.webkongress.uni-erlangen.de/">Kongress-Homepage</a></li><li><a href="http://www.webkongress.uni-erlangen.de/vortraege/dirk-jesse.mp3" title="Vortrag im MP3-Format">Vortrag im MP3-Format</a> (42.1 MB)</li>
<li><a href="http://www.webkongress.uni-erlangen.de/vortraege/dirk-jesse.pdf">Folien im PDF-Format</a> (1.7 MB)</li></ul>]]></content:encoded>
      <dc:date>2008-09-11T10:19:40+00:00</dc:date>
    </item>

    <item>
      <title>Rezension: CSS-Design - Die Tutorials f&#252;r Einsteiger</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/rezension_css_design_die_tutorials_fuer_einsteiger/]]></link>
      <description>Galileo Press erweitert aktuell sein Portfolio im Bereich CSS. Heiko Stiegerts Buch &amp;ldquo;CSS&#45;Design &amp;ndash; Die Tutorials f&#252;r Einsteiger&amp;rdquo; (erschienen im Juni 2008) erscheint dabei aufgrund seines frischen Konzeptes besonders interessant. Die folgende Rezension entstand im Verlauf mehrerer Telefonate und Diskussionen in enger Zusammenarbeit mit &amp;ldquo;Little Boxes&amp;rdquo; Autor Peter M&#252;ller.</description>
      <dc:subject>Rezensionen</dc:subject>
      <content:encoded><![CDATA[<p>Galileo Press erweitert aktuell sein Portfolio im Bereich CSS. Heiko Stiegerts Buch <i>&ldquo;CSS-Design &ndash; Die Tutorials f&#252;r Einsteiger&rdquo;</i> (erschienen im Juni 2008) erscheint dabei aufgrund seines frischen Konzeptes besonders interessant. Die folgende Rezension entstand im Verlauf mehrerer Telefonate und Diskussionen in enger Zusammenarbeit mit <a href="http://little-boxes.de/" title="&ldquo;Little Boxes&rdquo;">&ldquo;Little Boxes&rdquo;</a> Autor Peter M&#252;ller.</p>

 <h3>Konzept</h3>

<p><img src="http://www.highresolution.info/images/uploads/cssdesign_cover_big.jpg" border="0" alt="" class="float_left" width="328" height="338" />Das erfrischende Konzept hei&#223;t <i>Workshops</i> und soll Einsteigern die Essenz von CSS nahebringen, ohne sie zu zwingen, die 458 Seiten von vorn nach hinten durchackern zu m&#252;ssen. In insgesamt 30 Workshops mit einem Umfang von jeweils 10-20 Seiten werden dabei zahlreiche Themen des Webdesigns behandelt. Jeder Themenkreis umfasst drei bis vier in sich geschlossene Workshops. Sie starten jeweils mit einer kurzen Beschreibung des Arbeitsziels, gefolgt von der Entwicklung des HTML-Quellcodes und der Gestaltung der Elemente per CSS. </p>

<p>Der Schwerpunkt des Buches liegt ganz klar auf dem Designaspekt, weshalb das durchweg farbige Layout zu gefallen wei&#223; und einen hervorragenden optischen Eindruck hinterl&#228;sst.<br />
Unterbrochen werden die Workshops in regelm&#228;&#223;igen Abst&#228;nden durch insgesamt 4 Exkurse, in denen kompakt CSS-Grundlagenwissen vermittelt wird. Die Zielgruppe sind &ndash; wie es der Titel bereits verr&#228;t &ndash; Einsteiger. Sie sollen CSS nicht aufgrund grauer Theorie, sondern anhand von ausgew&#228;hlten Best-Practice-L&#246;sungen erlernen, die ein breites Spektrum an Alltagsaufgaben abdecken.</p>

<h3>Inhalt</h3>

<p>Die Themenwahl des Buches ist ausgewogen. In den ersten Workshops geht es um die Gestaltung von &#220;berschriften mit CSS und Image-Replacement-Techniken, dem Zusammenspiel von Text und Bild sowie listenbasierten Navigationen. Sp&#228;ter steigt der Anspruch. So werden Bildergalerien mit CSS gestaltet und mittels JavaScript zum Leben erweckt, dann geht ans Eingemachte bei der Gestaltung von Formularen und Tabellen.&nbsp; Die letzten drei Themenkreise umfassen den kreativen Umgang mit Hintergrundgrafiken, einen Einblick in die Erstellung fixer, elastischer und flexibler Layouts sowie einem abschlie&#223;enden Special zu Diagrammen und Mikroformaten. Die neun Themenkreise sind abwechslungsreich und bieten f&#252;r Einsteiger augenscheinlich einen umfassenden &#220;berblick, wobei sich innerhalb der Themenbereiche einfache und anspruchsvollere Beispiele durchaus abwechseln.</p>

<p>Heiko Stiegert schreibt fl&#252;ssig und nicht zu kompliziert, sodass man seinen Gedanken immer folgen kann. Alle Beispiele funktionieren fehlerfrei auf aktuellen Browsern sowie im IE6 und sind vollst&#228;ndig auf der Buch-DVD enthalten. Diese enth&#228;lt &#252;brigens neben zahlreichen Demoversionen verschiedenster HTML-Editoren noch vier zus&#228;tzliche Workshops im PDF-Format (nat&#252;rlich ebenfalls im schicken, farbigen Layout des Buches), die nicht mehr im Buch untergebracht werden konnten.</p>

<p>Alles in allem eine runde Sache &ndash; m&#246;chte man meinen, dennoch ist das Buch nichts f&#252;r Einsteiger, was im Folgenden auch begr&#252;ndet werden soll.</p>

<h3>Kritik</h3>

<p>Das Buch startet ohne jede Einleitung direkt mit dem Exkurs <i>&ldquo;Was sind Cascading Style Sheets&rdquo;</i>, was auch gleich im ersten Satz erkl&#228;rt wird: <i>&ldquo;Cascading Style Sheets, oder kurz CSS, ist eine deklarative Auszeichnungssprache zur Definition von Formateigenschaften einzelner (X)HTML-Elemente.&rdquo;</i> Alles klar?</p>

<p>Im Anschluss werden die M&#246;glichkeiten zur Einbindung von CSS in HTML vorgestellt, wobei von der Einbindung per <code>STYLE</code>-Element und <code>STYLE</code>-Attribut strikt (und ohne Ausnahmen) abgeraten wird. Dass diese Optionen in der namensgebenden &ldquo;Kaskade&rdquo; sehr wohl ihre Berechtigung haben, wird verschwiegen. Daf&#252;r werden im Schnellverfahren die Einbindung externer Stylesheets per <code>LINK</code>-Element, per <code>@import</code>-Regel und <i>Conditional Comments</i> f&#252;r den Internet Explorer eingef&#252;hrt, was Einsteiger mit Sicherheit &#252;berfordern d&#252;rfte.</p>

<h4>Teilweise konstruierte Beispiele</h4>

<p>Eigentlich sollten die Workshops Best-Practice-L&#246;sungen anbieten, doch viele der Beispiele wirken konstruiert. Gleich im ersten Workshop <i>&ldquo;&#220;berschriften per CSS gestalten&rdquo;</i> soll eine &#220;berschrift zweizeilig dargestellt und gestaltet werden. Dazu wird der hintere Teil der &#220;berschrift mit einem <code>SPAN</code>-Element umschlossen, welches f&#252;r den Umbruch in die zweite Zeile sorgt. Ohne jede Erkl&#228;rung sehen sich Einsteiger in diesem Workshop mit der Kurzschreibweise der <code>font</code>-Eigenschaft konfrontiert, einschlie&#223;lich relativer Schriftgr&#246;&#223;e und Zeilenabstand. Dann wird pl&#246;tzlich auch noch der Selektor <code>:first-line</code> eingef&#252;hrt, um der ersten Zeile der &#220;berschrift eine andere Farbe zuzuweisen. Egal welchen Teil der &#220;berschrift man mit dem <code>SPAN</code> umschlie&#223;t, mit <code>h1 { ... }</code> und <code>h1 span { ... }</code> lassen sich beide Teile vollst&#228;ndig gestalten, <code>:first-line</code> ist hier absolut unn&#246;tig und bl&#228;ht das CSS nutzlos auf.</p>

<p>Ein weiteres Beispiel folgt im Workshop <i>&ldquo;Sind Gutenbergs Grundlagen auch auf das WWW &#252;bertragbar&rdquo;</i>. Hierbei geht es um die Positionierung nebeneinander liegender Textbl&#246;cke. F&#252;r viele Einsteiger ist das der Punkt, wo sie aus purer Verzweiflung zu Tabellen greifen, daher sind L&#246;sungsvorschl&#228;ge bei Einsteigern in h&#246;chstem Ma&#223;e willkommen. Heiko Stiegerts Angebot basiert auf dem Multi-Column-Modul, welches vielleicht in CSS3 enthalten sein wird. Der Ansatz ist wunderbar einfach, logisch und leicht nachzuvollziehen. Dumm nur, dass weder das Multi-Column-Modul noch CSS3 praxisrelevant sind, unter anderem weil der Internet Explorer (IE5.x &ndash; 8.0) nichts dergleichen darstellen kann. Darauf weist der Autor am Ende des Workshops in der Marginalspalte auch hin, nur leider ohne Alternativen aufzuzeigen &ndash; oder per Querverweis auf den Workshop <i>&ldquo;Infoboxen in mehrspaltigem Layout&rdquo;</i>, ca. 150 Seiten weiter hinten im Buch zu verweisen, der zumindest einen gangbaren L&#246;sungsweg aufzeigt.</p>

<p>Auch in den sp&#228;teren Workshops wiederholt sich der Eindruck, konstruierter Beispiele. So wird beispielsweise im Workshop <i>&ldquo;Kooperation in Text und Bild&rdquo;</i> dem IE6 m&#252;hsam mittels JS-Hack die korrekte Darstellung alphatransparente PNG-Grafiken beigebracht, obwohl in dem konkreten Fall ein transparentes GIF vollkommen ausreichend gewesen w&#228;re, was selbst der IE5.x problemfrei darstellt. Eine &#220;bersicht dar&#252;ber, wann welches Grafikformat (GIF, PNG 8-/24-bit, JPEG) sinnvoll ist, h&#228;tte ich mir hingegen in einem designorientierten Buch gew&#252;nscht.</p>

<h4>Fachbegriffe, interne und externe Querverweise</h4>

<p>Die Idee von in sich stimmig gestalteten Workshops ist ausgezeichnet, allerdings &#252;bertreibt man es hier mit der Abgrenzung. Das Buch enth&#228;lt so gut wie keine Querverweise. Die Handvoll existierender Verweise in der Form <i>&ldquo;siehe Kapitel 2&rdquo;</i> sind weitgehend nutzlos, da die Workshops nicht nummeriert sind.</p>

<p>Auch auf Fachbegriffe und externe Verweise (Links zu Webseiten) wird verzichtet. Im Workshop Image-Replacment verwendet Heiko Stiegert die Phark-Methode, ohne sie beim Namen zu nennen. Gleichzeitig wird zur Wachsamkeit ermahnt: <i>&ldquo;... denn manche der Image-Replacement-Methoden setzen <code>display:none</code> ein&rdquo;</i>. Ist das wirklich der Fall? Jens Meierts <a href="http://meiert.com/de/publications/articles/20050513/" title="Image-Replacement-Techniken">&#220;bersichts-Artikel</a> (eigentlich ein Pflichtlink) erl&#228;utert 16 anerkannte Image-Replacement-Methoden (nat&#252;rlich auch Phark) &ndash; und keine der  vorgestellten Methoden verwendet <code>display:none</code>, was in der Tat der falsche Weg w&#228;re. Einsteiger werden hier verunsichert, obwohl es im Internet gute Informationsquellen gibt, die zeigen, dass es daf&#252;r gar keinen Grund gibt.</p>

<p>Im ersten Navigations-Workshop wird eine horizontale Navigation erstellt, wobei die &ldquo;Sliding-Doors&rdquo;-Technik zum Einsatz kommt, ohne die Bezeichnung zu nennen. Einsteiger m&#246;gen zun&#228;chst begeistert sein, doch das Thema ist nichts Neues und Google wei&#223; zu diesem Begriff eine Menge zu berichten. Ohne den Fachbegriff bleibt die T&#252;r zu diesen Informationen allerdings verschlossen.</p>

<p>Aufgrund des anwendungsorientierten Workshop-Charakters  sind Einsteiger zwangsl&#228;ufig auf zus&#228;tzliche Lekt&#252;re angewiesen. Da ist es ung&#252;nstig, dass in mehreren Workshops <code>SPAN</code>- oder <code>A</code>-Elemente (beides klassische Inline-Elemente) zu Block-Elementen umdefiniert werden. Ein Hinweis auf das dahinterstehende Prinzip, mindestens aber die Erw&#228;hnung der Fachbegriffe, w&#228;ren mehr als nur w&#252;nschenswert. </p>

<p>Am meisten gest&#246;rt hat mich die Wahl des Markups im Workshop <i>&ldquo;Ein barrierefreies Formular&rdquo;</i>. Heiko Stiegert verwendet darin ohne Begr&#252;ndung Definitionslisten zur Gliederung der Input-Elemente und Labels, was mit Sicherheit diskussionsw&#252;rdig ist. Das Formular bleibt weitgehend ungestylt, die Elemente werden lediglich horizontal ausgerichtet. Im darauffolgenden Workshop <i>&ldquo;Ein attraktives Formular&rdquo;</i> (Workshop-Titel auf der DVD) wird im Markup hingegen pl&#246;tzlich eine unsortierte Liste verwendet und auch die optische Gestaltung des Formulars macht deutlich mehr her. Der im Vorwort definierte Anspruch des Buches <i>&ldquo;Ein Design muss unter Ber&#252;cksichtigung von Accessibility und Usability schon lange kein fades und langweiliges oder einfach nur schm&#252;ckendes Beiwerk sein.&rdquo;</i> wird in den Formularbeispielen aus der Sicht des Lesers ad absurdum gef&#252;hrt, denn das barrierefreie Formular verwendet streitbares Markup und sieht h&#228;sslich aus. Das &ldquo;attraktive&rdquo; Formular hingegen verwendet ein anderes Markup, was die Vermutung aufkommen l&#228;sst, nicht mehr barrierefrei zu sein bzw. das Barrierefreiheit und sch&#246;ne Optik halt doch nicht zusammen passen. Einsteiger werden sich mangels Verweisen auf weiterf&#252;hrendes Infomaterial (beispielsweise der Beitrag <a href="http://www.einfach-fuer-alle.de/artikel/barrierefreie-formulare-mit-html-css-und-javascript/" title="&ldquo;Reine Formsache&rdquo;">&ldquo;Reine Formsache&rdquo;</a> bei <a href="http://www.einfach-fuer-alle.de/" title="Einfach-fuer-Alle.de">Einfach-fuer-Alle.de</a>) zwangsl&#228;ufig falsch orientieren.</p>

<p>Das Fehlen eines einleitenden Kapitels zur Beschreibung einiger wichtiger Arbeitsgrundlagen, sowie der vollst&#228;ndige Verzicht auf Querverweise f&#252;hrt beispielsweise dazu, dass der Leser die Berechnungsvorschrift einer relativen Schriftgr&#246;&#223;e als Prozentwert (Zielgr&#246;&#223;e / Schriftgr&#246;&#223;e des Elternelements = Eingabewert in Prozent) &#252;ber 100 Mal in der Marginalspalte wiederfindet, teilweise bis zu drei Mal auf einer Doppelseite. Beim Lesen des Buches st&#246;ren die endlosen Wiederholungen schnell und es ist schade um den Platz, der f&#252;r andere Informationen h&#228;tte genutzt werden k&#246;nnten.</p>

<p>Auch einige grobe Fehler finden sich im Buch. So wird auf Seite 358 dem Internet Explorer 6 f&#228;lschlicher Weise nachgesagt, das Box-Modell generell fehlerhaft zu interpretieren. Diese Aussage ist schlicht weg falsch. Im <i>Standard Mode</i> interpretiert der IE6 das Box-Modell korrekt. Der Box-Modell-Bug (bekannt vom IE5.x) ist lediglich im <i>Quirks Mode</i> aktiv und sollte damit bei standardkonformen Webseiten und in den Workshops (die alle auf XHTML 1.0 Strict basieren) keine Rolle spielen.</p>

<h4>Was uns gefiel</h4>

<p>Die ausf&#252;hrliche Beschreibung der einzelnen Kritikpunkte soll nicht den Eindruck erwecken, das Buch sei generell unbrauchbar. Deswegen m&#246;chten wir nach all den kritischen Anmerkungen ein Lob f&#252;r die zahlreichen gelungenen Workshops nicht unterschlagen.</p>

<p>So wird beispielsweise im dritten Workshop die Implementation des Flash Replacements (sIFR) sehr gut nachvollziehbar erkl&#228;rt. Der Workshop zur Gestaltung von Zitaten unter Einbeziehung einiger typographischer Rafinessen gef&#228;llt ebenso wie die drei Tutorials zur Gestaltung von Tabellen mit CSS, wobei der gestalterische Anspruch schrittweise gesteigert wird. In zwei weiteren Workshops zeigt Heiko Stiegert, wie man mit HTML und CSS eine kleine Bildergalerie zaubert. Der zweite Workshop geht noch einen Schritt weiter und bringt JavaScript mit ins Spiel. Beide Workshops d&#252;rften auch Einsteigern helfen, bei komplexeren Aufgaben sicher ans Ziel zu kommen. Nat&#252;rlich geht das JavaScript-Beispiel im Rahmen des Workshops nicht sonderlich in die Tiefe, aber es zeigt das grundlegende Konzept, JavaScript unaufdringlich als Pr&#228;sentationslayer &#252;ber HTML und CSS einzubinden. </p>

<p>Einen sch&#246;nen Abschluss des Buches bilden die f&#252;nf Specials, in denen weniger Allt&#228;gliches aber nicht weniger interessante L&#246;sungen f&#252;r die Erstellung einfacher Balkendiagramme, Sitemaps sowie f&#252;r die Gestaltung der wichtigsten Mikroformate (hCard, hCalendar, hReview) vorgestellt werden.</p>

<h3>Fazit</h3>

<p><i>CSS-Design</i> ist ein interessantes Buch mit vielen praktischen Detaill&#246;sungen, jedoch f&#252;r Einsteiger nicht zu empfehlen. An vielen Stellen werden Entscheidungen nicht begr&#252;ndet. Die Workshops suggerieren Best-Practice-L&#246;sungen, wie sie erfahrene Webdesigner verwenden w&#252;rden. Diesem Anspruch werden sie jedoch h&#228;ufig nicht gerecht.</p>

<p>Hat man als Leser hingegen schon einige Erfahrungen im Umgang mit CSS gesammelt, bietet das Buch zahlreiche Anregungen f&#252;r die t&#228;gliche Arbeit. Es zeigt, wie Heiko Stiegert sich den verschiedenen Aufgaben n&#228;hert und es ist f&#252;r fast jeden Webdesigner etwas Interessantes, Neues und N&#252;tzliches dabei. Vermutlich waren Einsteiger auch w&#228;hrend des Schreibens nicht die eigentliche Zielgruppe, denn im Vorwort spricht Heiko Stiegert selbst noch vom Arbeitstitel <i>&ldquo;CSS-Design. Tutorials f&#252;r moderne Webseiten&rdquo;</i>, was dem Inhalt bei weitem n&#228;her kommt und viele der angesprochenen Kritikpunkte weniger kritisch erscheinen lassen w&#252;rde. Grundlegende Fachbegriffe (Inline-/Block-Elemente, Float-Clearing usw.) werden im Buch mehrfach umschrieben, aber nicht klar definiert. In einem Design-Buch m&#252;ssen keinesfalls die Grundlagen von HTML und CSS erl&#228;utert werden, auch wenn es sich an Einsteiger richtet. Aber man sollte die Dinge zumindest beim Namen nennen, sodass der Leser sich in erg&#228;nzender Fachliteratur informieren kann. Der weitgehende Verzicht auf externe Quellen wiegt speziell bei der anvisierten Zielgruppe &ldquo;Einsteiger&rdquo; schwer.</p>

<p>Zusammenfassend geben wir diesem Buch 3 bis 3,5 von 5 Sternen (wir konnten uns nicht entscheiden). Der Gro&#223;teil der Kritik bezieht sich dabei auf die verfehlte Zielgruppe, wof&#252;r Heiko Stiegert vermutlich am wenigsten kann, wie es der Arbeitstitel im Vorwort vermuten l&#228;sst. Der zweite Schwachpunkt betrifft die fehlenden internen und externen Querverweise sowie die z.T. konstruierten Beispiele, die nicht als Best-Practice-L&#246;sungen zu empfehlen sind. </p>

<p>Trotz aller notwendiger Kritik hat der Workshop-Charakter unbestreitbar seinen Reiz und die Umsetzung gef&#228;llt, zudem betritt der Verlag mit dem Konzept Neuland. Schon deshalb haben Buch und Autor eine zweite Auflage verdient.</p>

<p>&nbsp;</p> <p><img src="http://www.highresolution.info/images/uploads/cssdesign_cover_small.png" border="0" alt="" class="float_right" width="157" height="157" /></p>

<ul>
<li>Gebundene Ausgabe: 458 Seiten</li>
<li>Verlag: Galileo Press; Auflage: 1 (Juni 2008)</li>
<li>Aufmachung: Gebunden komplett in Farbe + DVD</li>
<li>Sprache: Deutsch</li>
<li>ISBN-10: 3836211556</li>
<li>ISBN-13: 978-3836211550</li>
<li><a href="http://webstandard.kulando.de/static/css-design" title="Webseite zum Buch">Webseite zum Buch</a></li>
</ul>

<h4>&#220;ber den Autor</h4>

<p>Heiko Stiegert arbeitet als Webentwickler und &#8211;designer in einer Berliner Agentur und Betreiber des <a href="http://webstandard.kulando.de/" title="Webstandards Blog">Webstandards Blog</a>.
</p>]]></content:encoded>
      <dc:date>2008-08-05T18:06:42+00:00</dc:date>
    </item>

    <item>
      <title>Flexible Layouts - die Herausforderung der Zukunft</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/flexible_layouts_die_herausforderung_der_zukunft/]]></link>
      <description>Flexible Layouts haben zahlreiche Vorteile f&#252;r den Nutzer. Die Erstellung ist jedoch zum Teil recht anspruchsvoll, denn sowohl Grafikeinsatz als auch verschiedenste Browser&#45;Bugs machen eine sorgf&#228;ltige Planung eines solchen Layouts erforderlich &amp;ndash; wenn die Umsetzung optisch anspruchsvoll und der zeitliche Rahmen eingehalten werden sollen. Zwei Gr&#252;nde, die Webdesigner gern anf&#252;hren, um f&#252;r fixe L&#246;sungen zu pl&#228;dieren.</description>
      <dc:subject>Essays</dc:subject>
      <content:encoded><![CDATA[<p>Flexible Layouts haben zahlreiche Vorteile f&#252;r den Nutzer. Die Erstellung ist jedoch zum Teil recht anspruchsvoll, denn sowohl Grafikeinsatz als auch verschiedenste Browser-Bugs machen eine sorgf&#228;ltige Planung eines solchen Layouts erforderlich &ndash; wenn die Umsetzung optisch anspruchsvoll und der zeitliche Rahmen eingehalten werden sollen. Zwei Gr&#252;nde, die Webdesigner gern anf&#252;hren, um f&#252;r fixe L&#246;sungen zu pl&#228;dieren.
</p> <p>In der Tat ist es so, dass die &#252;berwiegende Mehrzahl der im Netz befindlichen Webseiten ein fixes Layout hat. Die Standardtreue der Browser hat sich in den letzten Jahren jodoch stark verbessert, zus&#228;tzlich erleichtern CSS Frameworks wie YAML oder YUI die Erstellung flexibler Layouts. Was bleibt sind die grafischen Zw&#228;nge, die in einigen F&#228;llen eine fixe L&#246;sung quasi erzwingen. Im Zuge der Ver&#246;ffentlichung des Firefox 3 fanden sich jedoch in der weltweiten Blogosph&#228;re vermehrt Stimmen, die mit der gro&#223;fl&#228;chigen Verf&#252;gbarkeit des &ldquo;Seitenzooms&rdquo; (IE7, Firefox 3, Opera 9) gar das generelle Ende der flexiblen Layouts vorhersagten. Als Hauptargument wird angef&#252;hr, dass sich fortan jedes fixe Layout &#252;ber den Seitenzoom skalieren l&#228;sst. </p>

<p>Ich habe mir diesbez&#252;glich vor einiger Zeit <a href="http://www.highresolution.info/weblog/entry/flexible_layouts_vs_fixe_layouts_50/" title="in meinem Weblog">in meinem Weblog</a> Gedanken gemacht und den Beitrag sp&#228;ter in einer &#252;berarbeiteten Fassung als Essay ver&#246;ffentlicht, der dankenswerter Weise bei <i>Dr. Web</i> und im <i>Smashing Magazine</i> ver&#246;ffentlicht wurde. Der Essay ist daher hier nicht im Volltext verf&#252;gbar, die Infobox enth&#228;lt jedoch die Direktlinks zur deutschen und englischen Fassung. </p>



<p>
</p> <p><img src="http://www.highresolution.info/images/uploads/smashing.gif" border="0" alt="" title="" class="float_right" width="200" height="72" /></p>

<p>Der Essay wurde am 12. Juni 2008 bei <i>Dr. Web</i> (<a href="http://www.drweb.de/weblog/weblog/?p=1163" title="Flexible Layouts - die Herausforderung der Zukunft">Direktlink</a>) und am 26. Juni 2008 in englischer &#220;bersetzung im <i>Smashing Magazine</i> (<a href="http://www.smashingmagazine.com/2008/06/26/flexible-layouts-challenge-for-the-future/" title="Flexible Layouts: Challenge For The Future">Direktlink</a>) ver&#246;ffentlicht.
</p>]]></content:encoded>
      <dc:date>2008-06-26T13:30:29+00:00</dc:date>
    </item>

    <item>
      <title>CSS-Frameworks</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/css_frameworks/]]></link>
      <description>Auf dem ersten Barcamp in Leipzig habe ich einen Session zum Thema &amp;ldquo;CSS&#45;Frameworks&amp;rdquo; gehalten. Zun&#228;chst bin ich kurz auf die aktuellen Anforderungen an Wedesigner eingegangen und habe die Unterschiede zwischen Reset&#45;Stylesheets, Layoutvorlagen und CSS Frameworks aufgezeigt. Im Anschluss daren folgte ein &#220;berlick &#252;ber die, meiner Meinung nach, aktuell wichtigsten Vertreter YUI Grids, YAML und Blueprint CSS, wobei jeweils kurz auf Zielsetzung und die technische Basis erl&#228;utert. Zum Abschluss der Session nutzte ich die Gelegenheit, einige typische Vorurteile gegen&#252;ber CSS&#45;Frameworks anzusprechen und auszur&#228;umen.</description>
      <dc:subject>Vortr&#228;ge</dc:subject>
      <content:encoded><![CDATA[<p>Auf dem ersten Barcamp in Leipzig habe ich einen Session zum Thema &ldquo;CSS-Frameworks&rdquo; gehalten. Zun&#228;chst bin ich kurz auf die aktuellen Anforderungen an Wedesigner eingegangen und habe die Unterschiede zwischen Reset-Stylesheets, Layoutvorlagen und CSS Frameworks aufgezeigt. Im Anschluss daren folgte ein &#220;berlick &#252;ber die, meiner Meinung nach, aktuell wichtigsten Vertreter <i>YUI Grids</i>, <i>YAML</i> und <i>Blueprint CSS</i>, wobei jeweils kurz auf Zielsetzung und die technische Basis erl&#228;utert. Zum Abschluss der Session nutzte ich die Gelegenheit, einige typische Vorurteile gegen&#252;ber CSS-Frameworks anzusprechen und auszur&#228;umen. 
</p> <div style="width:425px;text-align:left" id="__ss_389152" class="slideshare"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=cssframeworks-1210013258688199-9"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=cssframeworks-1210013258688199-9" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/djesse/css-frameworks-ein-berblick?src=embed" title="View 'Css Frameworks - Ein &#220;berblick' on SlideShare">View</a> | <a href="http://www.slideshare.net/upload?src=embed">Upload your own</a></div></div>

<p>Die Folien des Vortrages stehen ab sofort bei SlideShare unter <i>Creative Commons Lizenz</i> bereit.</p>

<p>
</p> <p><img src="http://www.highresolution.info/images/uploads/barcamp_leipzig.png" border="0" alt="" title="" class="float_right" width="200" height="51" /></p>

<p>Der Vortrag wurde am 3. Mai 2008 auf dem <a href="http://www.barcamp-leipzig.org/" title="Barcamp in Leipzig">Leipziger Barcamp 2008</a> gehalten.
</p>]]></content:encoded>
      <dc:date>2008-05-04T10:00:11+00:00</dc:date>
    </item>

    <item>
      <title>Stylesheets kommentieren mit CSSDOC</title>
      <link><![CDATA[http://www.highresolution.info/spotlight/entry/stylesheets_kommentieren_mit_cssdoc/]]></link>
      <description>CSS bietet kaum M&#246;glichkeiten, um umfangreichere Anweisungen  zu strukturieren. Zwar lassen sich Stylesheets in mehrere Dateien zerlegen oder  &#252;ber die @media Regel gruppieren, aber was war&#8217;s dann  auch schon.

F&#252;r kleinerer Webauftritte, z.B. Weblogs, ist das meist ausreichend. Bei gr&#246;&#223;eren Projekten oder der Verwendung von Content&#45;Management&#45;Systemen  verliert man jedoch schnell die &#220;bersicht. F&#252;r den produktiven Betrieb kann es  durchaus sinnvoll sein, Stylesheets gezielt zu optimieren. Die  Entwicklerfassung sollte jedoch immer m&#246;glichst gut dokumentiert sein.</description>
      <dc:subject>Essays</dc:subject>
      <content:encoded><![CDATA[<p>CSS bietet kaum M&#246;glichkeiten, um umfangreichere Anweisungen  zu strukturieren. Zwar lassen sich Stylesheets in mehrere Dateien zerlegen oder  &#252;ber die <code>@media</code> Regel gruppieren, aber was war&#8217;s dann  auch schon.</p>

<p>F&#252;r kleinerer Webauftritte, z.B. Weblogs, ist das meist ausreichend. Bei gr&#246;&#223;eren Projekten oder der Verwendung von Content-Management-Systemen  verliert man jedoch schnell die &#220;bersicht. F&#252;r den produktiven Betrieb kann es  durchaus sinnvoll sein, Stylesheets gezielt zu optimieren. Die  Entwicklerfassung sollte jedoch immer m&#246;glichst gut dokumentiert sein.
</p> <h3>CSSDOC &#8211; Ein Ansatz f&#252;r einen Standard </h3><p>
<img src="http://www.webkrauts.de/wp-content/uploads/2007/11/fig1_cssdoc.png" alt="Struktureller Aufbau einer CSS-Datei" name="image289"  class="float_left" id="image289"/></p>

<p>Kein gewissenhafter Programmierer l&#228;sst seinen Code undokumentiert. Jenseits des CSS-Tellerrandes existieren daher L&#246;sungen wie <a href="http://java.sun.com/j2se/javadoc/">Javadoc</a> oder <a href="http://www.scriptdoc.org/">Scriptdoc</a>. Beide Standards verwenden spezielle Kommentare, um Programmcode m&#246;glichst effektiv zu dokumentieren bzw. sie erm&#246;glichen die automatische Erstellung von Modul-/Programmdokumentationen. <a href="http://cssdoc.net/">CSSDOC</a> wird von Tom Klingenberg, Timo Derstappen und Dirk Jesse entwickelt und ist ein Ansatz, die Vorteile dieser L&#246;sungen auch f&#252;r die Arbeit mit CSS nutzbar zu machen.</p>

<h3>Grundlagen</h3><p>
Ein Kommentar wird in CSSDOC als <em>DocBlock</em>&nbsp; bezeichnet und folgt einer speziellen Schreibweise. Zu unterscheiden sind dabei DocBlocks f&#252;r einzelne Abschnitte (<span lang="en">section comments</span>) und Dateikommentare (<span lang="en">file comments</span>), die den Inhalt einer  Datei beschreiben.</p>

<p>Jeder DocBlock wird  von der Zeichenkette <code>/**</code> eingeleitet und mit <code>*/</code> beendet. Beide Zeichenketten stehen separat in einer Zeile. Dazwischen befinden sich die eigentlichen Informationen, wodurch das Format f&#252;r Maschinen lesbar wird.</p>

<div class="sourcecode"><code><pre>
 /**
  * Ein einfacher DocBlock
  *
  * Gelegentlich ist etwas mehr zu sagen. Dann  koennen sich
  * Kommentare auch schonmal ueber mehrere  Zeilen erstrecken.
  */
</pre></code></div>

<h3>Das Salz in der Suppe - <span lang="en">Tags</span></h3><p>
Durch spezielle <span lang="en">Tags</span> kann der Informationsgehalt eines DocBlocks entscheidend gesteigert werden. <span lang="en">Tags</span> k&#246;nnen Strukturinformationen, Autoren- und Copyrightinformationen, Information  zur Browserkompatibilit&#228;t usw. enthalten. Ein Tag beginnt immer mit dem Zeichen &#8216;<code>@</code>&#8217;.&nbsp; Beispiel 2 enth&#228;lt einen Abschnittsbeginn (<code>@section</code>)&nbsp; sowie einen Querverweise (<code>@see</code>).</p>

<div class="sourcecode"><code><pre>
 /**
  * @section browser reset
  * @see     http://www.yaml.de/documentation/...
  *
  * Reset any browser specific CSS ...
  */
</pre></code></div>

<p>Auch Bugfixes werden durch CSSDOC besser verst&#228;ndlich.</p>

<div class="sourcecode"><code><pre>
 /**
  * Doubled Float-Margin Bug
  * @see   http://...
  *
  * @bugfix
  * @affected   IE 5.x/Win, IE6
  * @css-for    all browsers
  * @valid      yes
  */

  .float_left { float:left; display: inline }
</pre></code></div>

<p>Die Anzahl der Tags ist relativ hoch, daher erfordert ihre Anwendung zweifellos etwas &#220;bung. Du wirst jedoch mit der Zeit feststellen, dass du dank <a href="http://cssdoc.net/">CSSDOC</a> auch nach l&#228;ngeren Bearbeitungspausen schneller Zugang zu Ihrem eigenen oder auch CSS-Code anderer Entwickler finden wirst.
</p> <p><img src="http://www.highresolution.info/images/uploads/wk_trans.gif" border="0" alt="" title="" class="float_right" width="200" height="45" /></p>

<p>Der Beitrag wurde am 3. Dezember 2007 erstmals im Rahmen des Beitragsserie <a href="http://www.webkrauts.de/category/adventskalender-2007/" title="&ldquo;Adventskalender 2007&rdquo;">&ldquo;Adventskalender 2007&rdquo;</a> bei den <a href="http://www.webkrauts.de" title="Webkrauts">Webkrauts</a> ver&#246;ffentlicht (<a href="http://www.webkrauts.de/2007/12/03/stylesheets-kommentieren-mit-cssdoc/" title="Direktlink zum Originalbeitrag">Direktlink</a>).
</p>]]></content:encoded>
      <dc:date>2007-12-03T10:00:36+00:00</dc:date>
    </item>

    
    </channel>
</rss>