<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/nicosteiner/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://www.nicosteiner.de/feeds/atom.xml" rel="self" title="Nico Steiner - Frontend-Entwicklung und -Architektur" type="application/atom+xml" />
    <link href="http://www.nicosteiner.de/"                        rel="alternate"    title="Nico Steiner - Frontend-Entwicklung und -Architektur" type="text/html" />
    <link href="http://www.nicosteiner.de/rss.php?version=2.0"     rel="alternate"    title="Nico Steiner - Frontend-Entwicklung und -Architektur" type="application/rss+xml" />
    <title type="html">Nico Steiner - Frontend-Entwicklung und -Architektur</title>
    <subtitle type="html">Frontend-Technologien, Web Standards, Accessibility, SEO, Performance und Modularisierung</subtitle>
    
    <id>http://www.nicosteiner.de/</id>
    <updated>2010-02-28T21:02:52Z</updated>
    <generator uri="http://www.s9y.org/" version="1.4.1">Serendipity 1.4.1 - http://www.s9y.org/</generator>
    <dc:language>de</dc:language>

    <entry>
        <link href="http://www.nicosteiner.de/archives/232-Salat-mit-gebratenen-Pilzen-vegetarisch.html" rel="alternate" title="Salat mit gebratenen Pilzen (vegetarisch)" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-28T18:55:59Z</published>
        <updated>2010-02-28T21:02:52Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=232</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=232</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/6-Rezepte" label="Rezepte" term="Rezepte" />
    
        <id>http://www.nicosteiner.de/archives/232-guid.html</id>
        <title type="html">Salat mit gebratenen Pilzen (vegetarisch)</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Salat (Feldsalat oder Rucola)<br />
Pilze (Steinpilze, Shiitake, Kräuterseitlinge oder Champignons)<br />
5-6 frische Walnusskerne<br />
Olivenöl<br />
Balsamico-Essig<br />
5-6 frische Salbeiblätter<br />
Parmesan<br />
Schwarzer Pfeffer aus dem Mörser<br />
Steinsalz aus der Mühle<br />
<br />
Den Salat waschen und trocken schleudern. Die Pilze in Scheiben schneiden. 2 EL Olivenöl und 2 EL Balsamico zusammen mit Kräutern der Provence, Salz und Pfeffer zu einer Vinaigrette verrühren.<br />
<br />
Die Walnusskerne in einer Pfanne ohne Öl 2 Minuten rösten, danach zerkleinern und beiseite stellen. Reichlich Öl in eine Pfanne geben, erhitzen und die Salbeiblätter darin fritieren (wenn von den Blättern keine Bläschen mehr aufsteigen sind diese ausreichend fritiert). Die Blätter aus dem Öl nehmen und auf Küchenpapier mit etwas Salz bestreuen und abtropfen lassen. Das Öl wegschütten.<br />
<br />
Die Pilze in 3 EL Olivenöl 4-5 Minuten bei starker Hitze gar braten. Mit Salz und Pfeffer würzen. Den Salat mit den Walnüssen, Salbeiblättern und der Vinaigrette vermischen und auf Teller verteilen. Die Pilze darüber geben und Parmesanstreifen darüber hobeln.<br />
<br />
Dazu passt frisches Brot - ich kaufe das gerne auf dem Markt beim <a href="http://www.fasanenbrot.de/">Fasanenbrot-Bäcker</a>.<br />
<br />
Bilder füge ich den Einträgen erst wieder hinzu, wenn ich eine Kamera gekauft habe. Die Handy-Fotos sind einfach grauenhaft <img src="http://www.nicosteiner.de/templates/nicosteiner/img/emoticons/sad.png" alt=":-(" style="display: inline; vertical-align: bottom;" class="emoticon" /> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/231-Semantic-Checker-ab-heute-public.html" rel="alternate" title="Semantic Checker ab heute public" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-25T18:55:51Z</published>
        <updated>2010-02-25T19:01:27Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=231</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=231</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/3-Referenzen" label="Referenzen" term="Referenzen" />
    
        <id>http://www.nicosteiner.de/archives/231-guid.html</id>
        <title type="html">Semantic Checker ab heute public</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Nachdem ich meine Firefox Extension <a href="https://addons.mozilla.org/en-US/firefox/addon/13560">Semantic Checker</a> gestern für den public Status angemeldet hatte, kam heute bereits die Zustimmung eines Mozilla Editors. Das ging richtig schnell! Damit ist die Extension jetzt öffentlich zugänglich und kann mit einem Klick direkt installiert werden. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/230-Andere-Laender....html" rel="alternate" title="Andere Länder..." />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-21T12:29:22Z</published>
        <updated>2010-02-21T12:42:01Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=230</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=230</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/4-Privat" label="Privat" term="Privat" />
    
        <id>http://www.nicosteiner.de/archives/230-guid.html</id>
        <title type="html">Andere Länder...</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Ich hab mal versucht, eine lustige Szene zwischen einem amerikanischen Gast und einer deutschen Bedienung nachzustellen, die wir gestern beobachtet haben.<br />
<br />
<!-- s9ymdb:157 --><img class="serendipity_image_center" width="750" height="637" src="http://www.nicosteiner.de/uploads/german-american-bar1.png" alt="Punk's not dead!" /> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/229-The-Bacchae.html" rel="alternate" title="The Bacchae" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-21T07:30:11Z</published>
        <updated>2010-02-21T14:51:55Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=229</wfw:comment>
    
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=229</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/4-Privat" label="Privat" term="Privat" />
    
        <id>http://www.nicosteiner.de/archives/229-guid.html</id>
        <title type="html">The Bacchae</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <!-- s9ymdb:155 --><img class="serendipity_image_center" width="200" height="266" style="border: 0px; padding-left: 15px; float: right;" src="http://www.nicosteiner.de/uploads/harriet1-1-1-1.jpg" alt="" />Manchmal ist's echt komisch. Gestern bin ich ohne große Erwartungen zum ersten Mal in die <a href="http://www.altehackerei.de/">Alte Hackerei</a> gegangen. Aber auch nur, weil das Kochen länger gedauert hat. Der Club besteht aus einem kleinen kellerartigen Raum ohne Lüftung, in dem schätzungsweise 99,9% der Leute geraucht haben. Dann hat es auch noch ewig gedauert, bis die Band angfing zu spielen. Wir waren schon drauf und dran wieder zu gehen. Aber <a href="http://www.myspace.com/thebacchaemusic">The Bacchae</a> haben das entschädigt. Die sind echt großartig! Auf <a href="http://www.myspace.com/thebacchaemusic" title="The Bacchae">myspace</a> kann man ein paar Titel anhören (den letzten sogar komplett). In Berlin treten sie auf jeden Fall noch auf. Die übrigen deutschen Locations scheinen bis auf Tübigen noch nicht fest zu stehen.<br />
<br />
Auch auf die Gefahr hin, dass ich von den Mac-Jüngern jetzt ausgelacht werde: Bei Amazon kann man sich ein paar Songs als MP3 downloaden. Habe das eben zum ersten Mal ausprobiert - hat prima geklappt.<br />
<br />
Jetzt muß ich nur noch rausbekommen, wie die eigentlich ausgesprochen werden <img src="http://www.nicosteiner.de/templates/nicosteiner/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/228-SEO-fuer-www.nicosteiner.de.html" rel="alternate" title="SEO für www.nicosteiner.de" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-10T22:29:27Z</published>
        <updated>2010-02-15T21:31:48Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=228</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=228</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/3-Referenzen" label="Referenzen" term="Referenzen" />
    
        <id>http://www.nicosteiner.de/archives/228-guid.html</id>
        <title type="html">SEO für www.nicosteiner.de</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <strong>www vs. non-www</strong><br />
<br />
Durch folgende Apache-Konfiguration werden ab sofort alle Artikel unter http://nicosteiner.de permanent mit einem 301 Redirect auf die Domain http://www.nicosteiner.de redirected.<br />
<br />
RewriteCond %{HTTP_HOST} !^www\.<br />
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]<br />
<br />
Zusätzlich dazu habe ich die Domain mit www als gewünschte Domain in den <a href="https://www.google.com/webmasters/tools">Google Webmaster Tools</a> konfiguriert.<br />
<br />
<!-- s9ymdb:153 --><img class="serendipity_image_center" width="572" height="218" src="http://www.nicosteiner.de/uploads/display-url-webmastertools.png" alt="Display URLs as www.nicosteiner.de" /><br />
<br />
<strong>sitemap.xml</strong><br />
<br />
Dank eines Serendipity-Plugins wird ab sofort eine Sitemap für die Artikel dieses Blogs generiert. Diese habe ich ebenfalls in die Google Webmaster Tools integriert.<br />
<br />
<!-- s9ymdb:154 --><img class="serendipity_image_center" width="528" height="85" src="http://www.nicosteiner.de/uploads/submit-sitemap-webmastertools.png" alt="Submit a sitemap" /><br />
 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/227-SenSEO-1.2.0-veroeffentlicht.html" rel="alternate" title="SenSEO 1.2.0 veröffentlicht" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-10T21:53:13Z</published>
        <updated>2010-02-10T21:53:13Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=227</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=227</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/3-Referenzen" label="Referenzen" term="Referenzen" />
    
        <id>http://www.nicosteiner.de/archives/227-guid.html</id>
        <title type="html">SenSEO 1.2.0 veröffentlicht</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Die <a href="https://addons.mozilla.org/en-US/firefox/addon/9403">neue Version von SenSEO</a> kann nun installiert werden. Die Freigabe hat diesmal länger gedauert, da der Upload den Status des Add-ons <a href="http://blog.mozilla.com/addons/2010/01/25/are-your-add-on-updates-in-the-review-queue-check-again/">durch ein technisches Problem</a> negativ beeinflußte. Eine Mail an das Editoren-Team von Mozilla hat die Sache aber wieder hingebogen. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/226-Suchmaschinenfreundliche-Programmierung-Maile-Ohye,-Google-IO-2009.html" rel="alternate" title="Suchmaschinenfreundliche Programmierung (Maile Ohye, Google I/O 2009)" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-08T23:19:12Z</published>
        <updated>2010-02-09T21:57:47Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=226</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=226</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/3-Referenzen" label="Referenzen" term="Referenzen" />
    
        <id>http://www.nicosteiner.de/archives/226-guid.html</id>
        <title type="html">Suchmaschinenfreundliche Programmierung (Maile Ohye, Google I/O 2009)</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <!-- s9ymdb:152 --><img class="serendipity_image_center" width="150" height="288" style="float: right; padding-left: 15px;" src="http://www.nicosteiner.de/uploads/maile-ohye.png" alt="" />Auf der Google I/O im Mai 2009 sprach Maile Ohye über die Optimierung von Websites für Suchmaschinen (im Speziellen für Google). Aus der Fülle von Informationen aus ihrer Präsentation stelle ich die wichtigsten in diesem Artikel zusammen. Zumindest für mich waren ein paar sehr überraschende Dinge dabei, die mir bisher nicht bewußt waren. Ich werde ihre Tipps, sofern dies möglich ist, in eine zukünftige Version von SenSEO integrieren.<br />
<br />
Die Reihenfolge der Punkte orientiert sich im Wesentlichen an der Präsentation. Die Liste ist sehr lang geworden, ein Blick darauf lohnt sich aber allemal.<br />
</p><br />
<ul><li>Seite sollte bei den <a href="http://www.google.com/webmasters/tools/">Webmaster Tools</a> verifiziert werden</li><li>gTLDs (generic Top-Level Domain) wie .com oder .org sind auf kein Land beschränkt</li><li>ccTLDs (country code Top-Level Domain) wie .de oder .fr sind auf das jeweilige Land beschränkt</li><li>selbst gehostete Domains verbessern die Authority</li><li>gleiche Inhalte mit und ohne www führen zu <a href="http://www.seroundtable.com/archives/000659.html">Pagerank Dilution</a></li><li>gTLDs können in den Webmaster Tools einem bestimmten Land zugeordnet werden</li><li>Google ermittelt das Zielland zuerst anhand der TLD, dann an der Einstellung in den Webmaster Tools und zum Schluß an der IP des Servers</li><li>Shared Hosting mit "bad neighborhoods" verschlechtert nicht das Ranking</li><li>kopierfreundliche URLs sind vorzuziehen (URLs mit genau einem Ziel)</li><li>Seitenname sollte beschreibende Keywords enthalten, welche durch Bindestriche getrennt sind</li><li>URLs sollten zur Vermeidung von Fehlkonfigurationen nur aus Kleinbuchstaben bestehen</li><li>Navigationen sollten einfache, statische Links enthalten</li><li>wichtige Seiten sollten gut verlinkt sein (z.B. von der Homepage)</li><li>es sollte eine Sitemap bereitgestellt werden (<a href="http://www.sitemaps.org/">sitemap.org</a>)</li><li>"Google bestellt nicht" - Google folgt keinen Links, die Warenkorb-Zustände verändern</li><li>es sollten algorithmisch leicht verständliche Key-Value-Paare für dynamische URLs verwendet werden (item, category, affiliateid etc.)</li><li>Google identifiziert algorithmisch relevante Paramter und sortiert solche aus, die keinen Effekt haben</li><li>Keywords in Parametern oder im Pfad sind für das Ranking gleichwertig</li><li>Session-IDs sollten niemals Teil des Pfads oder eines komplexeren Strings sein (führt zu Infinite Space Notification in den Webmaster Tools)</li><li>für interne Links sollten beschreibende Texte gefunden werden ("weiter" vermeiden)</li><li>Basis der Seite sollte semantisches HTML sein, optische Effekte oder Interaktionen können mit Flash oder AJAX hinzugefügt werden (Progressive Enhancement)</li><li>Google kann onclick-Events auswerten, wenn die aufgerufene Funktion in der Seite zu finden ist (nicht in externen Quellen)</li><li>für den Nutzer sichtbarer Text kann von Google aus Flash-Files extrahiert und ausgewertet werden</li><li>zum Einbetten von Flash sollten bekannte Scripte wie SWFObject oder UFO verwendet werden</li><li>in Flash eingebettete externe Ressourcen können ebenfalls ausgewertet und in Bezug zum Flash-Inhalt gesetzt werden</li><li>Frames werden in Bezug zu ihrer Eltern-Seite indiziert</li><li>IFrames werden als eigenständige Seite indiziert</li><li>für jeden URL sollte ein einzigartiger Title vergeben werden</li><li>für jeden URL sollte eine einzigartige Meta-Description vergeben werden</li><li>doppelte Title oder Descriptions werden in den Webmaster Tools gelistet</li><li>Canonical-Tag rel="canonical" legt den URL fest, welcher bei (fast) gleichen Inhalten (Duplicate Content) unter mehreren URLs für Eindeutigkeit sorgt</li><li>Duplicate Content sollte wegen <a href="http://www.seroundtable.com/archives/000659.html">Pagerank Dilution</a> vermieden werden</li><li>Eigenschaften wie Link Popularity werden dank des Canonical-Tags auf einen URL vereint</li><li>Keywords sollten im Text der Seite auftauchen</li><li>Text der Seite sollte dabei natürlich und lesefreundlich sein (kein <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=66358">Keyword Stuffing</a>!)</li><li>Bildersuche analysiert umgebende Inhalte einer Grafik wie Absätze oder Headlines</li><li>Qualität der Grafik (Auflösung, Pixelanzahl) ist relevant</li><li>Alt-Text hat größte Bedeutung</li><li>Name der Grafik (getrennt durch Bindestriche) wird analysiert</li><li>Image-Replacement nach der Phark-Methode (text-indent: -9999em;) schadet dem Ranking und erweckt Spam-Verdacht (empfohlen wird die Verwendung des Alt-Attributs)</li><li>Uptime des Servers ist relevant (Listung von Crawl Errors in den Webmaster Tools)</li><li>Fehlende Seiten sollten vermieden werden und durch gute 404-Fehlerseiten kommuniziert werden</li><li>Blogger sollten als Autorität ihres Gebiets agieren</li><li>Blog-Kategorien sollten gute Keywords darstellen (<a href="http://www.mattcutts.com/blog/whitehat-seo-tips-for-bloggers/">Whitehat SEO tips for bloggers</a>)</li><li>Blog sollte sicher sein</li><li>Anzeige gesamter Blogartikel ist leicht besser als Teaser</li><li>Kommentare sollten auf der sleben Seite wie der Artikel sein (gilt auch für Bewertungen von Produkten)</li><li>Kommentare sollten aus Spam-Gründen moderiert werden</li><li>Verwendung von Microformats und RDFa zur Anzeige von rich Snippets</li><li>Analyse der Backlings und Suchanfragen mit Hilfe der Webmaster Tools (entsprechende Optimierung der Seite)</li><li>Konversion ist oberstes Ziel</li></ul><br />
<p>Das Video zur Präsentation ist bei <a href="http://www.youtube.com/watch?v=-SLcruwnkLk">YouTube</a> zu sehen.<br />
<br />
Im Mai diesen Jahres gibt es eine neue Google I/O. Angekündigt ist die Session <a href="http://code.google.com/events/io/2010/sessions/seo-site-review-from-experts.html">SEO site advice from the experts</a> mit Matt Cutts, Greg Grothaus, Brian White und Evan Roseman - man darf gespannt sein. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/225-Qooxdoo-Low-Level-APIs.html" rel="alternate" title="Qooxdoo Low-Level APIs" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-07T22:34:23Z</published>
        <updated>2010-02-08T08:36:56Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=225</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=225</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/3-Referenzen" label="Referenzen" term="Referenzen" />
    
        <id>http://www.nicosteiner.de/archives/225-guid.html</id>
        <title type="html">Qooxdoo Low-Level APIs</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Mittlerweile setzen wir in fast allen unseren Bestellprozessen die <a href="http://qooxdoo.org/documentation/1.0/low_level_apis" title="qooxdoo.org">Low-Level APIs von Qooxdoo</a> als JavaScript-Framework ein. Neben klassischen Anwendungen wie Event-Handling oder DOM-Manipulationen kommen auch komplexere Elemente wie Lightboxen, Autocompletions oder Slider zum Einsatz. Die folgenden Screenshots dokumentieren den flexiblen Einsatz dieser Elemente.<br />
<br />
<!-- s9ymdb:145 --><img class="serendipity_image_center" width="700" height="369" src="http://www.nicosteiner.de/uploads/qooxdoo-lightbox1.png" alt="Qooxdoo - Lightbox" /><br />
<br />
<!-- s9ymdb:146 --><img class="serendipity_image_center" width="596" height="343" src="http://www.nicosteiner.de/uploads/qooxdoo-autocompletion.png" alt="Qoxdoo - Autocompletion" /><br />
<br />
<!-- s9ymdb:151 --><img class="serendipity_image_center" width="740" height="353" src="http://www.nicosteiner.de/uploads/qooxdoo-misc3.png" alt="Qooxdoo - Verschiedenes" /> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/224-Expires-Header-besser-verstehen.html" rel="alternate" title="Expires Header besser verstehen" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-07T15:14:46Z</published>
        <updated>2010-02-07T15:58:02Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=224</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=224</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/3-Referenzen" label="Referenzen" term="Referenzen" />
    
        <id>http://www.nicosteiner.de/archives/224-guid.html</id>
        <title type="html">Expires Header besser verstehen</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Anhand eines unserer aktuellen Projekte möchte ich zeigen, wie die genannte Technologie in Hinblick auf die Performance einer Website zu verstehen ist.<br />
<br />
Folgende Statistik habe ich mit der Firefox Extension <a href="http://developer.yahoo.com/yslow/" title="Yahoo! Developer Network">YSlow</a> erstellt. Oben ist die Verteilung der Ressourcen bei einem ersten Request mit leerem Cache zu sehen. Der Bereich darunter zeigt die Verteilung bei einem zweiten Request unter Ausnutzung des Caches.<br />
<br />
<!-- s9ymdb:142 --><img class="serendipity_image_center" width="465" height="473" src="http://www.nicosteiner.de/uploads/weight-graphs.png" alt="YSlow Weight Graphs" /><br />
<br />
Der obere Bereich zeigt die typischen Ressourcen einer Seite. Etwas ungewöhlich sind die 2 XML-HTTP-Requests. Dahinter verbergen sich JavaScripte, welche asynchron mit der <a href="http://stevesouders.com/efws/managed-xhr.php" title="Even faster Websites">Managed XHR Technik</a> von Steve Souders in die Seite integriert werden.<br />
<br />
Interessanter in Bezug auf die erwähnte Technologie ist der untere Bereich, nutzt man Expires Header doch, um das Caching-Verhalten einer Seite positiv zu beeinflussen. Hier ist zu sehen, dass Scripte und Stylesheets nicht mehr aufgeführt werden. Dies ist wenig verwunderlich, da wir diese bereits mit <a href="http://stevesouders.com/hpws/rule-expires.php" title="Steve Souders">Far Future Expires Headern</a> versehen haben.<br />
<br />
<!-- s9ymdb:144 --><img class="serendipity_image_center" width="700" height="220" src="http://www.nicosteiner.de/uploads/expires-header1.png" alt="Expires Header für CSS und JavaScript" /><br />
<br />
Das Neuladen des HTML-Dokuments ist gewollt und wird mit einem in der Vergangenheit liegenden Expires Header erzwungen. Wir erzwingen für diesen Fall das Neuladen, da das Dokument dynamisch generiert wird und sich von einem Aufruf zum nächsten verändern kann.<br />
<br />
Neben dem HTML-Dokument erzeugen sämtliche Grafiken der Seite erneut Requests. Bei diesen steht die Auslieferung eines Expires Header momentan noch aus. Was im ersten Moment nur nach einer Einstellung in den Apache-Konfigurationen klingt, wird auf den zweiten Blick sehr viel komplexer, möchte man durch eine möglichst transparente Versionierung der Grafiken ein Neuladen bei Veränderungen erzwingen. Zumindest ist durch korrekte ETags sichergestellt, dass lediglich Requests in Form eines <a href="http://ruturajv.wordpress.com/2005/12/27/conditional-get-request/" title="Conditional GET Requests">Conditional GET</a> gemacht werden - die Daten selbst werden also nicht erneut übertragen. Allerdings braucht solch ein Request für den gesamten Roundtrip auch etwas Zeit - bei 40 Requests macht das in einem modernen Browser wie dem Firefox immer noch ganze 2 Sekunden aus! 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.nicosteiner.de/archives/223-100.000-SenSEO-Downloads.html" rel="alternate" title="100.000 SenSEO-Downloads" />
        <author>
            <name>Nico Steiner</name>
                    </author>
    
        <published>2010-02-04T17:28:24Z</published>
        <updated>2010-02-04T17:28:24Z</updated>
        <wfw:comment>http://www.nicosteiner.de/wfwcomment.php?cid=223</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.nicosteiner.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=223</wfw:commentRss>
    
            <category scheme="http://www.nicosteiner.de/categories/3-Referenzen" label="Referenzen" term="Referenzen" />
    
        <id>http://www.nicosteiner.de/archives/223-guid.html</id>
        <title type="html">100.000 SenSEO-Downloads</title>
        <content type="xhtml" xml:base="http://www.nicosteiner.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Nach 2 Monaten hatte ich den 1000sten Download von SenSEO gefeiert. Nach einem weiteren Jahr wurde meine Extension heute zum 100.000sten Mal heruntergeladen. Für diesen Anlass habe ich gestern eine neue Version released. Im Hintergrund fand ein komplettes Code-Refactoring statt - der alte YSlow-Code, auf dem SenSEO bisher basierte, wurde dank <a href="http://www.nicosteiner.de/archives/219-Software-is-hard-Firebug-Tutorial.html">dieses Tutorials</a> durch eigenen Code ersetzt. Die gesamte Oberfläche wurde ebenfalls überarbeitet. Ich habe diverse CSS3-Regeln genutzt, um einen neuen, attraktiven Look zu gestalten. Da die Extension nur im Firefox läuft, konnte ich aus dem vollen schöpfen <img src="http://www.nicosteiner.de/templates/nicosteiner/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /> Runde Ecken, Box- und Schriftschatten und Verläufe sind die wesentlichen Gestaltungselemente. Diese Version ist noch nicht freigegeben, kann aber bereits <a href="https://addons.mozilla.org/en-US/firefox/addons/versions/9403">experimentell heruntergeladen</a> werden.<br />
<br />
<!-- s9ymdb:140 --><img class="serendipity_image_center" width="650" height="366" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://www.nicosteiner.de/uploads/senseo-210.png" alt="" /> 
            </div>
        </content>
        
    </entry>

</feed>