<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
  <title>depage.net</title>
  <link href="http://www.depage.net/" />
  
  <id>http://www.depage.net/</id>
  <updated>2013-05-12T00:00:00Z</updated>
  <author>
    <name>Frank Hellenkamp</name>
  </author>
  <rights>(c) 2013 Frank Hellenkamp</rights>
  <icon>http://www.depage.net/lib/global/favicon.png</icon>
  <logo>http://www.depage.net/lib/global/logo.png</logo>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/depage/de" /><feedburner:info uri="depage/de" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/xCxA-1n677s/ideenkonserve.html" />
    <id>http://www.depage.net/de/blog/2011/09/ideenkonserve.html#entry-35943</id>
    <updated>2011-08-31T00:00:00Z</updated>
    <title>Die Ideenkonserve</title>
    <summary>Zinnobergruen hat das wunderbar gestaltete Notizbuch "Ideenkonserve" für Chromolux gemacht. Man kann es kostenlos auf ideenkonserve.de bestellen.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/ideenkonserve/teaser.png" width="96" height="96" />
        <h1>Die Ideenkonserve</h1>
        <h1>So sicherst Du Deine Ideen vor dem Verlust.</h1>
        <p>
          <a href="http://www.zinnobergruen.de" hreflang="de">Zinnobergruen</a> hat das wunderbar gestaltete Notizbuch "Ideenkonserve" für <a href="http://www.chromolux.de/" hreflang="de">Chromolux</a> gemacht. Man kann es kostenlos auf <a href="http://ideenkonserve.de/" hreflang="de">ideenkonserve.de</a> bestellen.</p>
        <p>Wir haben die Website umgesetzt, die mit Hilfe der kommenden Version von <a href="http://www.depagecms.net" hreflang="de">depage-cms</a> und den neuen <a href="http://www.depage.net/de/blog/2011/07/depage-forms-html5-form-in-php-made-easy-part-1.html" hreflang="de">depage-forms</a> implementiert wurde.</p>
        <p />
        <p>Es gibt sechs wunderschöne Kategorien für Deine Ideen:</p>
        <p>Revolutionäre Ideen</p>
        <p>Profitable Ideen</p>
        <p>Epochale Ideen</p>
        <p>Grüne Ideen</p>
        <p>Erleuchtende Ideen</p>
        <p>Kleine Ideen</p>
        <img src="http://www.depage.net/lib/projects/ideenkonserve/book01.jpg" width="610" height="450" />
        <p>Die Ideenkonserve</p>
        <img src="http://www.depage.net/lib/projects/ideenkonserve/book02.jpg" width="610" height="450" />
        <p>Revolutionäre Ideen</p>
        <img src="http://www.depage.net/lib/projects/ideenkonserve/book03.jpg" width="610" height="450" />
        <p>Profitable Ideen</p>
        <img src="http://www.depage.net/lib/projects/ideenkonserve/book04.jpg" width="610" height="450" />
        <p>Epochale Ideen</p>
        <img src="http://www.depage.net/lib/projects/ideenkonserve/book05.jpg" width="610" height="450" />
        <p>Grüne Ideen</p>
        <img src="http://www.depage.net/lib/projects/ideenkonserve/book06.jpg" width="610" height="450" />
        <p>Erleuchtende Ideen</p>
        <img src="http://www.depage.net/lib/projects/ideenkonserve/book07.jpg" width="610" height="450" />
        <p>Kleine Ideen</p>
        <p>Und bald wird es auch eine iPhone-App der Ideenkonserve geben, die wir entwickeln. </p>
        <p>Du möchtest wissen, wenn sie erhältlich sein wird?</p>
        <p>
          <a href="http://ideenkonserve.de/iphone-app/" hreflang="de"><b>Einfach hier registrieren! </b></a>
        </p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/xCxA-1n677s" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2011/09/ideenkonserve.html#entry-35943</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/8ogu-5niCa4/depage-forms-html5-form-in-php-made-easy-part-1.html" />
    <id>http://www.depage.net/de/blog/2011/07/depage-forms-html5-form-in-php-made-easy-part-1.html#entry-34673</id>
    <updated>2011-07-11T00:00:00Z</updated>
    <title>depage-forms: html5 Formulare leicht gemacht (Part I)</title>
    <summary>HTML-Formulare sind leicht zu erstellen – aber sie wirklich gut und benutzerfreundlich zu machen, das ist keine einfache Aufgabe.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/depageforms/icon-depageforms.png" width="96" height="96" />
        <h1>depage-forms: html5 Formulare leicht gemacht (Part I)</h1>
        <h1>HTML Formulare: Leicht und schwer zugleich</h1>
        <p>HTML-Formulare sind leicht zu erstellen – aber sie wirklich gut und benutzerfreundlich zu machen, das ist keine einfache Aufgabe.</p>
        <p>Es gibt dabei eine Reihe von Dingen, die man immer wieder und wieder machen muss:</p>
        <p>Den HTML-Source für die Form schreiben</p>
        <p>Die Stylesheets dafür festlegen</p>
        <p>Die eingegeben Daten im Browser validieren (optional)</p>
        <p>Die eigegebenen Daten auf dem Server validieren (niemals optional – das bitte nie vergessen!)</p>
        <p>Und zusätzlich noch dafür sorgen, dass der Benutzer nicht mit dem Browser kämpfen muss: Beispielsweise bei unverständlichen Meldungen über das erneute Senden von Daten immer dann, wenn die Seite neu geladen wird oder der Benutzer den Vor- oder Zurück-Button benutzt.</p>
        <h1>Nicht mehr ständig kämpfen müssen!</h1>
        <p>Weil wir es satt waren immer wieder den gleichen Kampf zu führen, präsentieren wir heute:</p>
        <p>
          <a href="http://docs.depage.net/depage-forms/" hreflang="de"><b>depage-forms – HTML5-Formulare einfach gemacht! </b></a>
        </p>
        <p />
        <img src="http://www.depage.net/lib/projects/depageforms/icon-help-depageforms.png" width="96" height="96" />
        <p>
          <a href="http://docs.depage.net/depage-forms/" hreflang="de">Dokumentation</a>
        </p>
        <img src="http://www.depage.net/lib/icons/icon-zip.png" width="96" height="96" />
        <p>
          <a href="http://www.depage.net/downloads/depage-forms-latest.zip" hreflang="de">Download [zip]</a>
        </p>
        <img src="http://www.depage.net/lib/icons/icon-octocat.png" width="96" height="96" />
        <p>
          <a href="https://github.com/depage/depage-forms" hreflang="de">Fork us/Source-Code</a>
        </p>
        <p>depage-forms ist eine PHP Bibliothek um einfach und schnell HTML-Formulare zu erzeugen, die es einfacher für Entwickler aber auch einfacher für Benutzer macht.</p>
        <p />
        <p>Sie ist Teil der nächsten Version von depage-cms, kann aber auch unabhängig als PHP Library benutzt werden. Indem sie HTML abstrahiert, verschiedene Browser-Flaws behebt (u.a. doppelte Form-Submissions) und die Validierung der Daten vereinfacht, ermöglicht sie auf einfache Weise verlässliche und validierte Daten von den Benutzern zu bekommen.</p>
        <p />
        <p>Wir sind (bei weitem) nicht die ersten, die sich dieser Probleme annehmen. Für PHP gibt es beispielsweise <a href="http://framework.zend.com/manual/en/zend.form.html" hreflang="de">Zend-Forms</a> und <a href="http://www.artfulcode.net/phorms/" hreflang="de">Phorms</a>. Aber wir denken, das wir einen eigenen und guten Weg gefunden haben, um uns diese Probleme vom Leib zu halten.</p>
        <h1>Wie funktioniert das ganze nun?</h1>
        <p>Zuerst laden wir die Bibliothek und initialisieren eine Instanz der htmlform-Klasse. Fast alle Prozeduraufrufe erfolgen durch die htmlform-Klasse. Nur Fieldsets und Steps werden ebenfalls explizit vom Developer angesprochen. Dazu aber später noch mehr.</p>&lt;?php
require_once('path/to/htmlform.php');

$form = new depage\htmlform\htmlform('simpleForm');
<p>Danach fügen wir unsere Input-Elemente und andere Formfelder zu unserem Formular hinzu.</p>
        <p />
        <p>Man macht dies indem man die '"add" + Elementname'-Methode aufruft. Der erste Parameter ist dabei der Name des Elements, der auf jeden Fall eindeutig sein muss. Der zweite Parameter ist ein optionaler Array mit verschiedenen Optionen. Jede dieser Einstellungen ist optional und hat eine in dem meisten Fällen passende Standardeinstellung.</p>
        <p />
        <p>Wenn beispielsweise kein Parameter "label" übergeben wird, dann wird der Input-Name als Label verwendet. Zu jedem Input kann man zudem eine "required"-Eigenschaft hinzufügen, so dass der Benutzer die Dateneingabe nur beenden kann, wenn er dieses Formfeld auch ausfüllt.</p>$form-&gt;addText('username', array(
	'label' =&gt; 'User name', 
	'required' =&gt; true,
));
$form-&gt;addEmail('email', array(
	'label' =&gt; 'Email address',
));
<p>Als nächstes kommt dann die "process"-Methode – Diese ist ein essentieller Teil der htmlform-Klasse.</p>
        <p>Sie validiert die eingegebenen Daten, wenn das Forumlar schon abgeschickt wurde.</p>
        <p>Sie leitet den Browser zu der "Success"-Seite weiter, wenn alle eingegebenen Daten korrekt validiert werden konnten und wenn alle benötigten Formfelder (required) ausgefüllt wurden.</p>
        <p>Sie speichert die eingegeben Daten in einer Session ab und leitet das Forumlar zu sich selbst weiter um das Problem der erneuten Sendung der Daten (resubmission) zu umgehen. D.h. das zunächst die Formulardaten über POST-Request gesendet werden und dann das Formular erneut über einen GET-Request angezeigt wird. Mehr Informationen hierzu: <a href="http://en.wikipedia.org/wiki/Post/Redirect/Get#Duplicate_form_submissions" hreflang="de">PRG-Pattern auf Wikipedia</a>
        </p>
        <p />
        <p>
          <i>(Hinweise: Man sollte sicher stellen, das die process-Methode vor jeglichem anderen Output ausgeführt wird, so dass sich die Form selbst weiterleiten kann.) </i>
        </p>$form-&gt;process();
<p>Nachdem das Formular nun korrekt bearbeitet wurde, wissen wir ob alle eingegebenen Daten korrekt validiert werden konnten:</p>
        <p>Bei "korrekten" Daten, könne wir nun alles damit machen, was wir wollen. Hier geben wir die Daten einfach mit var_dump aus.</p>
        <p>Die eingegebenen Daten werden so lange in einer Session abgespeichert, bis wir entweder die clear-Methode der htmlform aufrufen, oder bis die Session von selbst abgelaufen ist.</p>
        <p>Wenn die Form noch leer ist, oder der Benutzer noch keine kompletten Daten eingegeben hat, dann können wir das Formular einfach mit "echo" ausgeben.</p>if ($form-&gt;validate()) {
    var_dump($form-&gt;getValues());

    $form-&gt;clearSession();
} else {
    echo ($form);
}
<h1>Live-Beispiel</h1>
        <p>Und hier das live-Beispiel:</p>&lt;iframe class="example" src="http://docs.depage.net/depage-forms/documentation/examples/simple.php" seamless="seamless" style="height: 16em;"&gt;&lt;/iframe&gt;
<p>
          <a href="http://docs.depage.net/depage-forms/documentation/html/simple_8php-example.html" hreflang="de">http://docs.depage.net/depage-forms/documentation/html/simple_8php-example.html</a>
        </p>
        <h1>Die nächsten Schritte</h1>
        <p>In den nächsten Posts über depage-forms werden wir uns dann den erweiterten Features der depage-forms zuwenden, wie beispielsweise:</p>
        <p>Validierung der Daten,</p>
        <p>Unterteilung der Form in Subforms (Steps) und </p>
        <p>die automatische Typkonvertierung der eingegebenen Daten.</p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/8ogu-5niCa4" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2011/07/depage-forms-html5-form-in-php-made-easy-part-1.html#entry-34673</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/tQ-c0RQ5q9M/uebele.com-online.html" />
    <id>http://www.depage.net/de/blog/2011/03/uebele.com-online.html#entry-34889</id>
    <updated>2011-03-03T00:00:00Z</updated>
    <title>schwarz auf weiß: uebele.com</title>
    <summary>Die Website des in Stuttgart ansässigen büro uebele wurde nun auf der Basis von depage::cms umgesetzt. Die Gestaltung der Seite entspricht weitesgehend der Variante, die auch schon vorher online war. Konzept und Design sind von Andreas Uebele und Tristan Schmitz.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/uebele/index_alphabet.png" width="96" height="96" />
        <h1>schwarz auf weiß: uebele.com</h1>
        <h1>Das büro uebele ist mit depage::cms online</h1>
        <p>Die Website des in Stuttgart ansässigen <a href="http://www.uebele.com" hreflang="de">büro uebele</a> wurde nun auf der Basis von depage::cms umgesetzt. Die Gestaltung der Seite entspricht weitesgehend der Variante, die auch schon vorher online war. Konzept und Design sind von Andreas Uebele und Tristan Schmitz.</p>
        <img src="http://www.depage.net/lib/referenzen/uebele01.png" width="800" height="100" />
        <p>Wir haben die Seite aber technisch überarbeitet:</p>
        <p>Das HTML-Markup wurde optimiert und bildet die Seite semantisch besser ab.</p>
        <p>Die Seite hat einen Atom-Feed für ihre News bekommen, der unter <a href="http://feeds.feedburner.com/uebele/de" hreflang="de">feeds.feedburner.com/uebele/de</a> abonniert werden kann.</p>
        <p>Die <a href="http://www.uebele.com/de/projekte/visuelle-identitaet/deutscher-bundestag.html" hreflang="de">Bildnavigation</a> auf den Projektseiten wurde überarbeitet, so dass die Bilder per Javascript ineinander übergeblendet werden. Wenn kein Javascript zur Verfügung steht, werden alle Bilder barrierefrei untereinander dargestellt.</p>
        <p>Das Logo ist in zwei Versionen eingebunden: Als Bitmap (png) und als Vektordatei (svg) auf Browsern, die SVG unterstützen.</p>
        <p>Zudem wurde die Seite etwas besser für Suchmaschienen überarbeitet — dies wird aber noch weiter optimiert werden.</p>
        <p>In Kürze wird es auch noch einen eigenen Videoplayer für die Website geben, die in die Bildnavigation integriert ist.</p>
        <img src="http://www.depage.net/lib/referenzen/uebele03.png" width="800" height="100" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/tQ-c0RQ5q9M" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2011/03/uebele.com-online.html#entry-34889</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/Eaiy9aF4hew/textfreiraum.html" />
    <id>http://www.depage.net/de/blog/2010/12/textfreiraum.html#entry-33085</id>
    <updated>2010-12-14T00:00:00Z</updated>
    <title>Viel freier Raum für Text</title>
    <summary>textfreiraum.de ist online!</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/textfreiraum/teaser.png" width="96" height="96" />
        <h1>Viel freier Raum für Text</h1>
        <h1>Weil Text Liebe braucht:</h1>
        <p>
          <a href="http://textfreiraum.de" hreflang="de">textfreiraum.de</a> ist online!</p>
        <p />
        <p>
          <i>textfreiraum  </i>ist ein Redaktionsbüro, das sich die Freiheit nimmt, weitgehend unabhängig von Vorgaben Artikel, Features und Kommentare zu schreiben. Wir durften für textfreiraum die Website gestalten. Da <i>textfreiraum </i> von Text lebt und durch Text atmet, war ein Layout vonnöten, das den Texten ebenfalls den benötigten Raum bietet.</p>
        <img src="http://www.depage.net/lib/referenzen/texfreiraum08.png" width="800" height="100" />
        <h1>Der Inhalt: Texte über Design</h1>
        <p>Inhaltlich besteht<i> textfreiraum </i> aus drei Grundelementen: </p>
        <p>Einem <a href="http://textfreiraum.de/de/home.html" hreflang="de">Blog</a>, dass News enthält und regelmäßig aktualisiert wird,</p>
        <p>
          <a href="http://textfreiraum.de/de/design-and-living.html" hreflang="de">»Design and Living«</a>, mit Artikeln und Essays über Produkt- bzw Interior Design, und</p>
        <p>
          <a href="http://textfreiraum.de/de/designer-s-voice.html" hreflang="de">»Designer's Voice«</a>, einer Reihe von sehr lesensweerten Interviews mit klugen Köpfen aus der Design-Szene, wie <a href="http://textfreiraum.de/de/designer-s-voice/philippe-starck.html" hreflang="de">Philippe Stark</a>, <a href="http://textfreiraum.de/de/designer-s-voice/johanna-grawunder.html" hreflang="de">Johanna Grawunder</a> oder <a href="http://textfreiraum.de/de/designer-s-voice/ross-lovegrove.html" hreflang="de">Ross Lovegrove</a>.</p>
        <h1>Das Grundlayout</h1>
        <p>Das Grundlayout basiert auf sich bewegenen Logoteilen »text«, »frei« und »raum«, die auf einer großen Fläche von Weißraum positioniert sind. Das Logo gibt es in vier verschiedenen Layout-Varianten.</p>
        <img src="http://www.depage.net/lib/projects/textfreiraum/textfreiraum_layouts_logo_01.png" width="612" height="190" />
        <p>Logolayouts</p>
        <p>Passend zu den vier Logolayouts ist dann das komplette Textlayout aufgebaut:</p>
        <img src="http://www.depage.net/lib/projects/textfreiraum/textfreiraum_layouts_logo_02.png" width="612" height="190" />
        <p>Layouts mit Text und Navigation</p>
        <img src="http://www.depage.net/lib/projects/textfreiraum/textfreiraum_layouts_logo_03.png" width="612" height="190" />
        <p>Layouts mit Text und Navigation</p>
        <p>Die Layouts können von der Redaktion frei gewählt werden und sind untereinander austauschbar, ohne dass der Inhalt der jeweiligen Seite neu aufgebaut werden müsste, da es immer aus zwei frei füllbaren Spalten (Hauptspalte und Marginalspalte) besteht.</p>
        <p />
        <p>Interessant wird es aber vor allem dadurch, dass unterschiedliche Layouts auch auf einer einzelnen Seite untereinander verwendet werden können — dadurch können relativ leicht recht dynamisch gestaltete Layouts umgesetzt werden:</p>
        <img src="http://www.depage.net/lib/projects/textfreiraum/mutlilayout.jpg" width="612" height="992" />
        <p>Drei verschiedenen Layouts (1, 4 und 3) mit Blindtext untereinander</p>
        <p>Bei längeren Seiten, die mehr als eine Bildschirmseite umfassen — was aufgrund der Länge der Texte und der Interviews auf mehreren Seiten vorkommt — wird das Logo automatisch mehrmals auf der Seite kopiert, damit der Absender möglichst immer sichtbar bleibt. Allerdings sind die Logokopien zurückhaltend grau und nicht orange.</p>
        <p />
        <p>Die Hauptnavigation ist bewußt einfach gehalten und besteht aus nur einer einzigen Ebene — die Unterpunkte können dann über die jeweilige Auflistung auf der Indexseite bzw. liniear über »vor« und »zurück« navigiert werden.</p>
        <h1>Silbentrennung</h1>
        <p>Gute Silbentrennung auf Internetseiten ist in der Regel bisher nicht vorhanden. Es gibt theoretisch die Möglichkeit, bedingte Trennstriche in den Text zu integrieren, die nur dann sichtbar werden, wenn an der jeweiligen Stelle ein Umbruch erzeugt wird.</p>
        <p />
        <p>Leider ist dieser bedingte Trennstrich (&amp;shy; oder &amp;#173;) von manchen — besonders älteren — Browsern nicht unterstützt und wird an jeder Stelle angezeigt. Insofern ist eine Benutzung in der Praxis leider nicht möglich.</p>
        <p />
        <p>Aber es gibt eine Lösung hierfür — willkommen bei: <a href="https://code.google.com/p/hyphenator/" hreflang="de">hyphenator</a>
        </p>
        <p />
        <p>hyphenator ist eine OpenSource Javascript Library geschrieben von <a href="http://www.mnn.ch/" hreflang="de">Mathias Nater</a>, die die Silbentrennung direkt im Browser ermöglicht. Die Benutzung ist einfach — man bindet die Script-Datei für die entsprechende Sprache ein:</p>&lt;!-- for german --&gt;
&lt;script type="text/javascript" 
    src="path-to/hyphenator_de.js"&gt;&lt;/script&gt;
<p>Um die Javascript-Dateien zu generieren gibt es auch ein sehr komfortables Tool: <a href="http://hyphenator.googlecode.com/svn/trunk/mergeAndPack.html" hreflang="de">hyphenator.googlecode.com/svn/trunk/mergeAndPack.html</a>
        </p>
        <p />
        <p>Dort läßt sich neben anderen Parametern konfigurieren, welche Sprache(n) eingebunden werden und Text in welchen Elementen umgebrochen werden soll. Normalerweise wird der Text in allen Elementen, die die Klasse »hyphenate« um. Wir haben dieses für alle Textboxen aktiviert, nicht aber für die Navigation, die Hauptheadlines oder die Teaser-Elemente.</p>&lt;div class="size-L hyphenate"&gt; 
    &lt;h2&gt;Als Journalisten lieben wir Worte. &lt;/h2&gt; 
    &lt;p&gt;Als Design-Fans stehen wir aber auch 
        auf das sinnliche Konzept aus Optik, ... &lt;/p&gt; 
&lt;/div&gt; 
<h1>Optimierung für mobile</h1>
        <p>Zusätzlich wurde die Seite — <a href="http://www.depage.net/de/blog/2010/05/iphone-optimierung-mobile-web.html" hreflang="de">in ähnlicher Technik wie depage.net</a> — noch für aktuelle Mobilgeräte wie iPhone und Android-Devices optimiert:</p>
        <img src="http://www.depage.net/lib/projects/textfreiraum/iphone01.png" width="612" height="746" />
        <img src="http://www.depage.net/lib/projects/textfreiraum/iphone02.png" width="612" height="746" />
        <img src="http://www.depage.net/lib/projects/textfreiraum/iphone03.png" width="612" height="746" />
        <p>Nun also viel Vergnügen auf <a href="http://textfreiraum.de" hreflang="de">textfreiraum.de</a>!</p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/Eaiy9aF4hew" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/12/textfreiraum.html#entry-33085</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/9Pxs6hSVmfQ/rekursives-css.html" />
    <id>http://www.depage.net/de/blog/2010/11/rekursives-css.html#entry-34152</id>
    <updated>2010-11-17T00:00:00Z</updated>
    <title>Rekursives CSS</title>
    <summary>In der wenigen übrig bleibenden Zeit, teste ich gerne kurz verschiedene Ideen und Konzepte aus, über die ich während des Arbeitens stolpere. Eines davon ist, Stylesheets für Elemente rekursiv anzuwenden bzw. grafische Strukturen, die sich in Programmiersprachen mit rekursiven Strukturen ergeben, mit Hilfe von CSS zu simulieren.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/cssabstract/css_abstract_teaser.jpg" width="96" height="96" />
        <h1>Rekursives CSS</h1>
        <h1>Cascading Stylesheets und Rekursion</h1>
        <p>In der wenigen übrig bleibenden Zeit, teste ich gerne kurz verschiedene Ideen und Konzepte aus, über die ich während des Arbeitens stolpere. Eines davon ist, Stylesheets für Elemente rekursiv anzuwenden bzw. grafische Strukturen, die sich in Programmiersprachen mit rekursiven Strukturen ergeben, mit Hilfe von CSS zu simulieren.</p>
        <p />
        <p>Das geht in dieser Form, da alle mit CSS (Cascading!) formatierten Elemente Eigenschaften ihrer Elternelemente erben <b>und </b> weil relativ und absolut positionierte Elemente ihren Fixpunkt an dem jeweiligen relativ oder absolut positionierten Elternelement festmachen.</p>
        <img src="http://www.depage.net/lib/projects/cssabstract/overview.png" width="612" height="116" />
        <p>(Es ist auch eine Live-Vorschau der Beispiele verfügbar: <a href="http://sandbox.depage.net/css-recursion/" hreflang="de">http://sandbox.depage.net/css-recursion/</a> — man braucht aber einen modernen Browser, um einige Beispiele korrekt dargestellt zu bekommen.)</p>
        <h1>Das grundlegende Markup</h1>
        <p>Das grundlegende Markup ist sehr simple. Wir haben einen Viewport und darin einfach geschachtelte Divs. Der Grund warum wir Divs dafür verwenden, ist einfach: Divs haben keine anderen Eigenschaften in HTML, außer dass sie Blockelemente sind.</p>
        <p />
        <p>In diesem Beispiel haben wir eine Rekursionstiefe von 5 (Die nachfolgenden Beispielbilder habe alle eine Tiefe von 18):</p>&lt;div class="viewport test"&gt;
    &lt;!-- {{{ children with recursion depth of 5 --&gt;
    &lt;div&gt;
        &lt;div&gt;
            &lt;div&gt;
                &lt;div&gt;
                    &lt;div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;!-- }}} --&gt;
&lt;/div&gt;
<p>Und hier das Basis-Stylesheet für den Viewport:</p>
        <p>Alles, was sich nicht innerhalb seiner Fläche befindet wird ausgeblendet (<i>overflow: hidden </i>).</p>.viewport {
    position: relative;
    background-color: #ffffff;
    width: 61em;
    height: 61em;
    margin: 1em;
    overflow: hidden;
}
<p>Die zweite Instruktion (<i>.viewport div div </i>) ist wichtig:</p>
        <p>Jedes div innerhalb eines anderen div-Elements bekommt eine zunehmende Transparenz. Auf diese Weise bekommen wir ein Gefühl für Unendlichkeit (bzw. Rekursion ohne Abbruchbedingung) und wir sehen Elemente, die übereinander liegen.</p>.viewport div div {
    opacity: 0.9;
}
<h1>Das erste einfache Beispiel: »Drittellung«</h1>
        <p>Im ersten einfachen Beispiel ist jede Box um ein Drittel kleiner als die übergeordnete Box (<i>width: 66.66666% </i>).</p>
        <img src="http://www.depage.net/lib/projects/cssabstract/css_recursion_third.png" width="612" height="612" />.third div {
    position: relative;
    top: 0;
    left: 0;
    border-right-width: 1px;
    border-right-style: solid;
    border-color: #000000;
    width: 66.6666%;
    height: 100%;
}
.third div:hover {
    border-color: #ff0000;
}
<h1>Zur besseren Verdeutlichung: »Treppchen«</h1>
        <p> In dieser Treppe habe ich Nummern hinzugefügen, die zeigen welche Tiefe die jeweilige Box besitzt. Jede Box ist dabei 5em x 5em groß und gleichzeitig um 5em nach unten und 5em nach rechts verschoben:</p>
        <img src="http://www.depage.net/lib/projects/cssabstract/css_recursion_staircase_numbered.png" width="612" height="612" />.staircase div {
    position: relative;
    top: 5em;
    left: 5em;
    border-width: 1px;
    border-style: solid;
    border-color: #000000;
    width: 5em;
    height: 5em;	
}
.staircase div:hover {
    border-color: #ff0000;
}
<h1>Drehen, drehen, drehen: »Rotation«</h1>
        <img src="http://www.depage.net/lib/projects/cssabstract/css_recursion_rotation.png" width="612" height="612" />.rotation div {
    position: relative;
    top: 50%;
    left: 45%;
    border-width: 1px;
    border-style: solid;
    border-color: #000000;
    background: #dddddd;
    width: 5em;
    height: 5em;
    -webkit-transform: rotate(-50deg); 
    -moz-transform: rotate(-50deg);	
    -o-transform: rotate(-50deg);	
    transform: rotate(-50deg);	
}
.rotation div div {
    top: 5em;
    left: 5em;
}
.rotation div:hover {
    border-color: #ff0000;
}
<h1>Effekte: »Rotation 2«</h1>
        <img src="http://www.depage.net/lib/projects/cssabstract/css_recursion_rotation_2.png" width="612" height="612" />.rotation2 div {
    position: relative;
    top: 50%;
    left: -10%;
    border-width: 1px;
    border-style: solid;
    border-color: #000000;
    background: #dddddd;
    width: 72em;
    height: 12em;
    -webkit-transform: rotate(-50deg); 
    -moz-transform: rotate(-50deg);	
    -o-transform: rotate(-50deg);	
    transform: rotate(-50deg);	
    -webkit-border-radius: 6em;
    -moz-border-radius: 6em;
    -o-border-radius: 6em;
    border-radius: 6em;
}
.rotation2 div div {
    top: 5em;
    left: 5em;
}
.rotation2 div:hover {
    border-color: #ff0000;
}
<h1>Das letzte Beispiel: »Rotation 3«</h1>
        <img src="http://www.depage.net/lib/projects/cssabstract/css_recursion_rotation_5.png" width="612" height="612" />.rotation3 div {
    position: relative;
    top: 50%;
    left: -10%;
    border-width: 1px;
    border-style: solid;
    border-color: #000000;
    background: #dddddd;
    width: 72em;
    height: 2em;
    -webkit-transform: rotate(-50deg); 
    -moz-transform: rotate(-50deg);	
    -o-transform: rotate(-50deg);	
    transform: rotate(-50deg);	
    -webkit-border-radius: 6em;
    -moz-border-radius: 6em;
    -o-border-radius: 6em;
    border-radius: 6em;
}
.rotation3 div div {
    top: 5em;
    left: 5em;
}
.rotation3 div:hover {
    border-color: #ff0000;
}
<h1>Fazit</h1>
        <p>Zu diesem Zeitpunkt eigentlich nutzlos ;-) — aber man kann sehen, wie flexibel CSS ist und was für eine Reihe von Effekten man mit recht wenigen Styling-Angaben erzeugen kann.</p>
        <p />
        <p>Wenn man das ganze dann noch mit anderen CSS Transformationen und CSS Transitions kombiniert, könnte das ganze noch sehr viel interessanter werden.</p>
        <p>Das behalten wir uns aber für einen späteren Zeitpunkt vor...</p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/9Pxs6hSVmfQ" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/11/rekursives-css.html#entry-34152</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/5eYWzgJ7vTw/iphone-optimierung-mobile-web.html" />
    <id>http://www.depage.net/de/blog/2010/05/iphone-optimierung-mobile-web.html#entry-32685</id>
    <updated>2010-05-21T00:00:00Z</updated>
    <title>iPhone Optimierung und »mobile web«</title>
    <summary>Ebenso wie das Mediums "Internet" in den 90ern durch die Verbreitung von PCs immer wichtiger geworden ist, tritt heute der mobile Zugriff auf das Internet immer stärker in der Vordergrund. Auch wenn Apple mit dem iPhone nur einen recht kleinen Marktanteil an allen Mobiltelefonen hat, dominiert es doch zusammen mit Google Android den mobilen Internettraffic.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/depage.net/teaser_iphone2.png" width="96" height="96" />
        <h1>iPhone Optimierung und »mobile web«</h1>
        <h1>Mobiles Internet</h1>
        <p>Ebenso wie das Mediums "Internet" in den 90ern durch die Verbreitung von PCs immer wichtiger geworden ist, tritt heute der mobile Zugriff auf das Internet immer stärker in der Vordergrund. Auch wenn Apple mit dem <a href="http://www.apple.com/de/iphone/" hreflang="de">iPhone</a> nur einen recht <a href="http://arstechnica.com/gadgets/news/2010/05/mobile-market-up-smartphones-up-iphone-and-android-way-up-1.ars" hreflang="de">kleinen Marktanteil</a> an allen Mobiltelefonen hat, dominiert es doch zusammen mit Google Android den <a href="http://arstechnica.com/apple/news/2010/03/iphone-os-still-dominates-mobile-web-android-on-the-way-up.ars" hreflang="de">mobilen Internettraffic</a>.</p>
        <p>Dies liegt vor allem daran, dass man am iPhone und unter Android dank <a href="http://webkit.org/" hreflang="de">Webkit</a> eine recht gute Darstellung von normalen, nicht für die mobile Darstellung optimierten Internetseiten hat — was unter anderen mobilen Browsern nur sehr schlecht gelöst war. </p>
        <img src="http://www.depage.net/lib/projects/depage.net/shot_iphone.jpg" width="612" height="410" />
        <p>depage.net in der mobilen Darstellung im iPhone</p>
        <p>Da das iPhone bisher noch das wichtigste bzw. bekannteste Mobile Endgerät ist, haben wir uns entschieden, <a href="http://www.depage.net" hreflang="de">depage.net</a> und <a href="http://www.depagecms.net" hreflang="de">depagecms.net</a> für die Darstellung am iPhone zu optimieren.</p>
        <h1>Barrierefreiheit und Layouts auf CSS-Basis</h1>
        <p>Seit einigen Jahren setzen wir Webseiten-Layouts möglichst barrierefrei bzw. barrierearm um. Zum einen ist die Seite natürlich besser zugreifbar, zum anderen macht dies die Verwaltung der Layouts, Korrekturen, Updates etc. sehr viel einfacher.</p>
        <p />
        <p>Innerhalb von depage::cms benutzen wir meist eine Kombination aus 4 verschiedenen Stylesheets:</p>
        <p>Ein globales Stylesheet (<i>global.css </i>), in dem alle übergreifenden Definition, wie Schriftdefinitionen, allgemeine Parameter etc. vorgenommen werden.</p>
        <p>Ein Stylesheet für die Farbdefinitionen, da dieses innerhalb von depage::cms einmal pro Farbschema generiert wird (<i>color_%farbname%.css </i>).</p>
        <p>Ein Stylesheet für die Bildschirmdarstellung (<i>screen.css </i> mit <i>media="screen" </i>).</p>
        <p>Und ein Stylesheet für den Ausdruck (<i>print.css </i> mit <i>media="print" </i>), in dem beispielsweise die Navigation ausgeblendet, die Farben und Hintergrundfarben angepasst und das Layout für den Ausdruck auf A4 bzw. Letter angepasst werden.</p>
        <p />
        <p>Für die Darstellung am iPhone kommt nun noch ein zusätzliches Stylesheet dazu:</p>
        <p>Das Stylesheet für das iPhone (<i>mobile.css </i>).</p>
        <h1>Die Einbindung des Stylesheets</h1>
        <p>Das Stylesheet für das iPhone wird mit einem speziellen media-Typ eingebunden:</p>&lt;link 
	rel="stylesheet" 
	type="text/css" 
	media="only screen and (max-device-width: 480px)" 
	href="lib/global/css/mobile.css"&gt;
<p>Der Media-Typ ist hier: only screen and (max-device-width: 480px).</p>
        <p>Das heißt, nur für die Bildschirmdarstellung auf Geräten, die eine maximale Bildschirmbreite von 480px haben.</p>
        <p />
        <p>Da allerdings ältere Internet Explorer (sprich Version 6 und 7) diesen Media-Typ noch nicht verstehen, muss dieses Stylesheet vor diesen Browsern "versteckt" werden. Dies kann man mit "Conditional Comments" machen:</p>&lt;!--[if !IE]&gt; --&gt;
&lt;link 
	rel="stylesheet" 
	type="text/css" 
	media="only screen and (max-device-width: 480px)" 
	href="lib/global/css/mobile.css"&gt;
&lt;!--&lt;![endif]--&gt;
<p>Es gibt noch eine zusätzliche Angabe im Head-Element der HTML-Datei, die man vornehmen kann, um die Darstellung am iPhone festzulegen:</p>&lt;meta name="viewport" content="width=480" /&gt;
<p>Damit wird die anfängliche Viewport am iPhone auf die angegebene Breite (im Beispiel 480px) eingestellt.</p>
        <p>Ich muss allerdings sagen, dass ich die Syntax hierfür nicht mag — dies ist eigentlich eine Sache der Präsentation (CSS) und nicht des Markups (HTML). Insofern haben wir für depage zunächst versucht, die Angabe zu umgehen, indem wir die Skalierung der Seite im CSS vergrößert haben, so dass der gleiche Effekt innerhalb des Standardviewports des iPhones (980px) erreicht wird. Dies funktioniert deshalb, da wir alle Größen innerhalb der Stylesheets in <i>em </i> angeben anstatt in <i>px </i>, so dass alle Maßangaben automatischen mit der Skalierung des Body-Tags angepasst werden. </p>
        <p>Allerdings mußten wir feststellen, dass sich <a href="http://www.opera.com/mobile/" hreflang="de">Opera-Mobile</a> damit schwer tut, so dass wir die Angabe dann doch noch ergänzen mußten, um eine einheitliche Darstellung zu bekommen.</p>
        <p />
        <p>
          <b>Update nach einer Reihe von Tests: </b> Um aber auch für Android und Opera Mobile eine bessere Anfangsskalierung zu bekommen, ist es besser folgende Angabe zu verwenden — so skaliert der Viewport auf die Gerätebreite und bleibt dabei ungezoomt:</p>&lt;meta 
	name="viewport" 
	content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /&gt;
<p />
        <p>Danach haben wir noch die automatische Textskalierung des iPhones deaktiviert, da wir die Textgrößen im Stylesheet ja konkret festlegen werden:</p>/* {{{ global */
html {
    -webkit-text-size-adjust: none;
}
/* }}} */
<h1>Die Umsetzung</h1>
        <p>Der Umsetzung der mobilen Version lag kein "offizieller" Entwurf zu Grunde, der als Stylesheet umgesetzt wurde.</p>
        <p />
        <p>Im Gegenteil: Auf Basis des normalen Layouts der Seite wurden Stück für Stück einzelne Styles angepasst, abgewandelt und optimiert, so dass die Website auf dem kleinen Bildschirm gut lesbar ist und sich gut über den Touchscreen bedienen läßt.</p>
        <p />
        <p>Dank des <a href="http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/125-Using_iPhone_Simulator/iphone_simulator_application.html" hreflang="de">iPhone Simulators</a>, der dem <a href="https://developer.apple.com/devcenter/ios/index.action#downloads" hreflang="de">Apple iPhone SDK</a> beiliegt, ist der Test recht schnell und einfach, ohne dass man dafür unbedingt ein iPhone oder iPod Touch besitzen muss.</p>
        <p />
        <p>Allerdings sollte man nach der Optimierung das Ganze auch auf einem realen Gerät testen, da die Performance im Simulator eine andere ist — Vor allem aber, da sich die Handhabung mit dem Finger natürlich von der mit der Maus im Simulator erheblich unterscheidet.</p>
        <h1>Anpassen des Layouts auf das iPhone-Display</h1>
        <p>Als erstes haben wir das Layout in das iPhone-Display eingepasst und die Schriftgrößen so verändert, dass eine gute Lesbarkeit gewährleistet ist.</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_01.png" width="612" height="746" />
        <p>Das unangepasste Layout</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_02.png" width="612" height="746" />
        <p>Anpassung der Schriftgrößen</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_03.png" width="612" height="746" />
        <p>Anpassung der Spaltenbreiten</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_04.png" width="612" height="746" />
        <p>Die richtige Basis zum Lesen ohne horizontales Scrolling</p>
        <h1>Überarbeitung der Navigation</h1>
        <p>Danach haben wir die Navigation überarbeitet. Da die Navigationstiefe auf depage.net recht niedrig ist, konnten alle Navigationpunkte auf einmal dargestellt werden.</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_05.png" width="612" height="746" />
        <p>Unangepasste Navigation</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_06.png" width="612" height="746" />
        <p>Farbanpassung</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_07.png" width="612" height="746" />
        <p>"Inline"-Navigation</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_08.png" width="612" height="746" />
        <p>Erhöhung der Zeilenhöhe, zu besseren Bedienbarkeit</p>
        <h1>Neudefinition der Startseite für das iPhone</h1>
        <p>Zunächst war für die Startseite geplant, die Navigation mit den Themenbereichen zu belassen. Dies wurde aber aus mehreren Gründen komplett fallengelassen:</p>
        <p>Durch die in den Vordergrund gehobene Hauptnavigation würden sich die Themenbereiche direkt untereinander wiederholen.</p>
        <p>Auf der normalen Startseite werden die Zusatztexte zu den Themenbereichen auf MouseOver sichtbar. Allerdings gibt es mit dem TouchScreen kein Hover-Zustand bzw. dieser wird erst mit einem Tap auf das jeweilige Element sichtbar. Das ist für diesen Zweck aber äußerst schlecht geeignet.</p>
        <p>Zudem erwiesen sich die Teaser-Elemente am iPhone als das bessere Navigationselement.</p>
        <p />
        <p>Die Teaser für die einzelnen Blogeinträge sind nun das Hauptelement auf der mobilen Startseite.</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_10.png" width="612" height="746" />
        <p>Anpassung der Startseite</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_11.png" width="612" height="746" />
        <p>Test der Zusatztexte der Startseite</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_12.png" width="612" height="746" />
        <p>Anpassung der Teaser-Elemente</p>
        <img src="http://www.depage.net/lib/projects/depage.net/iphone_steps_13.png" width="612" height="746" />
        <p>Das fertige Layout auf depage.net</p>
        <h1>Fazit</h1>
        <p>Die Optimierung von Webseiten für das iPhone ist ingesamt sehr viel angenehmer als die Umsetzung für normale Browser. Das liegt aber vor allem daran, dass WebKit eines der modernsten Rendering-Engines ist und insofern auch recht aktuelle CSS-Eigenschaften beachtet.</p>
        <p>Zudem ist es wahnsinnig angenehm für nur <b>ein </b> Gerät und <b>einen </b> Browser zu entwickeln, so dass man sich die vielfachen Tests sparen kann, die man normalerweise vornehmen muss (Internet Explorer 6, 7, 8 und evtl. noch 9 preview, Firefox 2, 3, 3.5 und 3.6, Safari 3 und 4, Chrome 4 und 5 und Opera 10.*).</p>
        <p />
        <p>Allerdings wird sich der mobile Markt in Zukunft noch weiter öffnen, so dass dort ebenfalls erweiterte Tests nötig werden — und das trotz <a href="http://www.whatwg.org/" hreflang="de">der heldenhaften HTML5-Bestrebungen</a>.</p>
        <p />
        <p>Als nächstes stehen bei uns also die Android-Tests auf der Tagesordnung. Allerdings habe ich die Hoffnung, dass sich diese dank WebKit als nicht so aufwendig erweisen... ;-)</p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/5eYWzgJ7vTw" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/05/iphone-optimierung-mobile-web.html#entry-32685</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/uERjVFnJgUE/depage-blog.html" />
    <id>http://www.depage.net/de/blog/2010/05/depage-blog.html#entry-32242</id>
    <updated>2010-05-15T00:00:00Z</updated>
    <title>depage blogged</title>
    <summary>Unser depage blog ist online — mit News und Innenansichten umgesetzter Projekte. Sie sind ebenfalls auch herzlich eingeladen, unseren Atom-Feed zu abonnieren, damit wir sie immer auf dem Laufenden halten können. </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/depage/icon_projects.png" width="96" height="96" />
        <h1>depage blogged</h1>
        <p>Unser <a href="http://www.depage.net" hreflang="de">depage blog</a> ist online — mit News und Innenansichten umgesetzter Projekte. Sie sind ebenfalls auch herzlich eingeladen, unseren <a href="feed://feeds.feedburner.com/depage/de" hreflang="de">Atom-Feed</a> zu abonnieren, damit wir sie immer auf dem Laufenden halten können. </p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/uERjVFnJgUE" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/05/depage-blog.html#entry-32242</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/jHInwD5CEfM/zinnobergruen-fullscreen.html" />
    <id>http://www.depage.net/de/blog/2010/05/zinnobergruen-fullscreen.html#entry-32005</id>
    <updated>2010-05-14T00:00:00Z</updated>
    <title>fullscreen zinnobergruen</title>
    <summary>Zinnobergruen geht mit groooooßen Bildern an den Start.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/zinnobergruen/teaser.jpg" width="96" height="96" />
        <h1>fullscreen zinnobergruen</h1>
        <p>
          <a href="http://www.zinnobergruen.de" hreflang="de">Zinnobergruen</a> geht mit groooooßen Bildern an den Start.</p>
        <img src="http://www.depage.net/lib/referenzen/zinnobergruen01.jpg" width="800" height="100" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/jHInwD5CEfM" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/05/zinnobergruen-fullscreen.html#entry-32005</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/pGjNVtUDuTQ/depage-cms-goes-opensource.html" />
    <id>http://www.depage.net/de/blog/2010/04/depage-cms-goes-opensource.html#entry-32216</id>
    <updated>2010-04-12T00:00:00Z</updated>
    <title>depage::cms goes opensource</title>
    <summary>Dieses Jahr ist endlich die offizielle Entscheidung gefallen: Die kommende Version von depage::cms werden wir unter einer OpenSource-Lizenz zur Verfügung stellen und so einer breiteren Basis von Benutzern und Entwicklern verfügbar machen.  </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/depage/icon_projects.png" width="96" height="96" />
        <h1>depage::cms goes opensource</h1>
        <p>Dieses Jahr ist endlich die offizielle Entscheidung gefallen: Die kommende Version von depage::cms werden wir unter einer OpenSource-Lizenz zur Verfügung stellen und so einer breiteren Basis von Benutzern und Entwicklern verfügbar machen.  </p>
        <p />
        <p>Da dieser Prozess einige Zeit erfordert (Dokumentation, gemeinsame Source-Verwaltung auf Basis von git, etc.) müssen wir sie leider noch um etwas Geduld bitten. Wenn Sie Interesse haben und über weitere Entwicklung informiert bleiben wollen, können Sie sich gerne bei unserem Newsletter anmelden — wir halten Sie dann auf dem Laufenden.</p>
        <p />
        <p>
          <i>You are welcome to fork us at  </i>
          <a href="http://github.com/depage/depage-cms" hreflang="de"><i>GitHub </i></a>
          <i>. </i>
        </p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/pGjNVtUDuTQ" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/04/depage-cms-goes-opensource.html#entry-32216</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/0gzihy75K8U/duisberg.html" />
    <id>http://www.depage.net/de/blog/2010/04/duisberg.html#entry-34873</id>
    <updated>2010-04-30T00:00:00Z</updated>
    <title>duisberg starts to fly</title>
    <summary>Duisberg vernetzt. Jetzt. ist online.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/duisberg/teaser.jpg" width="96" height="96" />
        <h1>duisberg starts to fly</h1>
        <p>
          <a href="http://www.duisberg.net" hreflang="de">Duisberg vernetzt. Jetzt.</a> ist online.</p>
        <img src="http://www.depage.net/lib/referenzen/duisberg03.jpg" width="800" height="100" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/0gzihy75K8U" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/04/duisberg.html#entry-34873</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/66kL_g8v5VY/albuera-design-online.html" />
    <id>http://www.depage.net/de/blog/2010/04/albuera-design-online.html#entry-30914</id>
    <updated>2010-04-03T00:00:00Z</updated>
    <title>albuera design online</title>
    <summary>Die neue Website unserer Partner-Designagentur Albuera Design in Düsseldorf ist online. </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/albueradesign/teaser.jpg" width="96" height="96" />
        <h1>albuera design online</h1>
        <p>Die neue Website unserer <a href="http://www.albuera-design.de" hreflang="de">Partner-Designagentur Albuera Design</a> in Düsseldorf ist online. </p>
        <img src="http://www.depage.net/lib/referenzen/albueradesign01.png" width="800" height="100" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/66kL_g8v5VY" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/04/albuera-design-online.html#entry-30914</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/Dh8N9c5GVdY/depage-speaks-chinese.html" />
    <id>http://www.depage.net/de/blog/2010/03/depage-speaks-chinese.html#entry-31331</id>
    <updated>2010-03-10T00:00:00Z</updated>
    <title>depage spricht chinesisch</title>
    <summary>Für den Nachwuchs des ADC und die 1. Grafikdesign Biennale Deutschland China spricht depage::cms nun auch chinesisch. </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/adcsushi/teaser.jpg" width="96" height="96" />
        <h1>depage spricht chinesisch</h1>
        <p>Für den <a href="http://www.adc-sushi.com" hreflang="de">Nachwuchs des ADC</a> und die <a href="http://www.biennale-decn.com" hreflang="de">1. Grafikdesign Biennale Deutschland China</a> spricht depage::cms nun auch chinesisch. </p>
        <img src="http://www.depage.net/lib/referenzen/adc-sushi05.jpg" width="800" height="100" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/Dh8N9c5GVdY" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2010/03/depage-speaks-chinese.html#entry-31331</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/XxN8zbxpNQo/immerdasgleiche.html" />
    <id>http://www.depage.net/de/blog/2009/11/immerdasgleiche.html#entry-31474</id>
    <updated>2009-11-22T00:00:00Z</updated>
    <title>Immer das Gleiche.</title>
    <summary>Es wird wahnsinnig viel am Bildschirm gelesen: Emails, News, Blogs, Nachschlagewerke. Doch Literatur am Bildschirm ist immer noch ein Stiefkind im Internet (obwohl es schon einige Versuche dazu gegeben hat).</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/immerdasgleiche/teaser.png" width="96" height="96" />
        <h1>Immer das Gleiche.</h1>
        <h1>Lesen? Im Internet?</h1>
        <p>Es wird wahnsinnig viel am Bildschirm gelesen: Emails, News, Blogs, Nachschlagewerke. Doch Literatur am Bildschirm ist immer noch ein Stiefkind im Internet (obwohl es schon einige Versuche dazu gegeben hat).</p>
        <p />
        <p>Doch die Dinge, die sich einigermaßen erfolgreich sind, gehören vielfach dem Genre "Fan-Fiction" an, der vom gestandenen Kulturbetrieb klassischerweise nicht ernst genommen wird. »Literaturtechnisch« ist dies korrekt, als gesellschaftliches Phänomen wohl eher nicht.</p>
        <p />
        <p>
          <a href="http://www.zeit.de" hreflang="de">Die Zeit</a> hat kürzlich in einem <a href="http://www.zeit.de/2009/47/DOS-Der-deutsche-Leser?page=all" hreflang="de">Dossier</a> lamentiert, dass zu wenig gelesen wird, und dazu noch die Lesekompetenz schwinden würde. Sogar  Bücher von Astrid Lindgren müssten vereinfacht werden, um in manchen Schulen noch gelesen werden zu können. </p>
        <p />
        <p>Man kann das ernst nehmen oder übertrieben als Kulturkrieg abtun, der schon zu jeder Zeit in irgendeiner Form geführt wurde. Oder man macht einfach das, was pragmatisch am sinnvollsten sein mag. Lesen und Schreiben, etwas für die eigene Sprachkompetenz tun und wenn möglich auch noch ein wenig auf andere dabei abfärben.</p>
        <h1>Es ist immer das Gleiche.</h1>
        <p>Mit <a href="http://immerdasgleiche.de" hreflang="de">immerdasgleiche.de</a> nun also mein eigener bescheidener Versuch, Menschen dazu zu bringen, sich Zeit zu nehmen, einen Moment zu verweilen und nicht nur schnell überfliegbare Information, sondern wirkliche Sprache wahrzunehmen, zu lesen und zu empfinden.</p>
        <p />
        <p>
          <b>Die Texte: </b> In der Regel kurz (ich nenne sie »shorties«) bis zu maximal mittellang wie in <a href="http://immerdasgleiche.de/de/das-hospiz/latest.html" hreflang="de">»Das Hospiz«</a>.</p>
        <p />
        <p>
          <b>Das Layout:  </b>Möglichst einfach, schwarz auf weiß, mit einer zurückhaltenden Navigation, komplett skalierbar und versehen mit speziellem Print-Stylesheet, so dass sich die einzelnen Texte auch bequem ausdrucken lassen.</p>
        <p />
        <p>Dazu ein paar online-spezifische Features:</p>
        <p>Ein kleines Spiel mit den Auszeichnungsmöglichkeiten: Fette und kursive Auszeichnungen werden anders dargestellt — größer, und in anderer Schrift.</p>
        <p>Eine für den Leser zugreifbare Historie. Die Texte werden nicht nur in der letzten überarbeiteten Version angezeigt, sondern vorherige Versionen stehen genauso zur Verfügung. Über die Zeit sollte sich im Idealfall ein kleiner Einblick in die Werkstatt des Autoren ergeben (wie etwa in Michael Endes <a href="http://www.amazon.de/Michael-Endes-Zettelkasten-Ende/dp/3492713807" hreflang="de">»Zettelkasten«</a> oder Nabokovs <a href="http://www.amazon.de/Das-Modell-f%C3%BCr-Laura-Romanfragment/dp/3498046918" hreflang="de">»Das Modell für Laura«</a>), was einem ja normalerweise eher verwehrt wird. Teil davon sind auch Textfragmente, die noch nicht abgeschlossen sind, nichtsdestotrotz aber gelesen werden können und sollen.</p>
        <p>Und ("last but not least"): Die Texte werden unter einer liberalen CC-Lizenz veröffentlicht, so dass die Texte auch <i>von </i> anderen <i>in </i> anderen (nicht-kommerziellen) Kontexten benutzt werden dürfen.</p>
        <p />
        <p>
          <b>Interessante Kleinigkeit am Rande: </b>
        </p>
        <p>Die meisten Benutzer kommen momentan (natürlich) über Google und in diesem Fall zum Stichwort »Hospiz«, »Hospiz am Meer« oder »Hospiz Patient Tagebuch«. Ich weiß nicht, <b>ob </b> und <b>wie weit </b> sie lesen. Aber der üblichen Vorstellung von Hospiz dürfte das Ganze auf jeden Fall nicht entsprechen... ;-)</p>
        <p />
        <p>Viel Spass also beim Lesen, kritisieren und weiterempfehlen auf: <a href="http://immerdasgleiche.de" hreflang="de">immerdasgleiche.de</a>.</p>
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/XxN8zbxpNQo" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2009/11/immerdasgleiche.html#entry-31474</feedburner:origLink></entry>
  <entry>
    <link href="http://feedproxy.google.com/~r/depage/de/~3/ySyoke4HH_4/alony-lights-on-off.html" />
    <id>http://www.depage.net/de/blog/2009/05/alony-lights-on-off.html#entry-30875</id>
    <updated>2009-05-15T00:00:00Z</updated>
    <title>alony // lights on/off video</title>
    <summary>Für die gleiche Band, für die wir schon die Ehre hatten, das Packaging zu machen, haben wir nun auch ein Video umgesetzt. Das Video basiert komplett auf Fotomaterial und den Illustrationen, die auch schon im Booklet verwendet wurden. Die Animation selbst wurde in Flash umgesetzt und von dort als Video exportiert.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://www.depage.net/lib/projects/alony/alony_cover_rgb.jpg" width="96" height="87" />
        <h1>alony // lights on/off video</h1>
        <p>Für <a href="http://www.alony.de" hreflang="de">die gleiche Band</a>, für die wir schon <a href="http://www.depage.net/de/blog/2009/04/alony-dismantling-dreams.html" hreflang="de">die Ehre hatten, das Packaging zu machen</a>, haben wir nun auch ein Video umgesetzt. Das Video basiert komplett auf Fotomaterial und den Illustrationen, die auch schon im Booklet verwendet wurden. Die Animation selbst wurde in Flash umgesetzt und von dort als Video exportiert.</p>
        <h1>Die Startsequenz</h1>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/frames_start.jpg" width="612" height="345" />
        <p>Der Anfang des Videos auf Basis des Covers für Dismantling Dreams</p>
        <p>Das Video startet mit einer 16:9-Variante des Coverbildes des Albums. Dann fangen die illustrierten Traumelemente an zu leben, die weiße Fläche ersetzt den "realen" Hintergrund und der "Protagonist" des Videos macht sich auf den Weg durch die Traumwelt:</p>
        <p>Er begegnet mehreren anderen Charakteren (einem Nachbar; einem Mann, der einem Kind die Leviten ließt; mehrern Kamelen; Oskars Blechtrommel; seiner großen Liebe, die er schweren Herzens verlassen muß etc.). Auf dem Weg fällt er mehrmals, bis er zum Schluß endlich lernt zu fliegen.</p>
        <p />
        <h1>Die Charaktere</h1>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/bones01.jpg" width="612" height="600" />
        <p>Der Jongleur</p>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/bones02.jpg" width="612" height="600" />
        <p>Der Jongleur</p>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/path01.jpg" width="612" height="600" />
        <p>Der Jongleur</p>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/path02.jpg" width="612" height="600" />
        <p>Der Jongleur</p>
        <p>Die Charaktere sind alle auf Basis der gescannten und dann vektorisierten Illustrationen umgesetzt und dann mit Hilfe des in <a href="http://www.adobe.com/devnet/flash/articles/character_animation_ik_04.html" hreflang="de">Flash CS4 eingeführten Bones-Tool</a> animiert wurden.</p>
        <p />
        <p>Das Bone-Tool war zunächst etwas gewöhnungsbedürftig. Der erste Versuch war die komplette Figur als Shape anzulegen und darüber das Skelett zu legen. Das funktioniert leider nur sehr schlecht, da Flash an den Rändern der Formen unschöne Schnittkanten zeigt, wenn ein Objekt zu stark deformiert wird bzw. wenn sich Teile der gleichen Form zu überlagern beginnen.</p>
        <p />
        <p>In der eigentlichen Umsetzung wurden die Charaktere dann in einzelne MovieClip unterteilt, die dann über die Bones zum Leben erweckt wurde. Wichtig ist dabei zunächst den wichtigsten Fixpunkt festzulegen (bei unseren Charakteren der Schulterbereich, auf dem der Kopf sitzt) und alle anderen Bones davon ausgehen zu lassen. Die Anzeige der Bones ist dabei nicht immer ganz intuitiv, da die Bones nur bis zum letzten Drehpunkt gesetzt werden und nicht bis zum Ende des zu bewegenden Elements.</p>
        <h1>Morphing</h1>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/morph01.jpg" width="612" height="600" />
        <p>Morphing unter Gimp (Christian)</p>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/morph02.jpg" width="612" height="600" />
        <p>Morphing unter Gimp (Mark)</p>
        <p>Das für das Video keinerlei Videomaterial, sondern nur Fotos zur Verfügung standen, wurden einzelne kleine Bewegung mit Hilfe einer Morphing-Tools umgesetzt.</p>
        <p>Hierfür wurde ein <a href="ftp://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/" hreflang="de">Morphing-Plugin von GAP</a> für <a href="http://www.gimp.org/" hreflang="de">Gimp</a> unter <a href="http://www.ubuntu.com/" hreflang="de">Ubuntu</a> eingesetzt.</p>
        <p>In den Bildern mußten jeweils die zugehörigen Punkte ausgewählt werden. Das Plugin berechnete dann die Zwischenbilder, die wiederum in Flash für die Animation verwendet wurden. So nicken Mark, der Pianist, und Christian, der Schlagzeuger, gemeinsam in Takt.</p>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/eyes01.jpg" width="612" height="200" />
        <p>Die Augen</p>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/eyes02.jpg" width="612" height="200" />
        <p>Die Augen</p>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/eyes03.jpg" width="612" height="200" />
        <p>Die Augen</p>
        <p>Die Bewegung der Augen für Efrat wurden allerdings ohne Morphing umgesetzt. Dies sind einfache Überblendungen innerhalb von Flash.</p>
        <h1>Abschieds-/Baum-Sequenz</h1>
        <img src="http://www.depage.net/lib/projects/alonylightsonoff/frames_tree.jpg" width="612" height="575" />
        <p>Die Abschiedssequenz.</p>
        <p>Einer der in meinen Augen schönsten Sequenzen ist die Abschiedsszene. In dieser Szene, die buchstäblich im Kopf der Sängerin stattfindet, verabschiedet sich unser Hauptcharakter von seiner großen Liebe. Diese winkt im nach, wenn er verschwindet, während sie langsam Wurzeln schlägt und sich ihre Arme wie die Äste eines Baumes im Wind bewegen.</p>
        <p />
        <p>Der Kopf wird daraufhin zu einem eigenen Planeten, auf dem unser Protagonist seine Reise fortsetzt bis ihm auch der letzte Halt unter den Fußen weggezogen wird, so dass er ins Unendliche stützt. Alles, was er zuvor erlebt hat, schwebt langsam an ihm vorbei, während er in die Tiefe fällt, bis er schlußendlich lernt, zu fliegen.</p>
        <h1>Und das komplette Video</h1>
        <p>Und hier das kompletten Video zu dem wundervollen Song "Lights On/Off" — entweder direkt hier, auf <a href="http://vimeo.com/4523120" hreflang="de">Vimeo</a> oder auch auf <a href="http://www.youtube.com/watch?v=ip9dx7ZCX8s" hreflang="de">Youtube</a>:</p>&lt;iframe src="http://player.vimeo.com/video/4523120?byline=0&amp;amp;portrait=0" width="615" height="345" frameborder="0"&gt;&lt;/iframe&gt;
<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/depage/de/~4/ySyoke4HH_4" height="1" width="1" /></div></content>
  <feedburner:origLink>http://www.depage.net/de/blog/2009/05/alony-lights-on-off.html#entry-30875</feedburner:origLink></entry>
</feed>
