<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Codecandies &#187; html5</title>
	<atom:link href="http://codecandies.de/tag/html5/feed/" rel="self" type="application/rss+xml" />
	<link>http://codecandies.de</link>
	<description>Das Weblog von Nico Brünjes.</description>
	<lastBuildDate>Sat, 05 May 2012 07:17:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Offline</title>
		<link>http://codecandies.de/2012/03/20/offline/</link>
		<comments>http://codecandies.de/2012/03/20/offline/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 18:37:33 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[considered harmful]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=5012</guid>
		<description><![CDATA[Es ist nicht alles Gold, was sich HTML5 nennt. DOM Storage, Application Cache, Datenbanken, beim Storage geht es teilweise noch sehr holprig zu. Die Grenze f&#252;r Offlinedatenspeicherung liegt doch noch sehr sehr sehr niedrig…]]></description>
			<content:encoded><![CDATA[<p><img src="http://codecandies.de/wp-content/uploads/2011/03/folien_boot-686x485.png" alt="" title="Screenshot" width="500" height="353" class="alignnone size-medium wp-image-3605" /></p>
<p>Als Alternative zur <em>Apptisierung</em> des mobilen Internets wird immer wieder die Webapp genannt. Ebenso oft wird betont, dass native Apps den Webapps in UI und Features &#252;berlegen sind. Die Browser holen jedoch langsam auf, z.B. mit der M&#246;glichkeit Geodaten zu lesen, oder auch Zugriff auf eine im Smartphone integrierte Kamera zu erhalten. Und dann ist das noch das Feature der <em>offlinef&#228;higkeit</em>. Im folgenden will ich einige Techniken dazu kurz anreissen, zum einen um (mir) einen &#220;berblick zu verschaffen, zum anderen um feststellen zu k&#246;nnen, wie weit wir denn technologisch heute sind, in Sachen <em>offline</em>. Zum &#252;ber den Onlinezustand hinaus gehenden Speichern von Daten stehen im wesentlichen drei Techniken zur Verf&#252;gung.</p>
<p><span id="more-5012"></span></p>
<h3>DOM Storage</h3>
<p>Als <a href="https://developer.mozilla.org/en/DOM/Storage">DOM Storage</a> bezeichnet man einen kleinen, leicht zug&#228;nglichen Speicherbereich, auf den vom Browser &#252;ber eine sehr einfaches Interface zugegriffen werden kann: es werden jeweils Key-Value-Paare gespeichert. Das DOM Storage kommt in zwei Ausf&#252;hrungen: als Localstorage ist der Speicher persistent, als Sessionstorage h&#228;lt er nur bis zum Sessionende.</p>
<p>DOM Storage besticht vor allem durch die Einfachheit mit der man ihn nutzen kann und ist zudem weit verbreitet. Deswegen wird er wohl vielerorts als das Schweizer Messer der Offlineapplikationen angespriesen; ja, das w&#228;re ja zu sch&#246;n… die Wahrheit ist: <a href="http://hacks.mozilla.org/2012/03/there-is-no-simple-solution-for-local-storage/">DOM Storage is considered harmful</a>, vor allem wegen seiner grausigen Performance. Zudem ist die Menge an Speicher, die man damit zur Verf&#252;gung bekommt ziemlich klein. Unter iOS stehen wohl nicht mehr als 5 MB zur Verf&#252;gung, da kann man eh&#8217; keine gro&#223;en Spr&#252;nge machen, auch wenn Androiden und Desktopbrowser mehr Speicher zu lassen.</p>
<h3>Application Cache</h3>
<p>Die Mutter der Offlinefunktionalit&#228;ten d&#252;rfte der <a href="http://diveintohtml5.info/offline.html">Application Cache</a> sein. Hier steuert man unter Zuhilfenahme einer Manifest-Datei, welche Dateien der Browser f&#252;r die eigene Webapp in den Application Cache legt. Der Clou dabei ist, dass im Offlinezustand diese gecachten Dateien v&#246;llig transparent zur Verf&#252;gung stehen. Ohne die Meldung »Ey Alter, geh&#8217; mal online« werden Bilder aus dem Cache geladen und Scripts interpretiert. So sollte es jedenfalls sein. Hier zeigt sich der <em>Browser called Browser</em> (aka. Android-Webkit) aus Android 3.2 etwas unwillig und beschwert sich per Popup, das man ja nun offline sei, nur um danach alles wie gew&#252;nscht zu verarbeiten.</p>
<p>F&#252;r den Application Cache gibt es auch etwas <a href="https://developer.apple.com/library/safari/#documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html#//apple_ref/doc/uid/TP40007256-CH7-SW5">Javascript-Interface</a> mit dem man bspw. den Cache leeren kann. Auch gut geeignet zum Debuggen, denn wegen der oben erw&#228;hnten Transparenz, sind Fehler manchmal etwas schwierig zu finden. Hilfreich: <a href="http://manifest-validator.com/">hier kann man seine Manifest-Datei validieren lassen</a>. Wermutstropfen Nummer eins: <a href="http://techblog.viewbook.com/2011/02/mobile-safari-offline-application-cache-limit/">auch der AppCache wird durch das st&#246;rrische iOS auf einer Untergrenze von 5 MB festgenagelt</a>.</p>
<h3>Browserdatenbanken</h3>
<p>Wer bis hier mit den vorgeschlagenen M&#246;glichkeiten zurecht kommt, oder mit anderen Worten: wer nicht mehr als 5 MB offline zu speichern hat, der hat Gl&#252;ck gehabt, denn er ist nicht auf die DB-Funktionalit&#228;ten der modernen Browser angewiesen. Diese stellen zwar wesentlich mehr Speicherplatz zur Verf&#252;gung, selbst im mobile Safari kann man, nachdem der Nutzer zugestimmt hat, bis zu 50 MB Daten in Datenbanken speichern und offline wieder abrufen. Trotzdem steht man derzeit vor einem Schlachtfeld.</p>
<p>Auf der einen Seite steht WebSQL, dass zwar in vielen Browsern zur Verf&#252;gung steht (Chrome, Opera, Safari, Android Browser…), aber vom W3C letztendlich <a href="http://www.w3.org/TR/webdatabase/">verschm&#228;ht</a> wurde, weil alle Browserhersteller das gleiche Backend nutzten. Stattdessen arbeitet man nun an <a href="https://developer.mozilla.org/en/IndexedDB">IndexedDB</a>. Das w&#228;re sicherlich eine genauso gute L&#246;sung, ist aber zumindest zum heutigen Zeitpunkt <a href="http://caniuse.com/#feat=indexeddb">nicht gerade verbreitet</a>: Firefox kommt seit Version 4 damit, Chrome (ab 12) kann beides, IE 10 <del>wird es haben</del> <ins><a href="http://blogs.msdn.com/b/ie/archive/2012/03/21/indexeddb-updates-for-ie10-and-metro-style-apps.aspx">hat es</a></ins>, eines Tages. Der neue Chrome f&#252;r Android kommt ebenfalls mit IndexedDB. Momentaner Stand hier ist allerdings, dass sich die Implementierungen doch noch sehr stark unterscheiden, zwischen den Browsern, aber vor allem auch von einer Browserversion zur n&#228;chsten, die ja heutzutage praktisch w&#246;chentlich kommen…</p>
<p>Da muss man sich dann nat&#252;rlich fragen, ab wann sich der Aufwand lohnt, denn um eine Browser-Offline-Datenbank-Anwendung zu schreiben, braucht man schon ein paar ausgewachsene Abstraktionsstufen, um die Daten in allen Browsern ordentlich wegzuschreiben und auch wieder zu finden…</p>
<h3>Ein Fazit</h3>
<p>Es ist nicht alles Gold, was sich HTML5 nennt. Beim Storage geht es jedenfalls, vor allem bei den Datenbanken noch sehr holprig zu. Somit liegt die Grenze f&#252;r Offlinedatenspeicherung doch sehr sehr sehr niedrig. Definiert wird diese Untergrenze regelm&#228;&#223;ig von den iOS-Ger&#228;ten, man k&#246;nnte Apple verd&#228;chtigen, den Webapp-Entwicklern Steine in den Weg legen zu wollen, um seine liebgewonnene App-Welt zu sch&#252;tzen, aber andererseits, man will ja auch keine Verschw&#246;rungstheorien verbreiten. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2012/03/20/offline/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: Responsive Images: How they Almost Worked and What We Need]]></title>
		<link><![CDATA[http://www.alistapart.com/articles/responsive-images-how-they-almost-worked-and-what-we-need/]]></link>
		<comments>http://codecandies.de/2012/02/10/responsive-images-how-they-almost-worked-and-what-we-need/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 15:09:24 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=4794</guid>
		<description><![CDATA[Vorschlag f&#252;r HTML5-responsive-Images. Ist mir letzte Woche leider durch den TL;DR-Filter gerutscht.<p><a href="http://codecandies.de/2012/02/10/responsive-images-how-they-almost-worked-and-what-we-need/" rel="bookmark" title="Permanent link to 'Responsive Images: How they Almost Worked and What We Need'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Vorschlag f&#252;r HTML5-responsive-Images. Ist mir letzte Woche leider durch den TL;DR-Filter gerutscht.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;picture&gt;
        &lt;source src=&quot;high-res.jpg&quot; media=&quot;min-width: 800px&quot; /&gt;
        &lt;source src=&quot;mobile.jpg&quot; /&gt;
        &lt;!-- Fallback content: --&gt;
        &lt;img src=&quot;mobile.jpg&quot; /&gt;
&lt;/picture&gt;
</pre>
<p><a href="http://codecandies.de/2012/02/10/responsive-images-how-they-almost-worked-and-what-we-need/" rel="bookmark" title="Permanent link to 'Responsive Images: How they Almost Worked and What We Need'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2012/02/10/responsive-images-how-they-almost-worked-and-what-we-need/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: Hidden Gems of HTML5: classList]]></title>
		<link><![CDATA[http://hacks.mozilla.org/2012/01/hidden-gems-of-html5-classlist/]]></link>
		<comments>http://codecandies.de/2012/01/30/hidden-gems-of-html5-classlist/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 13:00:29 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=4689</guid>
		<description><![CDATA[Mit HTML5 ist Schluss mit "element.className.search(/aClassName/);" und &#228;hnlichem Schlunz.<p><a href="http://codecandies.de/2012/01/30/hidden-gems-of-html5-classlist/" rel="bookmark" title="Permanent link to 'Hidden Gems of HTML5: classList'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Mit HTML5 ist Schluss mit <code>element.className.search(/aClassName/);</code> und &#228;hnlichem Schlunz.</p>
<p><a href="http://codecandies.de/2012/01/30/hidden-gems-of-html5-classlist/" rel="bookmark" title="Permanent link to 'Hidden Gems of HTML5: classList'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2012/01/30/hidden-gems-of-html5-classlist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: Retesting the input types]]></title>
		<link><![CDATA[http://www.quirksmode.org/blog/archives/2012/01/retesting_the_i.html]]></link>
		<comments>http://codecandies.de/2012/01/24/retesting-the-input-types/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 17:23:10 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=4599</guid>
		<description><![CDATA[PPK setzt seine Kompatibilit&#228;tsforschungen f&#252;r die neuen HTML5 Inputtypen fort. Noch fern der Nutzbarkeit, das alles.<p><a href="http://codecandies.de/2012/01/24/retesting-the-input-types/" rel="bookmark" title="Permanent link to 'Retesting the input types'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p>PPK setzt seine Kompatibilit&#228;tsforschungen f&#252;r die neuen HTML5 Inputtypen fort. Noch fern der Nutzbarkeit, das alles.</p>
<p><a href="http://codecandies.de/2012/01/24/retesting-the-input-types/" rel="bookmark" title="Permanent link to 'Retesting the input types'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2012/01/24/retesting-the-input-types/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: HTML5, please]]></title>
		<link><![CDATA[http://html5please.us/]]></link>
		<comments>http://codecandies.de/2012/01/23/html5-please/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 19:36:31 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=4574</guid>
		<description><![CDATA[Look up HTML5, CSS3, etc features, know if they are ready for use, and if so find out how you should use them – with polyfills, fallbacks or as they are.<p><a href="http://codecandies.de/2012/01/23/html5-please/" rel="bookmark" title="Permanent link to 'HTML5, please'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Look up HTML5, CSS3, etc features, know if they are ready for use, and if so find out how you should use them – with polyfills, fallbacks or as they are.</p>
</blockquote>
<p>Via <a href="http://grochtdreis.de/weblog/2012/01/23/html5-bitte/">Jens Grochtdreis</a>.</p>
<p><a href="http://codecandies.de/2012/01/23/html5-please/" rel="bookmark" title="Permanent link to 'HTML5, please'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2012/01/23/html5-please/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: Bootstrap]]></title>
		<link><![CDATA[http://twitter.github.com/bootstrap/]]></link>
		<comments>http://codecandies.de/2012/01/23/bootstrap/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 09:14:53 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=4556</guid>
		<description><![CDATA[Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites. It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<p><a href="http://codecandies.de/2012/01/23/bootstrap/" rel="bookmark" title="Permanent link to 'Bootstrap'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites. It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.</p>
</blockquote>
<p>Via <a href="http://www.alistapart.com/articles/building-twitter-bootstrap/">ALA</a>.</p>
<p><a href="http://codecandies.de/2012/01/23/bootstrap/" rel="bookmark" title="Permanent link to 'Bootstrap'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2012/01/23/bootstrap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leselinks #2</title>
		<link>http://codecandies.de/2011/09/28/leselinks-2/</link>
		<comments>http://codecandies.de/2011/09/28/leselinks-2/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 07:27:25 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[links]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3975</guid>
		<description><![CDATA[Ein wundersch&#246;nes Spielzeug f&#252;r Webkit-Browser ist UmbraUI: Experimental Shadow DOM styling of &#60;input&#62; elements. Keine Bilder, kein zus&#228;tzliches Markup, kein…]]></description>
			<content:encoded><![CDATA[<p>Ein wundersch&#246;nes <strong>Spielzeug f&#252;r Webkit-Browser</strong> ist <a href="http://lab.simurai.com/css/umbrui/">UmbraUI: Experimental Shadow DOM styling of &lt;input&gt; elements</a>. Keine Bilder, kein zus&#228;tzliches Markup, kein Javascript. Noch mehr <em>CSS/HTML/JS-Spielerei</em> gef&#228;llig? <a href="http://alexw.me/ipad2/">Die iPad2-Simulation</a>!</p>
<p>Heute soll der/die/das Amazon <strong>Kindle Fire</strong> pr&#228;sentiert werden. Bei <a href="http://paidcontent.org/article/419-amazons-kindle-tablet-will-be-the-first-true-media-tablet">paidContent.org noch schnell nachlesen</a>, was man gestern noch dar&#252;ber geglaskugelt hat.</p>
<p>Christian Krammer referiert eigentlich &#252;ber <a href="http://www.css3files.com/2011/09/21/the-long-way-to-a-reset-stylesheet/">den langen Weg zum Reset-Stylesheet</a>, liefert stattdessen <a href="http://www.css3files.com/2011/09/21/the-long-way-to-a-reset-stylesheet#comment-9540">in den Kommentaren</a> eine gute Erkl&#228;rung, <strong>warum man immer noch <em>em</em> Nutzen sollte</strong>.</p>
<p>Beim <strong>Networking</strong> ist <a href="http://imgriff.com/2011/09/27/networking-madonna-beinahe-treffen-und-andere-falsche-hoffnungen/">das beste Zeitmanagement kein Zeitmanagement</a>, <em>jedenfalls wenn man nicht Madonna treffen will</em>, schreibt Simone Janson. Davon verstehe ich ehrlich gesagt nichts, da ich weder Zeit- noch Networkmanagement betreibe. Immer sch&#246;n die toDo-Liste pflegen!</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2011/09/28/leselinks-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>5-Shirt</title>
		<link>http://codecandies.de/2011/02/13/5-shirt/</link>
		<comments>http://codecandies.de/2011/02/13/5-shirt/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 22:39:40 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3496</guid>
		<description><![CDATA[Und dann kauft ihr ein T-Shirt und dann geht&#8217;s auch mit den Standards.]]></description>
			<content:encoded><![CDATA[<div class="foto"><img src="http://codecandies.de/wp-content/uploads/2011/02/photo-1-e1297636618762-686x914.jpg" alt="HTML-Shirt" title="HTML-Shirt" width="686" height="914" class="alignnone size-medium wp-image-3497" />
<p>Und dann kauft ihr ein T-Shirt und dann geht&#8217;s auch mit den Standards.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2011/02/13/5-shirt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Die iPad Webseite</title>
		<link>http://codecandies.de/2010/11/18/die-ipad-webseite/</link>
		<comments>http://codecandies.de/2010/11/18/die-ipad-webseite/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 22:49:27 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[medien]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3334</guid>
		<description><![CDATA[Liest man die g&#228;ngigen Webdesign-Sites findet man eine F&#252;lle von Tipps, wie man seine Website anpassen kann, damit sie auch auf dem iPad <em>funktioniert</em>. Der Tenor: mit <em class="typewriter">css media queries</em> ein paar zus&#228;tzliche Stylesheets f&#252;r das iPad liefern, im Scriptteil ein wenig die Touch- und Gestureevents einsetzen, Flashvideos raus, Buttons gr&#246;&#223;er: fertig! Das war nicht ganz das, was uns vorschwebte…]]></description>
			<content:encoded><![CDATA[<div class="foto"><img src="http://codecandies.de/wp-content/uploads/2010/11/zon-001.jpg" alt="" title="Screenshot © ZEIT ONLINE Wissen" width="620" height="420" class="alignnone size-full wp-image-3337" />
<p>Screenshot ZEIT ONLINE, Wissen Centerpage, iPad Version, Design: Information Architects</p>
</div>
<p>Liest man die g&#228;ngigen Webdesign-Sites findet man eine F&#252;lle von Tipps, wie man seine Website anpassen kann, damit sie auch auf dem iPad <em>funktioniert</em>. Der Tenor: mit <em class="typewriter">css media queries</em> ein paar zus&#228;tzliche Stylesheets f&#252;r das iPad liefern, im Scriptteil ein wenig die Touch- und Gestureevents einsetzen, Flashvideos raus, Buttons gr&#246;&#223;er: fertig! Das war nicht ganz das, was uns vorschwebte…</p>
<h2>Das mit den media queries ist so eine Sache</h2>
<p>Kurz gesagt: CSS media queries sind im Moment <a href="http://codecandies.de/2010/09/08/optimierungen-mit-css-media-queries/">eine schicke und elegante L&#246;sung</a>, wenn man seine bestehende Website mit ein paar Handgriffen an die Gegebenheiten verschiedener, zumeist kleinerer, Displays anpassen will. Ebenso taugen sie sicherlich dazu, eine Web-App zu bauen, die <strong>nur</strong> auf Tablets funktioniert und im Desktopbrowser leer oder ungestyled bleibt (aber wer will das schon?). F&#252;r eine gro&#223;e Contentwebsite, die zweigleisig unter der gleichen Adresse unterschiedliche Styles an Desktopbrowser und Tablets ausliefert, sind sie jedoch (zumindest im Moment) nicht zu gebrauchen.</p>
<p>Das liegt zun&#228;chst einmal daran, dass mit Mediaqueries eingeschr&#228;nkte Stylesheets zun&#228;chst mal <a href="http://www.quirksmode.org/blog/archives/2010/08/combining_media.html">allesamt heruntergeladen werden und dann entschieden wird, was angezeigt wird</a>. F&#252;r den mobilen Einsatz und auch f&#252;r den Tableteinsatz kommen sie damit kaum in Frage. Beim ersteren schon allein wegen der Downloadmengen, beim letzteren kommen wie die Erfahrung zeigt noch weitere Datenmengen an Javascript und z.B. gr&#246;&#223;eren Bildern hinzu. Ein Fass ohne Boden.</p>
<p>Die von mir zun&#228;chst favorisierte L&#246;sung f&#252;hrte aber dazu, dass nicht nur <a href="http://blog.rakeshpai.me/2010/10/practical-css3-media-queries-and-mobile.html">IEs kleiner Version 9 via <em>conditional comments</em> eigene Stylesheets zugeteilt bekommen mussten</a>, auch <a href="http://caniuse.com/#feat=css-media">Firefox 3.0 und kleiner k&#246;nnen mit den mediumabh&#228;ngigen Styles so gar nichts anfangen</a>.</p>
<div class="foto">
<p><a href="http://www.youtube.com/watch?v=h6QlUh4Pung&#038;fmt=18">http://www.youtube.com/watch?v=h6QlUh4Pung</a></p>
<p>Das offizielle Video zum Launch</p>
</div>
<h2>Ohne Javascript geht&#8217;s (derzeit) nicht</h2>
<p>Und auf tut sich die b&#246;se T&#252;r des <em>user agent switching</em>. Zwar gibt es eine <a href="http://code.google.com/p/css3-mediaqueries-js/">Javascript-Lib</a>, die <em>css media queries</em> gewissermassen emuliert, das ist aber ein weiterer gut 20kB gro&#223;er Download ist, ein Monster mithin, das zudem nur mit Queries innerhalb von CSS-Dateien, aber nicht innerhalb von <code>&lt;link /&gt;</code> zul&#228;sst.</p>
<p>Stehen zus&#228;tzlich Anforderungen im Raum, dass auch ein Schalter zur R&#252;ckkehr zur <em>klassischen Website</em> eingebaut werden soll, oder wenn man feststellt, dass eben Tablet nicht geleich Tablet ist, man also f&#252;r verschiedene Tablets noch kleinere Anpassungen vornehmen muss, dann ist man schnell dabei auf den <em>user agent</em> zu schauen. &lt;interlude&gt;Das vereinfacht &#252;brigens auch gewaltig die Entwicklung der Seite, da man sie w&#228;hrend des Bauens parallel zum iPad/iPad-Simulator auch im Firefox <em>previewen</em> kann. Das geht nat&#252;rlich nur mit <a href="http://chrispederick.com/work/user-agent-switcher/">User Agent Switcher</a>. Dann aber kann man den geliebten Firebug nutzen um wenigestens die Elemente auf der Seite und ihre Styles zu indentifizieren und auch das Scriptdebugging ein wenig zu unterst&#252;tzen. Dinge die es auf dem iPad nicht oder nur sehr rudiment&#228;r gibt.&lt;/interlude&gt;</p>
<p>Diese L&#246;sung ist allerdings noch nicht das Endstadium, allein weil wir nach und nach die Site f&#252;r weitere Tablets fit machen wollen. Im Laufe dieser Zeit werden wir auch das UA-switching wieder entfernen und durch bessere Methoden ersetzen.</p>
<div class="foto"><img src="http://codecandies.de/wp-content/uploads/2010/11/zon-002.jpg" alt="" title="Screenshot ZEIT ONLINE, Navigation, iPad Version, Design: Information Architects" width="620" height="400" class="alignnone size-full wp-image-3345" />
<p>Screenshot ZEIT ONLINE, Navigation, iPad Version, Design: Information Architects</p>
</div>
<h2>Der Spass an der Entwicklung</h2>
<p>Eins muss man gleich sagen: Entwicklung f&#252;r Tablet (speziell das iPad) macht einen Heidenspa&#223;. Zum einen ist die Touchbedienung faszinierend. Ich bin so einer, der ein mouse-over-Men&#252; entwickelt und sich dann stundenlang daran erfreuen kann, wie beim Hovern &#252;ber den Men&#252;punkt das Men&#252; animiert ausf&#228;hrt. Auf dem Tablet kann man solche L&#246;sung praktisch zum Anfassen programmieren (nat&#252;rlich ohne <code>:hover</code>). Ich habe das Men&#252; bestimmt mehrere tausend Mal ausprobiert. Oder die Bildergalerien (obwohl ich da noch nicht zufrieden bin). Die M&#246;glichkeiten des Webkit sind wirklich hervorragend und das geniesst man nat&#252;rlich. Obwohl es auch ein wenig zu verf&#252;hrerisch ist, wenn man in die H&#246;lle der Desktopbrowser zur&#252;ckkehrt und feststellt, dass es da draussen immer noch Internet Explorer gibt… ;)</p>
<h2>Kleinere Schlagl&#246;cher</h2>
<p>Ein paar Dinge waren allerdings echte Kopfn&#252;sse. Da ist zum Beispiel der Viewport-Tag. Schon bei diesem Blog hier habe ich Probleme damit gehabt. &#252;ber diesen einen Tag den Viewport und vor allem die Vergr&#246;&#223;erung so zu setzen, dass es f&#252;r iPad und iPhone gleicherma&#223;en funktioniert. Das Design der iPad-Seite erforderte ganz klar ein:</p>
<pre class="brush: xml; title: ; notranslate">&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, minimum-scale=1.0, maximum-scale=1.0&quot;&gt;</pre>
<p>Das passt allerdings nicht zu unserer Art, das iPhone zu bedienen. iPhone-Nutzer werden beim Besuch gefragt, ob sie die <a href="http://mobilzeit.de">mobile Website</a> besuchen m&#246;chten, oder die <em>klassische Seite</em>. Mit dem obigen Meta-Tag kann man diese dann aber auf dem iPhone nicht mehr skalieren. F&#252;r das iPhone empfiehlt sich eher:</p>
<pre class="brush: xml; title: ; notranslate">&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width&quot;&gt;</pre>
<p>Will man allerdings (f&#252;r das iPad) zwei Ansichten f&#252;r Portrait- und Landscapemodus pr&#228;sentieren (vs. vergr&#246;&#223;erte Portraitansicht im Landscapemodus), dann ist man auf das <code>minimum-scale=1.0, maximum-scale=1.0</code> festgelegt.</p>
<p>&#220;berraschenderweise kann man aber auch diesen Metatag per Javascript setzen! Es hat allerdings ein wenig gedauert, bis ich das einfach mal ausprobiert habe (h&#252;stel). Au&#223;erdem musste daf&#252;r ganz sch&#246;n an unserer Seitenstruktur geschraubt werden.</p>
<h2>Wie geht&#8217;s weiter?</h2>
<p>Zun&#228;chst mal kommen jetzt schnell weitere Tablets dazu, mit denen man die Seite betrachten kann. Es war leider schnell klar, dass man mit einem Schlag nicht alle Tablets bedienen kann. Mindestens an den Einstellungen des Viewports m&#252;ssen Anpassungen gemacht werden, wahrscheinlich auch etwas CSS und Script. Wobei, wir wollen jetzt auch nicht jedes Tablet das neu auf den Markt kommt kaufen (der Gadgetj&#228;ger in mir fragt nat&#252;rlich: »warum eigentlich nicht«). Man wird sehen, was sich am Tabletmarkt noch tut und was sich durchsetzt. Wir r&#228;umen zun&#228;chst mal dem Galaxy Tab von Samsung gute Chancen ein, und wenn <a href="http://www.zeit.de/digital/mobil/2010-11/rim-playbook-ipad?page=all">RIM mit einem Tablet kommt</a>, wird&#8217;s ja vielleicht auch nochmal interessant.</p>
<p>Abschlie&#223;end sei gesagt, dass die Sache nat&#252;rlich ein gutes St&#252;ck weit vom Design der <a href="http://www.informationarchitects.jp/en/">Information Architects</a> lebt, Oliver Reichenstein hat dazu <a href="http://www.informationarchitects.jp/en/news-on-ipad-the-obvious-way/">einen sch&#246;nen Artikel geschrieben</a>, der auch die – ich nenne es mal so – medienpolitischen Hintergr&#252;nde gut erfasst und viel von dem Geist beschreibt, der hinter dieser Webapp steckt.</p>
<p>Noch ein paar Artikel und Stimmen zum Thema: <a href="http://codecandies.de/2010/11/18/die-ipad-webseite/">iPadMag</a>, <a href="http://www.editorsweblog.org/multimedia/2010/11/die_zeit_launches_ipad-optimized_version.php">Editors Weblog</a>, <a href="http://www.ipadplanet.nl/12555/zeit-online-lanceert-website-geoptimaliseerd-voor-ipad/?awesm=tblt.nl_7pF#utm_content=twitter-publisher-main&#038;utm_medium=tblt.nl-twitter&#038;utm_source=direct-tblt.nl">iPad Planet NL</a>…</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/11/18/die-ipad-webseite/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Optimierungen mit CSS media queries</title>
		<link>http://codecandies.de/2010/09/08/optimierungen-mit-css-media-queries/</link>
		<comments>http://codecandies.de/2010/09/08/optimierungen-mit-css-media-queries/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 07:55:31 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3327</guid>
		<description><![CDATA[Die einen hassen sie schon jetzt, f&#252;r andere sind sie das neue schweizer Messer des Webdesigns. Was geht mit CSS media queries?]]></description>
			<content:encoded><![CDATA[<p>&#220;ber die ber&#252;hmten <a href="http://codecandies.de/2010/03/10/css-3-media-queries/">CSS Media Queries</a> haben wir ja schon viel geh&#246;rt und gelesen. Mitunter werden sie <a href="http://www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/">unn&#252;tz f&#252;r das mobile Web</a> angesehen und ohne eine nennenswerte <a href="http://www.quirksmode.org/blog/archives/2010/08/combining_media.html">Zusammenarbeit mit Javascript</a> wird man wohl auch nicht auskommen. Damit wissen wir ja schon einiges. Hier im Blog sind sie seit den letzten kosmetischen Korrekturen im Einsatz (einfach mal die Fenstergr&#246;&#223;e anpassen oder <a href="http://www.flickr.com/photos/codecandies/4941756200/">Codecandies auf dem Kindle 3 aufrufen</a>), sehr sch&#246;n kann man das auch bei den <a href="http://www.informationarchitects.jp/en/">iAs</a> anschauen.</p>
<p>Was Jason Grigsby vor allem kritisiert ist, dass man um eine Anpassung bspw. f&#252;r mobile Clients zu erreichen, <strong>mehr anstatt weniger Code</strong> hinzuf&#252;gt:</p>
<blockquote cite="http://www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/"><p>The idea of adding more code—adding more to download—in order to optimize for mobile should be the first clue that this isn’t a good solution.</p>
 <p class="citesource"><cite><a href="http://www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/">www.cloudfour.com</a></cite></p></blockquote>
<p>Das w&#228;re nat&#252;rlich kontraproduktiv und ist f&#252;r gro&#223;e Websites, die sowieso schon immer mit ihrem <em>Gewicht</em> zu k&#228;mpfen haben auch tats&#228;chlich keine Alternative. Zudem hat man ja auch keine Unterscheidung f&#252;r die ausgelieferten Medien, bspw. Bilder. Gro&#223;e hochaufgel&#246;ste Bilder braucht man bspw. f&#252;r das iPad, aber nicht f&#252;r das kleine Display eines Mobiltelefons. Smartphones wie das iPhone4 fallen aus dieser Kritik aber eher heraus, lechzt es doch nach <em>noch h&#246;her aufgel&#246;sten</em> Bildern als der Desktopwebbrowser. Hier m&#252;sste dann je nach Nutzungssituation unterschieden werden.</p>
<p>Allen L&#246;sungen gemein ist im Moment, dass die mit media queries spezialisierten Seiten, nur wenige kleine Effekte anbieten, bspw. schmalere Spalten, verkleinerte Bilder etc. Was aber, wenn die Seiten f&#252;r das iPad und sp&#228;ter auch das iPhone <strong>wirklich komplett anders aussehen sollen?</strong> Versucht man s&#228;mtlichen CSS-Code zu &#252;berschreiben, landet man schnell in der Codingh&#246;lle und das Gewicht der Seite explodiert. Ich habe mich nun gefragt, mal in Bezug auf das iPad (und andere Tablets) gesehen, deren Nutzung ich weniger als mobile Nutzung betrachte, wie man mit den <em>media queries</em> nun zwar genug, aber eben m&#246;glichst wenig CSS-Daten an die Browser schicken kann. <del>Mein derzeitiger L&#246;sungsansatz sieht so aus</del> <ins><em>siehe Update am Ende des Artikels</em></ins>:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!--[if IE]&gt;
	&lt;link rel=&quot;stylesheet&quot; href=&quot;css/base.css&quot; type=&quot;text/css&quot; /&gt;
&lt;![endif]--&gt;
&lt;link media=&quot;only screen and (min-device-width: 769px)&quot; rel=&quot;stylesheet&quot; href=&quot;css/base.css&quot; type=&quot;text/css&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; media=&quot;only screen and (min-device-width: 768px) and (max-device-width: 1024px)&quot; href=&quot;css/ipad.css&quot; type=&quot;text/css&quot; /&gt;</pre>
<p>Zur Erkl&#228;rung: Zun&#228;chst mal werden die IEs bedient, die derzeitig nicht in der Lage sind media queries auszuwerten. Der bekommt ganz normal sein CSS geliefert. Die restlichen Stylesheets ignoriert ein IE dann geflissentlich. Alle anderen Browser widerum ignorieren die conditional comments und falls sie eine <code>min-device-width</code> gr&#246;&#223;er 769px haben, laden und zeigen sie das <em>normale</em> base.css. Hernach folgt dann das CSS f&#252;r das iPad, mit einem Query auf seine Werte abgestimmt.</p>
<p>Soweit zur Theorie. In der Praxis scheint das so zu funktionieren. L&#228;dt man viele verschiedene CSSse, kann das allerdings schnell un&#252;bersichtlich werden, da alle <em>nichtmobilen</em> CSSse doppelt aufgef&#252;hrt werden m&#252;ssen.</p>
<p>Anregungen und andere Ideen sind mehr als willkommen.</p>
<p class="copyright">Artikelbild: <a title="Attribution-ShareAlike License" href="http://creativecommons.org/licenses/by-sa/2.0/">Some rights reserved</a> by <a href="http://www.flickr.com/photos/24293932@N00/">anarchosyn</a>.</p>
<p><strong>Update:</strong> Zwei Tatsachen haben inzwischen dazu gef&#252;hrt, dass ich selbst nicht mehr so &#252;berzeugt von dieser L&#246;sung bin: 1. werden ob mit media queries oder ohne immer alle Dateien vom Browser gezogen. Man spart aber ggf. durch weniger CSS-&#220;berschreiben, je nach Art und Gr&#246;&#223;e der Styles; 2. wichtige Info: schon Firefox 3.0 kann keine CSS media queries.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/09/08/optimierungen-mit-css-media-queries/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: Mit Opera einen HTML5-Videoplayer bauen]]></title>
		<link><![CDATA[http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/]]></link>
		<comments>http://codecandies.de/2010/08/03/mit-opera-einen-html5-videoplayer-bauen/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 09:01:41 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3285</guid>
		<description><![CDATA[in den Browser eingebauten Players abzuspielen. Dieser Fakt ist ja nun inzwischen hinreichend bekannt. Auch schon geh&#246;rt hat man davon,…<p><a href="http://codecandies.de/2010/08/03/mit-opera-einen-html5-videoplayer-bauen/" rel="bookmark" title="Permanent link to 'Mit Opera einen HTML5-Videoplayer bauen'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p>in den Browser eingebauten Players abzuspielen. Dieser Fakt ist ja nun inzwischen hinreichend bekannt. Auch schon geh&#246;rt hat man davon, dass man diesen Videoplayer selbst gestalten kann, also eigene Buttons, Seekbar und Controls hinzuf&#252;gen kann. Aber wie genau macht man das?</p>
<p>Bei Opera gibt es genau zu dieser Frage nun ein ausf&#252;hrliches Tutorial: <a href="http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/">Building a custom HTML5 video player with CSS3 and jQuery</a>. Ganz gro&#223;es Kino.</p>
<p><a href="http://codecandies.de/2010/08/03/mit-opera-einen-html5-videoplayer-bauen/" rel="bookmark" title="Permanent link to 'Mit Opera einen HTML5-Videoplayer bauen'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/08/03/mit-opera-einen-html5-videoplayer-bauen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>10k Apart (by Microsoft)</title>
		<link>http://codecandies.de/2010/07/30/10k-apart-by-microsoft/</link>
		<comments>http://codecandies.de/2010/07/30/10k-apart-by-microsoft/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 07:21:55 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3276</guid>
		<description><![CDATA[Hurra, ein Wettbewerb. Es hat sich l&#228;ngst rumgesprochen, unter dem Buzzword HTML5 hat die Entwicklung kleiner Applikationen im Web mit…]]></description>
			<content:encoded><![CDATA[<p>Hurra, <a href="http://10k.aneventapart.com/" title="10K Apart" hreflang="en">ein Wettbewerb</a>.</p>
<p>Es hat sich l&#228;ngst rumgesprochen, unter dem Buzzword <em>HTML5</em> hat die Entwicklung kleiner Applikationen im Web mit standardkonformen HTML, CSS3 und Javascript Einzug in die Welt der Webseiten gehalten. Eines Tages wird man wahrscheinlich doch noch davon sprechen k&#246;nnen, HTML5-Seiten <em>programmiert zu haben</em> (oh-oh!).</p>
<p>Dabei sind die Apps die man jetzt schon kennt oft schwergewichtige Unget&#252;me aus HTML und vor allem Javascript. Das muss nat&#252;rlich nicht so sein. Um all dem Rechnung zu tragen (und ein wenig Werbung zu betreiben) haben <a href="http://visitmix.com/" hreflang="en">MIX</a> (≅ Microsoft) und <a href="http://aneventapart.com/" hreflang="en">An Event Apart</a> einen Wettbewerb ausgerufen: gesucht werden kleine HTML5-Apps, kleiner als <em>10K</em>, wobei die Verwendung von jQuery, Prototype und Typekit als Webservices ausgenommen sind. Laufen sollen die Apps in der IE9 Preview, Firefox und einem Webkit Browser. Na, dann mal los…</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/07/30/10k-apart-by-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webkongress Erlangen 2010</title>
		<link>http://codecandies.de/2010/07/26/webkongress-erlangen-2010/</link>
		<comments>http://codecandies.de/2010/07/26/webkongress-erlangen-2010/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 14:41:15 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[konferenzen]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3240</guid>
		<description><![CDATA[Eine mittlere Premiere gibt es f&#252;r den 7. und 8. Oktober in diesem Jahr zu verk&#252;nden. Der Webkongress Erlangen findet…]]></description>
			<content:encoded><![CDATA[<p><a href="http://codecandies.de/wp-content/uploads/2010/07/logo-screen-02-200x64.jpg"><img src="http://codecandies.de/wp-content/uploads/2010/07/logo-screen-02-200x64.jpg" alt="" title="logo-screen-02-200x64" width="200" height="64" class="alignleft size-full wp-image-3243" /></a>Eine mittlere Premiere gibt es f&#252;r den 7. und 8. Oktober in diesem Jahr zu verk&#252;nden. Der <a href="http://www.webkongress.uni-erlangen.de/index.shtml">Webkongress Erlangen</a> findet zu diesem Termin zwar schon zum dritten Mal statt, ich werde dort aber zum erste Male zu h&#246;ren sein. Unter dem Titel »<a href="http://www.webkongress.uni-erlangen.de/vortraege/#WKE2010-54">Relaunching ZEIT ONLINE</a>« werde ich ein wenig &#252;ber den Relaunch von <a href="http://www.zeit.de">zeit.de</a> im September 2009, den Weg dorthin und den Erlebnissen seitdem berichten. Dabei geht es nat&#252;rlich in der Hauptsache um den Fachbereich Frontendentwicklung und -technologie, sowie meine immerwehrenden Freunde: Usabilty und Accessibilty.</p>
<p>Nun kommen nat&#252;rlich wegen mir alleine zu wenig Teilnehmer zu einem Kongress, deswegen sind weitere hochkar&#228;tige Webexperten geladen worden, bspw. <a href="http://grochtdreis.de/"> Jens Grochtdreis</a>, <a href="http://www.perun.net/">Vladimir Simovic</a> und <a href="http://alvar.a-blast.org/">Alvar Freude</a>. &#220;bergeordnetes Thema des Kongresses sind L&#246;sungen f&#252;r barrierefreie Webseiten, soll heissen es geht nicht mehr nur um die Technik und den Prozess, sondern vielmehr um Webangebote, die diese Techniken auch ein- und umsetzen.</p>
<p>Mehr gibt es auf <a href="http://www.webkongress.uni-erlangen.de/index.shtml">der Homepage des WKE 2010</a> nachzulesen. Man sieht sich.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/07/26/webkongress-erlangen-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Candies Relaunch</title>
		<link>http://codecandies.de/2010/07/26/candies-relaunch/</link>
		<comments>http://codecandies.de/2010/07/26/candies-relaunch/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 08:06:08 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[weblog]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=3225</guid>
		<description><![CDATA[Was Feedlesern gar nicht auff&#228;llt, ist selbst f&#252;r Besucher der Artikelseiten von Codecandies nur schwierig zu entdecken: am Freitag hat Codecandies ein neues Template bekommen. Dabei hat sich an der Artikeln nicht viel ge&#228;ndert, daf&#252;r erstrahlt die Homepage in neuem Glanze, nachdem ich hier in letzter Zeit viel herumexperimentiert hatte.]]></description>
			<content:encoded><![CDATA[<p>Was Feedlesern gar nicht auff&#228;llt, ist selbst f&#252;r Besucher der Artikelseiten von Codecandies nur schwierig zu entdecken: am Freitag hat Codecandies ein neues Template bekommen. Dabei hat sich an der Artikeln nicht viel ge&#228;ndert, daf&#252;r erstrahlen die <a href="http://codecandies.de">Homepage</a> und alle &#220;bersichtsseiten in neuem Glanze, nachdem ich hier in letzter Zeit viel herumexperimentiert hatte.</p>
<p>Dabei habe ich vor allem darauf Wert gelegt, viel der Techniken auszuprobieren, die ich in den letzten Wochen und Monaten gelernt und an anderen Stellen gelernt habe. Darum ist auch viel mehr <em>unter der Motorhaube</em> passiert, als die Dinge, die man nach aussen sehen kann. Namentlich sind das: Nutzung vieler neuer HTML5-Elemente, Verschlankung des CSS-Codes und Nutzung von <em>CSS media queries</em> um eine angepasste Version f&#252;r das iPad und Browser mit verkleinertem Fenster anzubieten, Verschlankung des Javascriptcodes, Verbesserung der WordPress-Templates und meiner geliebten <code>functions.php</code>. Aber eins nach dem anderen.</p>
<h2>Welcome <code>figure</code> und <code>figcaption</code></h2>
<p>Das neue HTML5-Element <code>figure</code> geh&#246;rt wirklich zu den sinnvollen Elementen, die schon immer gefehlt haben. Bei <code>figcaption</code> allein bin ich mir nicht so sicher. Der Name zeigt schon, dass man Schwierigkeiten hatte, das neue Element zu integrieren. In einem fr&#252;heren Stadium war es auch tats&#228;chlich geplant, die Elemente in <code>figure</code> als <code>Definitionslisten</code> zu gestalten. Mit diese Semantik war man schlussendlich aber nicht zufrieden, weshalb man ein eigenes Element erfinden musste und das erhielt den &#252;blen Namen: <code>figcaption</code>. What a word. Ihhhh. Aber sei&#8217;s drum, beide Elemente finden sich nun prominent in der Homepage wieder.</p>
<p>Au&#223;erdem habe ich die Seite, nicht nur visuell, sondern eben auch im Code, in <code>section</code>s unterteilt. Die HTML5-Elemente <code>header</code>, <code>article</code> , <code>footer</code> und noch ein paar mehr, waren schon vor diesem <em>Relaunch</em> Teil des Codes. Damit bin ich der HTML5fizierung der Seite schon ein ganzes St&#252;ck weiter gekommen, ganz abseits der Buzzwordklopperei, rein im Code. Nun m&#252;sste man die Elemente nur noch ordentlich in den Artikeln nutzen k&#246;nnen, ohne das WordPress anf&#228;ngt rumzumucken, aber da k&#252;mmere ich mich auch noch drum.</p>
<p>Eine neue Brotschrift gibt&#8217;s nun auch, hier geht <a href="http://www.fontsquirrel.com/fonts/Droid-Serif">Droid Serif</a> ins Rennen und ersetzt die Georgia, wo sie kann.</p>
<h2>CSS Media Queries</h2>
<p>Man konnte ja schon vorher lesen, dass ich mich in der Vorbereitung auf das iPad schon ausgiebig mit den praktischen Media-Queries auseinanderhesetzt habe. Nun habe ich auch hier im Blog eine entsprechende Regeln implementiert. Ab sofort bekommen das iPhone im Portraitformat und Browser deren Fensterbreite unter <strong>920px</strong> liegt, eine verschm&#228;lerte Version der Seite angezeigt. Das kann ja jeder, der mit einem modernen Browser hier vorbeischaut leicht nachvollziehen, sonst hier auch mal ein Beispiel: so sieht&#8217;s breit aus:</p>
<p><a class="thickbox" href="http://codecandies.de/wp-content/uploads/2010/07/relaunch_940.jpg"><img src="http://codecandies.de/wp-content/uploads/2010/07/relaunch_940-620x290.jpg" alt="" title="relaunch_940" width="620" height="290" class="alignleft size-medium wp-image-3228" /></a></p>
<p><a class="thickbox" href="http://codecandies.de/wp-content/uploads/2010/07/relaunch_620.jpg"><img src="http://codecandies.de/wp-content/uploads/2010/07/relaunch_620-217x220.jpg" alt="" title="relaunch_620" width="217" height="220" class="alignleft size-thumbnail wp-image-3231" /></a>Und so die schmale Version, 620px-einspaltig. Eigentlich hatte ich die schmale Version im <em>normalen</em> Browser nur zum Testen genutzt, bis mir am Netbook auffiel, dass das nat&#252;rlich auch f&#252;r den Firefox durchaus Sinn machen kann.</p>
<p>Der eigentliche Seitencontent ist 940px breit, ich habe 20px Karenz gelassen, weil mir auffiel, dass wenn man bspw. genau 940px nimmt, der Sprung zur schmalen Version auch passiert, wenn er gar nicht n&#246;tig ist, zum Beispiel, wenn man das Fentser <em>genau</em> auf Contentbreite bringen will. Insgesamt st&#246;rt mich der Moment des <em>schwitchens</em> ein wenig, das ist schade, das das so abrupt erfolgt.</p>
<pre class="brush: css; title: ; notranslate">@media only screen and (max-width:920px), only screen and (max-device-width: 768px) and (orientation:portrait) { … }</pre>
<p>F&#252;r das iPad im Landscape-Modus wird &#252;brigens kein spezielles CSS geliefert. Stattdessen habe ich versucht, die <em>normale</em> Seite so iPad gerecht wie m&#246;glich zu gestalten.</p>
<p>Zudem werden wohl nicht alle <em>art directed</em> Artikel in die schmale Version passen. Da kann der geneigte iPad-Nutzer ja noch den Landscape-Modus nutzen.</p>
<h2>WordPress- und/oder Javascriptcode</h2>
<p>Nach l&#228;ngerer Zeit bin ich auch mal dabei gegangen und habe meine <code>functions.php</code> ein wenig aufger&#228;umt. Da meine Templates immer ziemlich egozentrisch gestaltet sind, habe ich keine Plugins gebaut, sondern alles was ich an zus&#228;tzlichen Funktionen ben&#246;tigte in diese Datei codiert. Kann man machen, ist wie gesagt nicht so freundlich, wenn man das Theme ver&#246;ffentlichen will. In der genannten Datei hat sich die letzten Jahre &#252;ber aber auch ziemlich viel M&#252;ll angesammelt, den ich ersatzlos entsorgt habe.</p>
<p>F&#252;r meine <em>art directed</em> Artikel habe ich mir ja selbst eine kleine Erweiterung geschrieben, mit der man zus&#228;tzliche CSS-Sourcen als Meta-Feld an den Artikel h&#228;ngen kann. Ich habe mir nun das <a href="http://wordpress.org/extend/plugins/art-direction/">Art Direction Plugin</a> nocheinmal genauer angesehen und es wieder verworfen, nicht nur wegen der d&#228;mlichen Zeile <q>Pay your respects to print, get Art Direction.</q> auf der Plugin-Seite, sondern auch weil ich es f&#252;r &#252;berfl&#252;ssig halte. Stattdessen habe ich meine L&#246;sung erweitert und verbessert, sowie das <a href="http://code.google.com/p/hyphenator/">Silbentrennungsscript</a> als Option auch f&#252;r andere Artikel zug&#228;nglich gemacht.</p>
<p>Womit wir beim Javascript sind, denn auch hier habe ich ein wenig den Hammer kreisen lassen. Fr&#252;her globale Scripte, die nur auf einigen wenigen Seiten gebraucht wurden, werden nun nur noch an den entsprechenden Orten geladen. Daf&#252;r habe ich mit meiner selbstgeschriebenem Artikelgalerie mal wieder echten Betacode auf Euch losgelassen. Das ist wie immer <em>work in progress</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/07/26/candies-relaunch/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IE9, SVG und Canvas</title>
		<link>http://codecandies.de/2010/03/19/ie9-svg-und-canvas/</link>
		<comments>http://codecandies.de/2010/03/19/ie9-svg-und-canvas/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 09:14:50 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=2970</guid>
		<description><![CDATA[Ja, was macht eigentlich SVG? Die Frage kommt zu Recht auf, wo doch Microsoft gerade vollmundig f&#252;r IE9 SVG-Unterst&#252;tzung angek&#252;ndigt…]]></description>
			<content:encoded><![CDATA[<p>Ja, <a title="Anmut und Demut: Was macht eigentlich … SVG?" href="http://anmutunddemut.de/2010/03/17/was-macht-eigentlich-svg">was macht eigentlich SVG?</a> Die Frage kommt zu Recht auf, wo doch Microsoft gerade <a href="http://blogs.msdn.com/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx" title="IE9 Blog: SVG in IE9 Roadmap">vollmundig f&#252;r IE9 SVG-Unterst&#252;tzung angek&#252;ndigt hat</a>. Totgesagte leben eben l&#228;nger, hier kommt mir aber ein englische Sprichwort in den Sinn: <em>flogging a dead horse</em>! Tats&#228;chlich hat sich SVG bis heute nicht durchgesetzt und daran Mitschuld tr&#228;gt – wie so oft – Microsoft, wer h&#228;tte das gedacht. Jahrelang hat man an <abbr title="Vector Markup Language">VML</abbr> festgehalten.</p>
<p>Aber auch sonst hat sich <abbr title="Scalable Vector Graphics">SVG</abbr> nicht sonderlich im Netz verbreitet: obwohl man beispielsweise in Adobe Illustrator schon lange nach SVG speichern kann, findet man <em>ausser in der <a href="http://upload.wikimedia.org/wikipedia/commons/b/b0/Wappen_L%C3%BCbeck.svg" title="SVG des L&#252;becker Stadtwappens">Wikipedia</a></em> im Web nur seltentst SVG-Grafiken, daf&#252;r aber viele viele in Flash umgesetzte Vektorbilder. Im Gegenzug ist die Unterst&#252;tzung des SVG-Standards in Webbrowsern auch nicht gerade vollst&#228;ndig: neueste Opera-Versionen bringen es auf eine Unterst&#252;tzung von rund 95% des Standards, die Webkit(s) immerhin noch auf rund 83%. Die 3.7er Previewversion von Firefox bringt dagegen nur etwa 72% SVG-Umsetzung mit. Am weitesten hinten liegt nat&#252;rlich die <em>PLatform Preview von IE9</em> mit derzeit 29% (Quelle: <a href="http://de.wikipedia.org/wiki/Scalable_Vector_Graphics#SVG-Unterst.C3.BCtzung_in_Browsern" title="Wikipedia: SVG: Browser-Unterst&#252;tzung">Wikipedia</a>). Aber da mag ja noch etwas kommen.</p>
<p>Soll man nun Microsoft danken, und sich darauf freuen, dass man in einigen Jahren endlich Vektorgrafiken auf seinen Seiten nutzen kann <em>ohne</em> den User ein Plugin installieren zu lassen? Mich d&#252;nkt, M$ setzt nun Jahre zu sp&#228;t auf den alten SVG-Zopf, <strong>einzig um HTML5-Canvas auszulassen</strong> und damit einem &#228;hnlichen Schicksal auszuliefern wie es SVG vor Jahren hatte. Denn zur Umsetzung von Canvas schweigt man bei Microsoft ausgerechnet. Noch ist es nicht raus, aber ich sehe das kommen (denkt an meine Worte).</p>
<p>SVG kann dabei zum Gl&#252;ck nicht mehr unter die R&#228;der kommen, es ist l&#228;ngst platt gewalzt und begraben.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/03/19/ie9-svg-und-canvas/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: HTML WG Working Drafts have been published]]></title>
		<link><![CDATA[http://lists.w3.org/Archives/Public/public-html/2010Mar/0137.html]]></link>
		<comments>http://codecandies.de/2010/03/05/html-wg-working-drafts-have-been-published/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 08:35:56 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=2928</guid>
		<description><![CDATA[HTML5, HTML+RDFa, HTML Microdata, HTML Canvas 2D Context, HTML5 differences from HTML4, HTML: The Markup Language. →<p><a href="http://codecandies.de/2010/03/05/html-wg-working-drafts-have-been-published/" rel="bookmark" title="Permanent link to 'HTML WG Working Drafts have been published'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.w3.org/TR/html5/">HTML5</a>,  <a href="http://www.w3.org/TR/rdfa-in-html/">HTML+RDFa</a>,  <a href="http://www.w3.org/TR/microdata/">HTML Microdata</a>, <a href="http://www.w3.org/TR/2dcontext/">HTML Canvas 2D Context</a>, <a href="http://www.w3.org/TR/html5-diff/">HTML5 differences from HTML4</a>,  <a href="http://www.w3.org/TR/html-markup/">HTML: The Markup Language</a>.</p>
<p><a href="http://codecandies.de/2010/03/05/html-wg-working-drafts-have-been-published/" rel="bookmark" title="Permanent link to 'HTML WG Working Drafts have been published'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/03/05/html-wg-working-drafts-have-been-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: HTML5 video markup, compatibility and playback]]></title>
		<link><![CDATA[http://www.niallkennedy.com/blog/2010/02/html5-video-markup.html]]></link>
		<comments>http://codecandies.de/2010/02/11/html5-video-markup-compatibility-and-playback/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 20:16:07 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=2762</guid>
		<description><![CDATA[HTML5 video has arrived and is deployed across a wide enough user base for sites and developers to stand up…<p><a href="http://codecandies.de/2010/02/11/html5-video-markup-compatibility-and-playback/" rel="bookmark" title="Permanent link to 'HTML5 video markup, compatibility and playback'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p><q>HTML5 video has arrived and is deployed across a wide enough user base for sites and developers to stand up and pay attention. File support and markup varies by browser and there is currently no native support in Internet Explorer.</q></p>
<p><a href="http://codecandies.de/2010/02/11/html5-video-markup-compatibility-and-playback/" rel="bookmark" title="Permanent link to 'HTML5 video markup, compatibility and playback'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/02/11/html5-video-markup-compatibility-and-playback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: Sublime HTML5 Video Player]]></title>
		<link><![CDATA[http://jilion.com/sublime/video]]></link>
		<comments>http://codecandies.de/2010/02/02/sublime-html5-video-player/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 09:56:48 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=2727</guid>
		<description><![CDATA[no browser plugin, no Flash dependencies, Custom styled controls, Full-window mode, Full-screen mode by alt-clicking on the full-window button (currently…<p><a href="http://codecandies.de/2010/02/02/sublime-html5-video-player/" rel="bookmark" title="Permanent link to 'Sublime HTML5 Video Player'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p><q>no browser plugin, no Flash dependencies, Custom styled controls, Full-window mode, Full-screen mode by alt-clicking on the full-window button (currently only supported in latest WebKit Nightly Builds), Features we plan to add: Firefox support, Volume controls, IE support by falling back to Flash, Supported Browsers: Safari (v4.0.4+), Google Chrome (v4.0+).</q></p>
<p><a href="http://codecandies.de/2010/02/02/sublime-html5-video-player/" rel="bookmark" title="Permanent link to 'Sublime HTML5 Video Player'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2010/02/02/sublime-html5-video-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title><![CDATA[Verlinkt: jQSlickWrap]]></title>
		<link><![CDATA[http://jwf.us/projects/jQSlickWrap/]]></link>
		<comments>http://codecandies.de/2009/11/23/jqslickwrap/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 11:46:43 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=2470</guid>
		<description><![CDATA[jQSlickWrap is a plugin for jQuery which enables you to easily and accurately wrap your text around the content of…<p><a href="http://codecandies.de/2009/11/23/jqslickwrap/" rel="bookmark" title="Permanent link to 'jQSlickWrap'" class="glyph">→</a></p>
]]></description>
			<content:encoded><![CDATA[<p><q>jQSlickWrap  is a plugin for jQuery which enables you to easily and accurately wrap your text around the content of floated images.</q> Nutzt HTML5-Canvas.</p>
<p><a href="http://codecandies.de/2009/11/23/jqslickwrap/" rel="bookmark" title="Permanent link to 'jQSlickWrap'" class="glyph">→</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2009/11/23/jqslickwrap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geolocating Webbrowser</title>
		<link>http://codecandies.de/2009/07/21/geolocating-webbrowser/</link>
		<comments>http://codecandies.de/2009/07/21/geolocating-webbrowser/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 07:31:26 +0000</pubDate>
		<dc:creator>Nico Brünjes</dc:creator>
				<category><![CDATA[Postings]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://codecandies.de/?p=2218</guid>
		<description><![CDATA[Hmm, obwohl George Orwells 1984 praktisch schon vor der T&#252;r steht finde ich immer wieder gefallen an mobilen Webanwendungen und…]]></description>
			<content:encoded><![CDATA[<p>Hmm, obwohl George Orwells 1984 <a href="http://anmutunddemut.de/2009/07/20/gleicher">praktisch schon vor der T&#252;r steht</a> finde ich immer wieder gefallen an mobilen Webanwendungen und damit nat&#252;rlich auch Dinge wie <a href="http://benwerd.com/2009/07/geolocation-in-html-5-and-javascript/">HTML5 Geolocating im Webbrowser mit Javascript</a>. &#220;ber eine Ssssst… einfache API erf&#228;hrt man namlich bei Firefox 3.5 und Safari 3.0 (auf dem iPhone), wo sich der eben Browsende gerade befindet, und zwar u.a. mit den Werten  geografische L&#228;nge und Breite und H&#246;he, sowie Richtung und Geschwindigkeit. Das funktioniert bei Ger&#228;ten mit GPS ernsthaft, ansonsten werden Einwahlpunkt und &#228;hnliches herangezogen. Cooles Feature, my ass.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecandies.de/2009/07/21/geolocating-webbrowser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

