<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
	<title>www.video-flash.de / html5-mobile.de</title>
	<link>http://www.video-flash.de/feed/</link>
	<description>Alles rund um Web und Mobile</description>
	<language>en</language>
	<lastBuildDate>Sun, 26 May 2013 06:57:57 GMT</lastBuildDate>

		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/video-flash" /><feedburner:info uri="video-flash" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/video-flash" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fvideo-flash" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title><![CDATA[Viewport resizer: Responsive Webdesign testen]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/kqUjPKGVwg0/responsive-webdesign-im-browser-darstellen</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/responsive-webdesign-im-browser-darstellen</guid>
		<pubDate>Thu, 25 Oct 2012 23:31:45 +0200</pubDate>
		<description>&lt;figure&gt;&lt;img src="/wp-content/uploads/2012/10/viewport-resitzer-responsive-webdesign.jpg" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Bookmarklet&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p class="intro"&gt;&lt;em&gt;Viewport Resizer&lt;/em&gt; ist ein kleines Browser-Bookmarklet, das beim Testen und Betrachten von Websites mit Responsive Webdesign hilft.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-598"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Das Browser-Bookmarklet &lt;em&gt;Viewport Resizer&lt;/em&gt; wird zuerst in der Lesezeichenleiste abgespeichert. Anschließend steht es fortan bereit, um die gerade geöffnete Website in verschiedene Größen darzustellen. Bei Aktivierung erscheint eine Werkzeugleiste mit verschiedene Device-Presets (Smartphone, Tablet, selbst definierte Pixelmaße, etc.) und Ausrichtungen (Hoch-/Querformat). Per Klick kann man zwischen den verschiedenen Ansichten wählen.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Viewport Resizer&lt;/em&gt;  ersetzt natürlich den Test mit echten Devices nicht, stellt aber eine schnelle Möglichkeit, um Websites in verschiedenen Maßen anzuschauen. Und dies ganz ohne den Browser selbst in der Größe zu ändern.&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/10/responsive-webdesign-check-bookmarklet.jpg" alt="Bookmarklet Responsive Webdesign" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Geöffnete Website in der Smartphone-Ansicht&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Link: &lt;a href="http://lab.maltewassermann.com/viewport-resizer/"&gt;Viewport Resizer&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/kqUjPKGVwg0" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/responsive-webdesign-im-browser-darstellen</feedburner:origLink></item>

		<item>
		<title><![CDATA[Performance-Studie: Wie schnell sind Websites beim mobilen Zugriff wirklich?]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/LFcnpHppklg/mobile-websites-performance-ladezeiten</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/mobile-websites-performance-ladezeiten</guid>
		<pubDate>Sun, 14 Oct 2012 11:17:00 +0200</pubDate>
		<description>&lt;p&gt;Eine aktuelle Studie von &lt;em&gt;strangeloop&lt;/em&gt; enthält interessante Anhaltspunkte über die Performance von mobilen Websites. Im Juli und September 2012 wurden mit aktuellen Geräten (iPhone 4 + 5, iPad 2, Samsung Galaxy S + S3 + Tablet) über 200 E-Commerce-Sites getestet. Die Fragestellung lautet dabei hauptsächlich, wie die Performance  über eine Mobilfunkverbindungen ist.  &lt;/p&gt;
&lt;p&gt;Einige Erkenntnisse sind beispielsweise:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Die durchschnittliche Ladezeit über 3G beträgt etwas über 11 Sekunden (während die meisten Nutzer eigentlich 4 Sekunden Ladezeit erwarten)&lt;/li&gt;
&lt;li&gt;LTE ist in der Praxis lediglich 30% schneller (und nicht 10x schneller, wie es vermarktet wird)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Darüber sind noch einige Statistiken enthalten, die über die reine Performance hinausgehen (z.B. wie viele Websites sind nicht mobile-optimiert? Wo werden Tablets hingeleitet? etc.).&lt;/p&gt;
&lt;p&gt;&lt;span id="more-579"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Tablets: Mobile Website oder „normale” Website?&lt;/h3&gt;
&lt;p&gt;Interessant finde ich z.B.: Ausnahmlos alle getesteten Websites führten ihre Besucher mit dem &lt;em&gt;iPad&lt;/em&gt; auf die normale Website. Dies entspricht auch der landläufigen Meinung, dass ein Tabletnutzer das vollen Angebot genießen möchte.&lt;/p&gt;
&lt;p&gt;Bei Android Tablet wurden nur 66% auf die reguläre Website geleitet, die restlichen 34% auf die mobile Website. Meiner Erachtens könnte dies auch daran liegen, dass aufgrund der geringen Anzahl an Android-Tablets die Android-Smartphone-Erkennung hier versehentlich zuschlägt (Anmerkung: Hier hatte ich beschrieben, wie man &lt;a href="/blog/wichtigsten-user-agents-mobile-devices-jquery-mobile"&gt;Android-Tablets und -Smartphones erkennen kann&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/10/Mobile-State-of-the-Union-Poster.jpg" alt="" title="Mobile Website Performance" width="300"  class="alignnone size-full wp-image-585" /&gt;&lt;/p&gt;
&lt;p&gt;Link: &lt;a href="http://www.strangeloopnetworks.com/resources/infographics/2012-state-of-mobile-ecommerce-performance/poster/"&gt;How fast do sites really load for mobile user?&lt;/a&gt;&lt;br /&gt;
Link: &lt;a href="http://www.strangeloopnetworks.com/resources/research/state-of-mobile-ecommerce-performance/"&gt;State of mobile e-commerce performance&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/LFcnpHppklg" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/mobile-websites-performance-ladezeiten</feedburner:origLink></item>

		<item>
		<title><![CDATA[Android: Remote Debugging mit Chrome]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/HCA8EW6edtA/android-remote-web-debugging-chrome</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/android-remote-web-debugging-chrome</guid>
		<pubDate>Mon, 08 Oct 2012 22:20:36 +0200</pubDate>
		<description>&lt;p class="intro"&gt;Nach dem Artikel über &lt;a href="http://html5-mobile.de/blog/ios6-remote-debugging-web-inspector"&gt;Remote Debugging in iOS6&lt;/a&gt; folgt eine kurze Anleitung, wie man ein solches Remote Debugging auch auf einem Android-Gerät durchführen kann.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-564"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Device vorbereiten&lt;/h2&gt;
&lt;p&gt;Als Basis dient ein Android-Smartphone mit Android 4 (Ice Cream Sandwich). &lt;/p&gt;
&lt;p&gt;Zuerst muss man auf dem Android-Gerät die Option „Einstellungen &amp;gt; Entwickler-Optionen &amp;gt; USB-Debugging” aktivieren. Anschließend hängt man das Gerät per USB-Kabel an den Rechner.&lt;/p&gt;
&lt;h2&gt;Chrome&lt;/h2&gt;
&lt;p&gt;Man lädt &lt;em&gt;Chrome&lt;/em&gt; aus dem &lt;em&gt;Google Play Store, &lt;/em&gt;startet den Browser und aktiviert innerhalb des Programms den Menüpunkt „Einstellungen &amp;gt; Entwickler-Tools &amp;gt; Web-Debugging via USB aktivieren”.&lt;/p&gt;
&lt;h2&gt;Android SDK&lt;/h2&gt;
&lt;p&gt;Zuletzt ist noch das &lt;a href="http://developer.android.com/sdk/index.html"&gt;Android-SDK&lt;/a&gt; erforderlich. Nach dem Herunterladen muss man zuerst die Anwendung &lt;em&gt;tools/android&lt;/em&gt; starten. Sie dient dazu, weitere Bestandteile nachzuladen. Für das Remote Debugging benötigt man die &lt;em&gt;Android SDK Platform-tools&lt;/em&gt; (siehe Screenshot).&lt;/p&gt;
&lt;figure&gt;&lt;img src="/wp-content/uploads/2012/10/android-chrome-remote-debugging.jpg" alt="Android SDK for Remote Debugging" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Installation des Android SDKs&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Nach deren erfolgreicher Installation, enthält man einen neuen Ordner &lt;code&gt;platform-tools&lt;/code&gt; mit der Anwendung &lt;code&gt;adb&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Sicherheitshalber kann man mit &lt;code&gt;adb devices&lt;/code&gt; prüfen, ob das Device korrekt erkannt wird (siehe Screenshot). Wenn ja, aktiviert man das Port-Forwarding über folgenden Befehl: &lt;code&gt;adb forward tcp:9222 localabstract:chrome_devtools_remote&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Remote Debugging Session starten&lt;/h2&gt;
&lt;p&gt;Nach den Vorbereitungen kann man nun los legen: Die Desktop-Version von Chrome starten und die URL &lt;code&gt;localhost:9222&lt;/code&gt; eingeben. Et voilà: Man sieht die Tabs von der mobilen Chrome-Version und kann über den &lt;em&gt;Web Inspector&lt;/em&gt; die Inhalte vom Rechner debuggen.&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/10/remote-debugging-chrome-website.jpg" alt="Website Remote Debugging" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Remote Debugging einer Website mit Chrome (Android)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Link: &lt;a href="https://developers.google.com/chrome/mobile/docs/debugging"&gt;Remote Debugging&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/HCA8EW6edtA" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/android-remote-web-debugging-chrome</feedburner:origLink></item>

		<item>
		<title><![CDATA[Neu in iOS6: Image-Sets]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/rbN6UBdWL20/image-sets-retina-display-ios6</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/image-sets-retina-display-ios6</guid>
		<pubDate>Sat, 29 Sep 2012 13:00:12 +0200</pubDate>
		<description>&lt;p class="intro"&gt;Ich hatte bereits erklärt, wie man &lt;a href="/blog/website-bilder-fur-das-retina-display-optimieren"&gt;Bilder für das Retina-Display optimiert&lt;/a&gt;. Neu in iOS6 ist eine vereinfachte Syntax, um die Bilder in unterschiedlichen Auflösungen anzugeben.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-530"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Mit der in iOS6 verwendeten Webkit-Version sind erstmals &lt;em&gt;Image-Sets&lt;/em&gt; möglich. Dies bedeutet, man kann mehrere Bilder angeben und der Browser entscheidet, welches er laden und anzeigen möchte. &lt;/p&gt;
&lt;p&gt;Beispiel:&lt;br /&gt;
&lt;code&gt;background-image:&lt;br /&gt;
-webkit-image-set( url(cloud-sd.png) 1x, url(cloud-hd.png) 2x)&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;„1x” bedeutet, dass das Bild für ein normales Display gilt, während „2x” für ein hochauflösendes Display steht (das &lt;a href="/blog/retina-display-pixel-iphone-ipad-macbook"&gt;Retina-Display hat bekanntlich die doppelte Auflösung&lt;/a&gt;).&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/09/image-set-retina-display-chrome-ios6.jpg" alt="Image-Set auf einem Retina-Display (iOS6, Chrome)" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Image-Set: Normales Bild (links) und hochauflösendes Bild (rechts) im Chrome-Browser, iOS6&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Neue Syntax als Alternative zu Media Queries&lt;/h2&gt;
&lt;p&gt;Die neue Syntax kann somit als Alternative zu den &lt;em&gt;Media Queries&lt;/em&gt; verwendet werden (siehe in der Einleitung verlinkter Artikel). Der Vorteil: Die neue Syntax ist wesentlich kompakter, leichter zu lesen und alle Infos stehen an einer Stelle im CSS.&lt;/p&gt;
&lt;p&gt;Die &lt;em&gt;Image-Sets&lt;/em&gt; funktionieren jedoch nur für Hintergrund-Bilder, nicht für &lt;code&gt;img&lt;/code&gt;-Elemente.&lt;/p&gt;
&lt;p&gt;Zukünftig könnte man sich vorstellen, dass die Browser die Angaben nicht nur hinsichtlich des Displays auswerten, sondern z.B. auch die aktuelle Internetverbindungen berücksichtigen (und so z.B. trotz Retina-Display bei einer Edge-Verbindung das normale Bild laden). &lt;/p&gt;
&lt;h3&gt;Voraussetzung für Image-Sets&lt;/h3&gt;
&lt;p&gt;Die &lt;em&gt;Image-Sets&lt;/em&gt; funktionieren zurzeit auf jeden Fall in &lt;em&gt;Mobile Safari&lt;/em&gt; und &lt;em&gt;Chrome&lt;/em&gt; auf iOS6. Ob es auch auf einem Macbook mit Retina-Display funktioniert, kann ich leider nicht sagen.&lt;/p&gt;
&lt;h2&gt;Beispiel-Code für Image-Set&lt;/h2&gt;
&lt;p&gt;Hier ein konkretes &lt;a href="/wp-content/uploads/2012/03/retina/retina-demo-ios6.html" title="Retina iOS 6 Demo"&gt;Beispiel&lt;/a&gt;, dass die neue Syntax in Aktion zeigt. Über CSS wird einem &lt;code&gt;div&lt;/code&gt; ein &lt;em&gt;Image-Set&lt;/em&gt; zugewiesen. Kennt ein Browser keine &lt;em&gt;Image-Sets&lt;/em&gt;, so greift nur die erste Zeile.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;background: url(cloud-sd.png);&lt;br /&gt;
background-image: -webkit-image-set(url(cloud-sd.png) 1x, url(cloud-hd.png) 2x);&lt;/code&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/rbN6UBdWL20" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/image-sets-retina-display-ios6</feedburner:origLink></item>

		<item>
		<title><![CDATA[Adobe Edge Web Fonts: Über 500 kostenlose Schriften]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/0KZCDdkReqs/free-web-fonts-500-kostenlose-schriften</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/free-web-fonts-500-kostenlose-schriften</guid>
		<pubDate>Tue, 25 Sep 2012 22:18:45 +0200</pubDate>
		<description>&lt;p class="intro"&gt;Mit &lt;em&gt;Adobe Edge Web Fonts&lt;/em&gt; startet Adobe einen neuen kostenloses Webfonts-Service.&lt;/p&gt;
&lt;figure&gt;&lt;img src="/wp-content/uploads/2012/09/adobe-free-webfonts.jpg" alt="Adobe Webfonts" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Neues Mitglied in der Adobe-Familie: Der Webfont-Dienst &lt;em&gt;Adobe Edge Web Fonts&lt;/em&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;span id="more-520"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Im Zug der Vorstellung der Edge-Produktfamilie hat Adobe bekannt gegeben, dass auch ein kostenloser Service für Webschriften Teil dessen ist: &lt;em&gt;Adobe Edge Web Fonts&lt;/em&gt;. Die Lösung bietet über 500 kostenlose Schriften, die auf einfache Weise in die eigene Website eingebunden werden können. &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Edge Web Fonts features hundreds of web fonts, including a sampling of fonts from the Adobe library as well as a large collection of open source fonts. Under the hood, the service is powered by Typekit&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Hier zeigen sich also die ersten Ergebnisse der Acquise von &lt;em&gt;Typekit&lt;/em&gt;, die von Adobe im Oktober 2011 übernommen wurden. Somit kann man sich auch sicher sein, dass hier die gewünschte Performanz und Stabilität gewährleistet ist.&lt;/p&gt;
&lt;p&gt;Die entsprechende Code-Beispiel zur Einbindung werden mitgeliefert. &lt;/p&gt;
&lt;p&gt;Link: &lt;a href="http://html.adobe.com/edge/webfonts/"&gt;html.adobe.com/edge/webfonts/&lt;/a&gt;&lt;br /&gt;
Link: &lt;a href="http://www.edgefonts.com"&gt;www.edgefonts.com&lt;/a&gt;&lt;br /&gt;
Link: &lt;a href="http://blog.typekit.com/2012/09/24/introducing-adobe-edge-web-fonts/"&gt;Introducing Adobe Edge Web Fonts&lt;/a&gt; (Typekit)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/0KZCDdkReqs" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/free-web-fonts-500-kostenlose-schriften</feedburner:origLink></item>

		<item>
		<title><![CDATA[iOS6: Remote Debugging]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/Cer6sz3p_kI/ios6-remote-debugging-web-inspector</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/ios6-remote-debugging-web-inspector</guid>
		<pubDate>Sun, 23 Sep 2012 23:13:06 +0200</pubDate>
		<description>&lt;p class="intro"&gt;Mit dem kürzlich erschienen iOS6 wurde endlich eine vernünftige Remote-Debugging-Lösung geschaffen, um eine Website zur Laufzeit zu untersuchen (wie von Firebug oder Web-Inspector auf dem Desktop gewohnt).&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/09/ios6-remote-debugging-safari.jpg" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Remote Debugging: Der Web Inspector auf dem Rechner zeigt die Inhalte von Mobile Safari&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;span id="more-492"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Wie funktioniert das Remote-Debugging für iOS-Devices?&lt;/h2&gt;
&lt;p&gt;Ganz einfach: Man kann eine Website und deren Zustand auf dem mobilen Device untersuchen und ggf. auch manipulieren. Dazu wird der &lt;em&gt;Web Inspector&lt;/em&gt; verwendet, der jedoch auf der Desktop-Version von Safari läuft. Man verknüpft ihn mit dem gewünschten Browserfenster auf dem iPhone, woraufhin die Inhalte der auf dem mobilen Device laufenden Website angezeigt werden. Deshalb auch &lt;em&gt;Remote Debugging&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Bis iOS5 stand lediglich ein sehr einfache Konsole bereit, die jedoch keinerlei tiefergreifende Analysen ermöglichte. Da nun der &lt;em&gt;Web Inspector&lt;/em&gt; verwendet wird, stehen einem somit alle gängige Werkzeuge zur Verfügung (HTML-Code, JavaScript, Konsole, Netzwerk-Requests, etc), die auch in der Desktop-Entwicklung zum Zug kommen. &lt;/p&gt;
&lt;h2&gt;Anleitung: iOS Remote Debugging&lt;/h2&gt;
&lt;p&gt;Neben den aktuellen Version der Browser (Safari 6 Desktop bzw. iOS 6 auf dem iPhone) sind folgende Vorbereitungen zu treffen:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Device per USB mit dem Rechner verbinden.&lt;/li&gt;
&lt;li&gt;Desktop-Safari: Falls nicht bereits geschehen, das Entwickler-Menü aktivieren („Einstellungen &gt; Erweitert”).&lt;/li&gt;
&lt;li&gt;Auf dem iPhone die „Webinformationen” aktivieren (unter „Einstellungen &gt; Safari &gt; Erweitert”). Hinweis: Der Private-Modus von Mobile Safari darf nicht aktiviert sein.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/09/remote-debugging-einstellungen-iphone.jpg" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Menü auf dem iPhone, um das Remote Debugging zu aktivieren&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Nun ist alles soweit vorbereitet, dass man auf dem iPhone die zu untersuchende Website öffnen kann. Anschließend findet man im Entwickler-Menü des Desktop-Safaris das angeschlossene iPhone samt allen weiteren vorhandenen Tabs. Falls man mehrere ähnliche Tabs offen haben sollte, erkannt man den richtigen daran, dass bei Mouseover des Menüeintrags die Website auf dem iPhone blau markiert wird.&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/09/iphone-remote-debugging-entwickler-meu.jpg" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Die einzelnen Tabs des Devices (links) und Hervorhebung bei Mouseover des gerade geöffneten Tabs (rechts)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Das war&amp;#8217;s auch schon. Der &lt;em&gt;Web Inspector&lt;/em&gt; öffnet sich und lässt sich wie gewohnt bedienen &amp;mdash; mit dem Unterschied, dass das Frontend sich auf dem Device befindet. Selbst das Hervorheben von einzelnen HTML-Elemente beim Mouseover funktioniert.&lt;/p&gt;
&lt;p&gt;Fazit: Ein deutliche Verbesserung im Vergleich zur äußerst einfach Web-Konsole in iOS5, da man nun erstmals vollen Zugriff auf die gerade geöffnete Website hat.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/Cer6sz3p_kI" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/ios6-remote-debugging-web-inspector</feedburner:origLink></item>

		<item>
		<title><![CDATA[So geht’s: Neues Smart App Banner für iOS6 einbinden]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/xu-j2s8Nsg8/smart-app-banner-fuer-website</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/smart-app-banner-fuer-website</guid>
		<pubDate>Thu, 20 Sep 2012 21:06:24 +0200</pubDate>
		<description>&lt;p class="intro"&gt;Mit iOS6 führt Apple die &lt;em&gt;Smart App Banner&lt;/em&gt; ein. Im Folgenden der notwendige Quellcode, wie man dieses App-Werbebanner in die eigene (mobile) Website einbindet.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-469"&gt;&lt;/span&gt; &lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/09/smart-app-banner-ios6-safari.jpg" alt="" title="smart-app-banner-ios6-safari" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Das Smart App Banner erscheint am oberen Rand des Browsers und bewirbt die native App&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Die Funktionalität der &lt;em&gt;Smart App Banner&lt;/em&gt; ist einfach erklärt: Ein kleiner Meta-Tag im HTML-Code sorgt dafür, dass ein kleines Werbebanner von der mobilen Website auf eine vorhandene native App hinweist. Klickt man darauf, landet man im App Store.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;If the user doesn’t have your app on his device, tapping on the banner will take him to the app’s entry in the App Store. When he returns to your website, a progress bar appears in the banner, indicating how much longer the download will take to complete. When the app finishes downloading, the View button changes to an Open button, and tapping the banner will open the app while preserving the user’s context from your website.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Somit sind hoffentlich die Zeiten (zumindest auf iOS) vorbei, in denen man auf unterschiedlichste Weise (Fullscreen, Popup, Layer, etc.) auf die Apps hingewiesen wird &amp;mdash; stattdessen wird ein Banner eingeführt, dass nicht zu sehr dominiert und im Laufe der Zeit sicher aufgrund des einheitliches Erscheinungsbildes auf verschiedenen Websites vom User erkannt und als glaubwürdig eingeschätzt wird.&lt;/p&gt;
&lt;p&gt;Das Banner kann darüber hinaus nicht nur für eine App werben, sondern erkennt auch, ob diese bereits installiert ist. Wenn ja, ändert das Banner seinen Inhalt und zeigt einen „Öffnen”-Button. &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;If the app is already installed on a user&amp;#8217;s device, the banner intelligently changes its action, and tapping the banner will simply open the app.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/09/smart-app-banner-states.jpg" alt="" title="smart-app-banner-ios6-safari" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Verschieden Zustände des Smart App Banner: nicht installiert (links), App wird gerade heruntergeladen (Mitte), App installiert (rechts)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Generelle Voraussetzung für die &lt;em&gt;Smart App Banner&lt;/em&gt; ist, dass der Nutzer ein iOS6-Gerät verwendet.&lt;/p&gt;
&lt;h2&gt;Smart App Banner einbinden&lt;/h2&gt;
&lt;p&gt;Um das Banner zu erstellen, muss lediglich im HTML-Head eine Zeile eingefügt werden:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="code"&gt;&lt;pre class="html4strict" style="font-family:monospace;"&gt;&lt;span style="color: #00bbdd;"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;lt;&lt;span style="color: #000000; font-weight: bold;"&gt;html&lt;/span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #009900;"&gt;&amp;lt;&lt;span style="color: #000000; font-weight: bold;"&gt;head&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;lt;&lt;span style="color: #000000; font-weight: bold;"&gt;meta&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;apple-itunes-app&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;content&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;app-id=284882215&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;lt;&lt;span style="color: #66cc66;"&gt;/&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;head&lt;/span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #009900;"&gt;&amp;lt;&lt;span style="color: #000000; font-weight: bold;"&gt;body&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="color: #66cc66;"&gt;/&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;body&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Es gibt drei Parameter, die aneinandergehängt werden können (&lt;code&gt;app-id=..., app-argument=..&lt;/code&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;app-id&lt;/code&gt; (Pflichtangabe): 9-stellige App-ID aus dem App-Store. Diese lässt sich über den &lt;a href="http://itunes.apple.com/linkmaker/"&gt;Apple Link Maker&lt;/a&gt; herausfinden.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;affiliate-data&lt;/code&gt; (optional): Affiliate-Code für iTunes-Verkäufe&lt;/li&gt;
&lt;li&gt;&lt;code&gt;app-argument&lt;/code&gt; (optional): Übergabe von Informationen an die App (z.B. Sessionparameter, ein Navigationspfad, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Der letzte Parameter &lt;code&gt;app-argument&lt;/code&gt; bietet interessante Möglichkeiten und sorgt dafür, dass für dem Nutzer ein nahtloser Weg in die App geebnet wird (und er nicht zwangsläufig immer nur auf der Startseite der App landen muss). Die native App muss logischerweise angepasst werden und das übergebene Argument verarbeiten.&lt;/p&gt;
&lt;p&gt;Fazit: Die Integration ist dank des 1-Zeilers sehr einfach. Setzt man den HTML-Schnippsel z.B. in Verbindungen mit einem Content-Management-System oder serverseitiger Programmierung dynamisch ein, lassen sich auch fortgeschrittene Konzepte umsetzen. &lt;/p&gt;
&lt;p&gt;Link: &lt;a href="http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html"&gt;Promoting Apps with Smart App Banners&lt;/a&gt; (Apple Developer Documentation)&lt;br /&gt;
Beispiel 1: &lt;a href="http://html5-mobile.de/wp-content/uploads/2012/09/smart-app-banner-1.html"&gt;Smart App Banner für Facebook-App&lt;/a&gt; (dürfte die meisten installiert haben)&lt;br /&gt;
Beispiel 2: &lt;a href="http://html5-mobile.de/wp-content/uploads/2012/09/smart-app-banner-1.html"&gt;Smart App Banner für Kobo App&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/xu-j2s8Nsg8" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/smart-app-banner-fuer-website</feedburner:origLink></item>

		<item>
		<title><![CDATA[Retina-Display: HTML-Canvas optimieren]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/25A4Gi5fzyA/retina-display-html-canvas-optimieren</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/retina-display-html-canvas-optimieren</guid>
		<pubDate>Sat, 21 Jul 2012 15:49:08 +0200</pubDate>
		<description>&lt;p class="intro"&gt;Viele HTML-Elemente von mobilen Websites werden automatisch auf Geräten mit Retina-Display optimal dargestellt. Nicht jedoch das &lt;code&gt;canvas&lt;/code&gt;-Element.&lt;/p&gt;
&lt;p&gt;Das HTML-Element &lt;code&gt;canvas&lt;/code&gt; (vom engl. Wort für Leinwand) ist eine Fläche, auf der mit JavaScript gezeichnet werden. So werden beispielweise Grafiken, Linien, Kreise, Bèzierkurven oder Farbverläufe unterstützt. Wie auch &lt;a title="Scharfe Bilder fürs Retina-Display" href="/blog/website-bilder-fur-das-retina-display-optimieren"&gt;Website-Bilder (PNG, JPG) für das Retina-Display optimiert&lt;/a&gt; werden müssen, so ist dies auch für &lt;code&gt;canvas&lt;/code&gt;-Elemente auf iOS-Geräten erforderlich.&lt;/p&gt;
&lt;p&gt;Es folgt ein Überblick, wie man das &lt;code&gt;Canvas&lt;/code&gt;-Element für iOS optimiert — und dabei auch bereits die neuen MacBooks mit Retina-Display berücksichtigt.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-417"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Optimale Darstellung, wenn Canvas-Pixel = Device-Pixel&lt;/h3&gt;
&lt;p&gt;Wie bereits im Artikel &lt;a title="Artikel über Theorie zur Optimierung fürs Retina-Display" href="/blog/retina-display-pixel-iphone-ipad-macbook"&gt;Unterschiede zwischen CSS-, Bild- und Device-Pixel&lt;/a&gt; erklärt, ist es wichtig, dass die Bild- und Device-Pixel übereinstimmen. Man muss also dafür sorgen, dass die Größe des Canvas (= Bild-Pixel) mit dem Display übereinstimmt. Konkret bedeutet dies, dass  der Canvas z.B. statt 320x240px eine Auflösung von 640x480px besitzen muss, um scharf auszusehen.&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/07/canvas-retina-unterschiede.jpg" alt="" title="canvas-retina-unterschiede"  /&gt;&lt;br /&gt;
&lt;figcaption&gt;Unterschiede zwischen nicht-optimiertem Canvas (oben) und Optimierung.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3&gt;Unterschiede zwischen iOS und OS X&lt;/h3&gt;
&lt;p&gt;Ein wichtiger Unterschied zwischen iOS und Mac OS X liegt darin, dass OS X diese Pixelverdopplung des Canvas automatisch erledigt. Auf einem Desktop ist genügend Leistung vorhanden, so dass ohne jegliche Veränderung des Website-Codes automatisch alle Canvas-Elemente auf einem neuen Macbook mit Retina Display scharf sind.&lt;/p&gt;
&lt;p&gt;Auf mobilen Endgeräten soll der Website-Entwickler jedoch aus Performance-Gesichtpunkten selbst entscheiden können, ob er die Verdopplung der Auflösung (= 4-fache Anzahl an Pixeln) anbieten möchte oder nicht.&lt;/p&gt;
&lt;p&gt;Daraus ergibt sich folgende Aufgabe:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Herausfinden, ob es sich um ein Retina-Display handelt oder nicht.&lt;/li&gt;
&lt;li&gt;Herausfinden, ob es der Canvas bereits vom Betriebssystem verdoppelt wird oder nicht. Wenn ja, dann darf nichts mehr verdoppelt werden (sonst erhielte man die 4-fache Canvas-Größe). Wenn nein, muss die Canvas-Größe verdoppelt werden.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Canvas&lt;/h2&gt;
&lt;h3&gt;Retina-Display erkennen (&lt;code&gt;windows.devicePixelRatio&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;Als erstes stellt sich die Frage, woran erkennt mit die Devices mit hochauflösendem Bildschirm? Dies lässt sich in JavaScript über die Eigenschaft &lt;code&gt;windows.devicePixelRatio&lt;/code&gt; herausfinden.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;windows.devicePixelRatio == &lt;code&gt;1&lt;/code&gt; oder &lt;code&gt;undefined&lt;/code&gt; → normaler Screen&lt;/li&gt;
&lt;li&gt;windows.devicePixelRatio == &lt;code&gt;2&lt;/code&gt; → Retina-Display&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Automatische Pixel-Verdopplung bei Canvas erkennen (&lt;code&gt;context.webkitBackingStorePixelRatio&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;Im Anschluss muss geprüft werden, ob die Canvas-Pixel vom Betriebssystem bereits verdoppelt werden. Hier gibt es eine neue Eigenschaft (&lt;code&gt;var ctx = canvas.getContext('2d'); ctx.webkitBackingStorePixelRatio &lt;/code&gt;). &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;webkitBackingStorePixelRatio == &lt;code&gt;1&lt;/code&gt; oder &lt;code&gt;undefined&lt;/code&gt; → keine automatische Verdopplung der Canvas-Pixel (also iOS-Gerät)&lt;/li&gt;
&lt;li&gt;webkitBackingStorePixelRatio == &lt;code&gt;2&lt;/code&gt; → automatische Verdopplung der Pixel (also zwangsläufig OS X mit Retina-Display)&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img title="retina-macbook-devicepixelratio-backingstore" src="http://html5-mobile.de/wp-content/uploads/2012/07/retina-macbook-devicepixelratio-backingstore.png" alt="" /&gt;&lt;/p&gt;
&lt;figcaption&gt;&lt;code&gt;devicePixelRatio&lt;/code&gt; und &lt;code&gt;webkitBackingStorePixelRatio&lt;/code&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Beispiele&lt;/h2&gt;
&lt;p&gt;Das &lt;a href="/wp-content/uploads/2012/07/beispiel1.html"&gt;erste Beispiel&lt;/a&gt; dient zur Betrachtung auf einem iPhone mit Retina-Display. Es zeigt lediglich die Unterschiede, zwischen einem nicht-optimierten und einem optimierten Canvas-Element (Screenshot siehe oben).&lt;/p&gt;
&lt;p&gt;Wie man die beiden Erkennungen (Retina-Display und automatische Verdopplung) nun als generische Lösung implementieren kann, zeigt das &lt;a href="/wp-content/uploads/2012/07/beispiel2.html"&gt;zweite Beispiel&lt;/a&gt;. Auf diese Weise wird die Canvas-Verdopplung nur auf iOS-Geräten mit Retina-Display durchgeführt, auf anderen Geräten und Desktop-Rechner nicht.&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="code"&gt;&lt;pre class="js" style="font-family:monospace;"&gt;if (canvas.getContext) {
 var ctx = canvas.getContext('2d');
&amp;nbsp;
 var factor = 1;
&amp;nbsp;
 // retina display?
 var isRetina = (window.devicePixelRatio &amp;gt; 1);
&amp;nbsp;
 // iOS? (-&amp;gt; no auto double)
 var isIOS = ((ctx.webkitBackingStorePixelRatio &amp;lt; 2) || (ctx.webkitBackingStorePixelRatio == undefined));
&amp;nbsp;
 if (isRetina &amp;amp;&amp;amp; isIOS) {
  factor = 2;	
 }		
&amp;nbsp;
 canvas.setAttribute('width', 350*factor);
 canvas.setAttribute('height', 120*factor);
 ctx.scale(factor, factor);&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/25A4Gi5fzyA" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/retina-display-html-canvas-optimieren</feedburner:origLink></item>

		<item>
		<title><![CDATA[Retina-Display: Unterschiede zwischen CSS-, Bild- und Device-Pixel]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/P-HQUuB-s5A/retina-display-pixel-iphone-ipad-macbook</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/retina-display-pixel-iphone-ipad-macbook</guid>
		<pubDate>Wed, 11 Jul 2012 22:59:49 +0200</pubDate>
		<description>&lt;p class="intro"&gt;Dieser Beitrag erklärt die unterschiedlichen Pixelangaben, um eine optimale Darstellung auf den hochauflösenden Retina-Display zu erreichen.&lt;/p&gt;
&lt;p&gt;Im Artikel &lt;a href="/blog/website-bilder-fur-das-retina-display-optimieren"&gt;Website-Bilder für das Retina-Display optimieren&lt;/a&gt; hatte ich bereits zwei Methoden vorgestellt, wie die Bildqualität für iPhone, iPad und mittlerweile auch Macbook verbessert werden kann. Ergänzend hierzu noch einmal einige grundlegende Erklärungen.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-386"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Grundsätzlich ist es wichtig, die folgenden Pixelangaben zu verstehen und unterscheiden zu können:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CSS-Pixel:&lt;/strong&gt; Pixelgröße, in der das Bild dargestellt wird.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bild-Pixel:&lt;/strong&gt; Anzahl der Pixel, die ein Bild tatsächlich hat (z.B. 320&amp;#215;240). &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Device- bzw. Display-Pixel:&lt;/strong&gt; Tatsächliche Pixel des Device-Bildschirms, auf denen das Bild dargestellt wird&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Am einfachsten lässt sich dies an Beispielen erklären.&lt;/p&gt;
&lt;h3&gt;Beispiel 1: Der Normalfall&lt;/h3&gt;
&lt;p&gt;Man bindet eine Bitmap-Grafik (z.B. PNG oder JPEG) ganz gewöhnlich im HTML-Code ein: &lt;code&gt;&amp;lt;img src=&amp;quot;bild.jpg&amp;quot; width=&amp;quot;3&amp;quot; height=&amp;quot;1&amp;quot; /&amp;gt;&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;Man gibt als Größe also 3&amp;#215;1 Pixel an, da das Bild genau diese Maße hat. Somit entsprechen die Angaben zu HTML-/CSS-Pixel genau den Bild-Pixeln.&lt;/p&gt;
&lt;p&gt;Wird dieses Bild nun auf auf 3&amp;#215;1 Pixeln des Device-Displays abgebildet, ist die Darstellung optimal. Jede Information kann genau einem entsprechende Device-Pixel zugeordnet werden.&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/07/css-image-device-pixel-normal-screen.png" alt="" title="css-image-device-pixel-normal-screen" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Normaler Screen: Häufiger Fall, dass CSS-Pixel = Bild-Pixel = Device-Pixel&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3&gt;Beispiel 2: Retina Display&lt;/h3&gt;
&lt;p&gt;Der Unterschied beim hochauflösenden Retina-Display liegt darin, dass die Auflösung doppelt so hoch ist. Dies bedeutet, dass die Device-Pixel in diesem Beispiel bei 6&amp;#215;2 Pixel liegen.&lt;/p&gt;
&lt;p&gt;Hat das Bild weiterhin 3&amp;#215;1 Pixel, so wird die feinere Auflösung des Displays gar nicht genutzt. Es sind nicht genügend Bildinformationen vorhanden. Jeder Bildpixel  wird lediglich auf 4 Devicepixel verteilt, das Bild erscheint auf dem Retina-Display unscharf.&lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/07/css-image-device-pixel-retina-screen.png" alt="" title="css-image-device-pixel-retina-screen" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Bild mit normaler Größe (3&amp;#215;1) auf Retina-Display (6&amp;#215;2) erscheint unscharf&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3&gt;Beispiel 3: Retina-Display&lt;/h3&gt;
&lt;p&gt;Im dritten Beispiel besteht nun der Unterschied, dass die Bilddatei ebenfalls eine höhere Auflösung hat: 6&amp;#215;2 Pixel. Jetzt sind Bild-Pixel und Device-Pixel identisch, so dass das Bild optimal und scharf dargestellt wird. &lt;/p&gt;
&lt;p&gt;Man sieht außerdem, dass die CSS-Pixel also lediglich die dargestellte Fläche auf der Website definieren. &lt;/p&gt;
&lt;figure&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/07/css-image-device-pixel-retina-screen2.png" alt="" title="css-image-device-pixel-retina-screen2" /&gt;&lt;br /&gt;
&lt;figcaption&gt;Das Bild hat genügend Auflösung, um die Auflösung des Retina-Displays zu nutzen&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Somit ist zum einen festzuhalten, dass CSS-Pixel von Device-Pixeln abweichen können. Zum anderen ist wichtig, dass Bilder immer dann ideal dargestellt werden, wenn „Bild-Pixel = Device-Pixel&amp;#8221; gilt.&lt;/p&gt;
&lt;p&gt;Abschließend noch ein kurzer Hinweis zum Thema „DPI”: Durch die DPI-Angabe in Photoshop sollte man sich nicht irritieren lassen, da es sich lediglich um ein Meta-Datum handelt. Letztlich ist nur relevant, wie viele Pixel (=Bildinformationen) in einem Bild wirklich enthalten sind. Insofern kann man dies getrost bei den obigen Ausführungen gedanklich ausblenden.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/P-HQUuB-s5A" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/retina-display-pixel-iphone-ipad-macbook</feedburner:origLink></item>

		<item>
		<title><![CDATA[iOS 6: Upload von Bildern und Videos]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/BpcZEPNgzJo/upload-bilder-videos-ios-input-file</link>
		<guid isPermaLink="false">http://html5-mobile.de/blog/upload-bilder-videos-ios-input-file</guid>
		<pubDate>Sun, 08 Jul 2012 23:23:37 +0200</pubDate>
		<description>&lt;p&gt;&lt;img src="http://html5-mobile.de/wp-content/uploads/2012/07/ios6-bilder-video-upload-safari.jpg" alt="" title="ios6-bilder-video-upload-safari" /&gt;&lt;/p&gt;
&lt;p class="intro"&gt;Mit iOS 6 wird endlich das Hochladen von Bildern und Videos unterstützt.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-368"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Bislang war es nicht möglich, auf iPhone oder iPad mit dem Browser Medieninhalte über ein Formular hochzuladen (&lt;code&gt;&amp;lt;input type=&amp;quot;file&amp;quot; ....&lt;/code&gt;). Dies wird sich mit iOS 6 ändern: Der Button zur Dateiauswahl ist nicht mehr wie bisher ausgegraut, sondern kann geklickt werden. Er dient allerdings ausschließlich für den Upload von Bildern und Videos.&lt;/p&gt;
&lt;p&gt;Der Dialog beginnt mit „Take photo or video” oder „Choose Existing” &amp;mdash; man kann also direkt ein Bild oder Video erstellen oder aus der &lt;em&gt;Camera Roll&lt;/em&gt; aus bereits vorhandenen Bildern und Videos auswählen.&lt;/p&gt;
&lt;p&gt;Diese kleine Verbesserung dürfte sich als äußerst nützlich erwiesen. &lt;/p&gt;
&lt;p&gt;Der nächste Schritt &amp;mdash; der unmittelbare Zugriff auf die Kamera und deren Bilddaten &amp;mdash; lässt leider noch auf sich warten, da dies weiterhin nur nativen Apps vorbehalten ist. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/BpcZEPNgzJo" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://html5-mobile.de/blog/upload-bilder-videos-ios-input-file</feedburner:origLink></item>

		<item>
		<title><![CDATA[Flash CS6: Flashprojekt als HTML exportieren]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/id0xliUq3Ko/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/flash-html-export/</guid>
		<pubDate>Fri, 11 May 2012 20:06:18 +0200</pubDate>
		<description>Seit einigen Tagen gibt es die neue Version Flash CS6. Adobe selbst hebt dieses Mal recht wenige Neuerung hervor, u.a.: HTML-Export (CreateJS-Framework) Stage 3D-API und Starling-Framework 2D-Inhalte AIR-Anwendungen inklusive der Runtime (Captive Runtime) Simulation von AIR-Apps auf mobilen Endgeräten Spannend ist auf jeden Fall der HTML-Export von Flashprojekten, da damit zum ersten Mal ein gängiges [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/id0xliUq3Ko" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/flash-html-export/</feedburner:origLink></item>

		<item>
		<title><![CDATA[Google+: Datenschutzkonformer Link zum Teilen von Inhalten]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/l03j4AvBgqY/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/google-plus-teilen-url-und-share-link/</guid>
		<pubDate>Wed, 25 Apr 2012 21:53:03 +0200</pubDate>
		<description>Google bietet jetzt endlich die Möglichkeit, das Teilen von Inhalten über einen einfachen URL-Aufruf anzustoßen. Bisher war die Share-Funktionalität lediglich über den +1-Button möglich, der jedoch die Einbindung eines JavaScripts von Google-Servern erforderlich machte &amp;#8212; dies ist jedoch aus Datenschutz-Sicht bedenklich. Das Teilen auf Google+ mittels des neuen Share-Links stellt hier eine unbedenkliche Alternative dar, [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/l03j4AvBgqY" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/google-plus-teilen-url-und-share-link/</feedburner:origLink></item>

		<item>
		<title><![CDATA[Neuer Blog html5-mobile.de]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/55uyLTTj9T4/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/neuer-blog-html5-mobile-de/</guid>
		<pubDate>Sun, 25 Mar 2012 13:34:21 +0200</pubDate>
		<description>Ich möchte kurz auf meinen neuen Blog hinweisen: html5-mobile.de. Der Schwerpunkt liegt wie unschwer zu erkennen auf mobilen Web-Themen. Insgesamt ist die Seite noch im (technischen) Aufbau. Interessante Inhalte sind aber bereits publiziert &amp;#8212; und auf die kommt es ja an: Website-Bilder für das Retina Display optimieren Mobile Devices: Viewport richtig einstellen Googles Android-Font: Kostenlose [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/55uyLTTj9T4" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/neuer-blog-html5-mobile-de/</feedburner:origLink></item>

		<item>
		<title><![CDATA[Swipe JS: Leichtgewichter Slider für Touch-Devices]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/8EYNXBsRDlA/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/mobile-swipe-slider/</guid>
		<pubDate>Sat, 18 Feb 2012 12:08:06 +0100</pubDate>
		<description>Swipe JS ist ein leichtgewichtiges Slider-Skript, das den aus nativen Apps gewohnten Slide-Effekt beim „Swipen” nachahmt. Per Wische-Geste kann man so z.B. zwischen mehreren Bildern navigieren, wobei das Bild quasi am Finger „klebt”. Das Skript hat keine Abhängigkeiten zu anderen JavaScript-Bibliotheken. Swipe is a lightweight mobile slider with 1:1 touch movement. 1:1 touch movement is [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/8EYNXBsRDlA" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/mobile-swipe-slider/</feedburner:origLink></item>

		<item>
		<title><![CDATA[Firefox 10 mit Entwickler-Tools]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/-0YvZPdQ4Tc/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/firefox-10-entwickler-tools/</guid>
		<pubDate>Thu, 09 Feb 2012 00:15:00 +0100</pubDate>
		<description>Firefox hat in Version 10 ein Set an integrierten Entwickler-Tools spendiert bekommen. Enthalten sind im Wesentlichen die gängigen Funktionen, die man vom Firefox-Add-on Firebug oder dem Web Inspector der Webkit-basierten Browser kennt. With Page Inspector, developers can peek into a page’s structure and layout without having to leave Firefox. […] Style Inspector makes editing the [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/-0YvZPdQ4Tc" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/firefox-10-entwickler-tools/</feedburner:origLink></item>

		<item>
		<title><![CDATA[Kostenloses PlayBook bei App-Einreichung bis 13. Februar]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/c2KZKAZ5Ttw/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/gratis-blackberry-playbook-bei-app-einreichung/</guid>
		<pubDate>Sun, 05 Feb 2012 11:01:43 +0100</pubDate>
		<description>Kurz und knapp: Wer bis zum 13. Februar eine App in BlackBerry Store (BlackBerry App Worlds) einreicht, bekommt ein gratis BlackBerry PlayBook. Ursprünglich war diese Aktion gedacht, um die Möglichkeit zu bewerben, dass man als Entwickler nun auch Android-Apps sehr einfach auf das PlayBook portieren kann. Mittlerweile wurde die Aktion kurzfristig jedoch auch für die [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/c2KZKAZ5Ttw" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/gratis-blackberry-playbook-bei-app-einreichung/</feedburner:origLink></item>

		<item>
		<title><![CDATA[Twitter Bootstrap 2.0 erschienen]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/EU_Rgb4Znyw/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/twitter-bootstrap-2-0-erschienen/</guid>
		<pubDate>Thu, 02 Feb 2012 20:47:32 +0100</pubDate>
		<description>Im August 2011 hatte ich hier im Blog die erste Version von Twitter vorgestellt, einem HTML-/CSS-Framework, das ich übrigens auch für mein Projekt embed-swf.org verwendet habe. Nun ist die zweite Version des empfehlenswerten HTML-/CSS-Frameworks erschienen. Twitter gibt unter anderem folgende Verbesserung an: Completely overhauled documentation for nearly every component A brand new Customize page to [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/EU_Rgb4Znyw" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/twitter-bootstrap-2-0-erschienen/</feedburner:origLink></item>

		<item>
		<title><![CDATA[HTML5: „Cut the rope” als Browserspiel]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/CPvy-V13VbE/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/html5-cut-the-rope-browsergame/</guid>
		<pubDate>Tue, 10 Jan 2012 20:15:16 +0100</pubDate>
		<description>Das bekannte Casual Game „Cut the rope” wurde jetzt als HTML5-Browsergame veröffentlicht. Knapp 15.000 Zeilen JavaScript-Code zeigen, was mittlerweile in aktuellen Browser an Multimedialität und Interaktivität auf HTML-Basis möglich ist. Der interessante Hintergrundbericht „Behind the Scenes” gibt ergänzend dazu einen Einblick über die Portierung des Codes von Objective C nach JavaScript und die Performancebetrachtungen. Ein [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/CPvy-V13VbE" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/html5-cut-the-rope-browsergame/</feedburner:origLink></item>

		<item>
		<title><![CDATA[Vektorgrafiken aus Illustrator in HTML5-Canvas exportieren]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/uBLVGn0OwSY/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/ai-illustrator-html5-canvas-export/</guid>
		<pubDate>Sat, 07 Jan 2012 00:47:39 +0100</pubDate>
		<description>Seit einiger Zeit gibt es ein Plug-In für Adobe Illustrator, um Vektorgrafiken in Richtung HTML5 zu exportieren. Das kostenlose „Ai-&gt;Canvas Plug-in” wandelt eine Illustratordatei in HTML-/JavaScript-Code um, der die Inhalte in ein HTML5-Canvas-Element zeichnet. Dies funktioniert nicht nur mit einfachen Grafiken, sondern auch mit komplexen Gestaltungen sehr gut. The Ai-&gt;Canvas plug-in enables Adobe Illustrator to [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/uBLVGn0OwSY" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/ai-illustrator-html5-canvas-export/</feedburner:origLink></item>

		<item>
		<title><![CDATA[HTML5: Eigene data-Attribute verwenden (data-*)]]></title>
		<link>http://feedproxy.google.com/~r/video-flash/~3/x5xz2w2WnFA/</link>
		<guid isPermaLink="false">http://www.video-flash.de/index/html5-custom-data-attributes/</guid>
		<pubDate>Sat, 17 Dec 2011 17:59:23 +0100</pubDate>
		<description>Ein neues Feature von HTML5 sind frei wählbare data-Attribute für HTML-Elemente, die sogenannten „Custom Data Attributes”. Die Idee ist dahinter ganz einfach: Man möchte eigene Daten an einem HTML-Element abspeichern, für die es kein vorgefertigtes Attribut gibt und die auch nicht direkt im Frontend zu sehen sein sollen. Insgesamt ein sehr nützliches Features, das im [...]&lt;img src="http://feeds.feedburner.com/~r/video-flash/~4/x5xz2w2WnFA" height="1" width="1"/&gt;</description>
		<feedburner:origLink>http://www.video-flash.de/index/html5-custom-data-attributes/</feedburner:origLink></item>
</channel>

</rss>
