<?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>Fabian Pimminger &#187; Web Development</title>
	<atom:link href="http://www.fabianpimminger.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fabianpimminger.com</link>
	<description>Web, Gadgets, Trends, Social Networking &#38; Development</description>
	<lastBuildDate>Fri, 10 Sep 2010 07:53:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Safari Extension: Google Reader Styles</title>
		<link>http://www.fabianpimminger.com/web-development/safari-extension-google-reader-styles/</link>
		<comments>http://www.fabianpimminger.com/web-development/safari-extension-google-reader-styles/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 09:50:45 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[google reader]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=2271</guid>
		<description><![CDATA[

Today, Apple has introduced the brand new Safari 5 at the Worldwide Developer Conference (WWDC) in San Francisco. Besides a further massive performance increase, one of the main new features is the ability to create and install extensions for Apple&#8217;s browser. Extensions are basically collections of HTML, CSS and Javascript files that extend Safari&#8217;s features [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Today, Apple has introduced the brand new <a href="http://www.apple.com/safari/">Safari 5</a> at the <strong>Worldwide Developer Conference</strong> (WWDC) in San Francisco. Besides a further massive performance increase, one of the main new features is the ability to create and install <strong>extensions</strong> for Apple&#8217;s browser. Extensions are basically collections of HTML, CSS and Javascript files that extend Safari&#8217;s features through a special Extension API.</p>
<p>After an hour of digging through the <a href="http://developer.apple.com/safari/library/documentation/Tools/Conceptual/SafariExtensionGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009977-CH1-SW1">documentation</a>, I&#8217;m able to show you my first extension for Safari: <strong>Google Reader Styles</strong> lets you <strong>change the theme of Google Reader</strong> without installing <a href="http://8-p.info/greasekit/">GreaseKit</a> or any other <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a>-Plugin. Currently there are only two styles (<a href="http://helvetireader.com/">Helvetireader</a> and the <a href="http://userstyles.org/styles/16900">Mac OS X Snow Leopard</a>) available &#8211; with more to come in the next few days. The different styles can be selected in the Safari Preferences.</p>
<p><img class="alignnone size-large wp-image-2272" title="style0" src="http://www.fabianpimminger.com/wp-content/uploads/2010/06/style0-468x352.jpg" alt="" width="468" height="352" /></p>
<h3>Helvetireader:</h3>
<p><img class="alignnone size-large wp-image-2273" title="style1" src="http://www.fabianpimminger.com/wp-content/uploads/2010/06/style1-468x300.jpg" alt="" width="468" height="300" /></p>
<h3>Mac OS X Snow Leopard:</h3>
<p><img class="alignnone size-large wp-image-2274" title="style2" src="http://www.fabianpimminger.com/wp-content/uploads/2010/06/style2-468x300.jpg" alt="" width="468" height="300" /></p>
<h3>UPDATE v1.1 &#8211; 2010/06/10</h3>
<ul>
<li>Added support for .de/.co.uk/.nl/.ch/.at/.fr/.it/.es/.ca/.com.au domains</li>
<li>Added support for https</li>
<li>Added two new styles (<a href="http://ismaelsobek.com/lucidica/">Lucidica</a>, <a href="http://userstyles.org/styles/17120">Simple and Clean</a>)</li>
</ul>
<h3>UPDATE v1.2.1 &#8211; 2010/06/11</h3>
<ul>
<li>Added a &#8220;Change Style&#8221; function at the bottom left of Google Reader, directly below &#8220;Manage Subscriptions&#8221;</li>
<li>Added two new styles (<a href="http://userstyles.org/styles/26919">Minimalistic X</a>, <a href="http://userstyles.org/styles/31383">Pretty White</a>)</li>
<li>Added support for .ru domain</li>
</ul>
<p><img class="alignnone size-full wp-image-2297" title="Google Reader (2)" src="http://www.fabianpimminger.com/wp-content/uploads/2010/06/Google-Reader-2.jpg" alt="" width="297" height="174" /></p>
<h3>UPDATE v1.2.2 &#8211; 2010/06/23</h3>
<ul>
<li>Fixed support for .ru domain</li>
<li>Added support for .mx domain</li>
</ul>
<p><strong>Download:</strong> <a href="http://www.fabianpimminger.com/safari_extensions/google_reader_styles/google_reader_styles.safariextz">Google Reader Styles</a></p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/safari-extension-google-reader-styles/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>DENIC-Nameserver nicht erreichbar</title>
		<link>http://www.fabianpimminger.com/web-development/denic-nameserver-nicht-erreichbar/</link>
		<comments>http://www.fabianpimminger.com/web-development/denic-nameserver-nicht-erreichbar/#comments</comments>
		<pubDate>Wed, 12 May 2010 12:40:06 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[de]]></category>
		<category><![CDATA[denic]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[nameservers]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=2186</guid>
		<description><![CDATA[

Wer gerade versucht eine deutsche (.de) Domain aufzurufen, wird mit größter Wahrscheinlichkeit nicht an sein gewünschtes Ziel geleitet sondern erhält eine plumpe Fehlermeldung, dass der Server nicht erreichbar ist.
Grund für dieses großflächige Problem, das die meisten (oder fast alle) .de-Domains unbrauchbar macht, ist ein Ausfall von 4 der 6 Nameserver bei DENIC, der zentralen Registrierungsstelle [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Wer gerade versucht eine deutsche (.de) Domain aufzurufen, wird mit größter Wahrscheinlichkeit nicht an sein gewünschtes Ziel geleitet sondern erhält eine plumpe Fehlermeldung, dass der Server nicht erreichbar ist.</p>
<p>Grund für dieses großflächige Problem, das die meisten (oder fast alle) .de-Domains unbrauchbar macht, ist ein Ausfall von 4 der 6 Nameserver bei DENIC, der zentralen Registrierungsstelle von .de-Domains. Hoffen wir, dass die DNS-Probleme bald behoben sind &#8211; DENIC arbeitet angeblich schon mit Hochdruck daran. Aktuelle Meldungen und den Fortschritt bekommt man derzeit wohl am besten über <a href="http://search.twitter.com/search?q=denic">Twitter</a>, wo die relevanten Tweets sekündlich eintreffen.</p>
<p><strong>UPDATE (15:00):</strong></p>
<p>Es sind angeblich alle Nameserver ausgefallen, nicht nur vier! Hier eine offizielle Stellungnahme von DENIC:</p>
<blockquote><p>Liebe Kolleginnen und Kollegen,</p>
<p>derzeit kommt es zu einem Fehlverhalten bei einigen .de-Nameservern. Wir sind aktuell dabei das Problem zu qualifizieren und werden Euch mit Statusmeldungen weiter informieren.</p></blockquote>
<p><strong>UPDATE (15:10):</strong></p>
<p>Auf <a href="http://board.protecus.de/t39633.htm">Twitter</a> und in meinen Kommentaren (danke, <a href="http://www.georgholzer.at">Georg</a>) habe ich einen <strong>Tipp</strong> gefunden, wie man dem Problem zumindest vorübergehend aus dem Weg geht. Einfach die DNS-Server-Einstellungen im Betriebssystem auf Googles <a href="http://code.google.com/intl/de-DE/speed/public-dns/">Public DNS</a> (8.8.8.8 und 8.8.4.4) umstellen.</p>
<p><strong>UPDATE (15:30):</strong></p>
<p>Angeblich sind die Server wieder online. Bis sich alles normalisiert, dürfte aber noch ein bisschen Zeit vergehen.</p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/denic-nameserver-nicht-erreichbar/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to change the iPhone On-Screen-Keyboard in Web Apps</title>
		<link>http://www.fabianpimminger.com/web-development/how-to-change-the-iphone-on-screen-keyboard-in-web-apps/</link>
		<comments>http://www.fabianpimminger.com/web-development/how-to-change-the-iphone-on-screen-keyboard-in-web-apps/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 22:25:17 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=1965</guid>
		<description><![CDATA[

Nearly three years ago, when Apple introduced the iphone, so-called &#8220;Web Apps&#8221; were the only way to develop and publish self-made applications on Apple&#8217;s new and shiny gadget. With the announcement of the SDK and the launch of the App Store, developers started abandoning web applications and began flocking to native development. But this is [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Nearly three years ago, when Apple introduced the iphone, so-called &#8220;<a href="http://www.apple.com/webapps/">Web Apps</a>&#8221; were the only way to develop and publish self-made applications on Apple&#8217;s new and shiny gadget. With the announcement of the SDK and the launch of the App Store, developers started abandoning web applications and began flocking to native development. But this is not the end of web-based applications: Recently Google <a href="http://www.wired.com/gadgetlab/2009/07/google-app-store/">declared the end of mobile app stores</a> and with <a href="http://www.google.com/mobile/voice/">Google Voice</a>, <a href="http://www.google.com/mobile/buzz/">Buzz</a> and <a href="http://www.google.com/mobile/mail/">GMail</a>, the company started to port their entire <a href="http://www.google.com/mobile/">range of services</a> to the mobile web. Besides that, <a href="http://www.whatwg.org/specs/web-apps/current-work/">HTML5</a> provides the much-needed technologies (offline access, storage, location awareness) to really make web-based applications great and useful.</p>
<p><strong>On of the biggest problems</strong> developers are facing with mobile web applications is the <strong>user interface/experience</strong>. We have to reach the superior quality GUI of native applications together with all the conveniences they are offering to users. The majority of web sites for example are using the plain old on-screen-keyboard for every text input, no matter what characters will be entered. It isn&#8217;t really comfortable to enter an email-address when you have to change to the secondary keyboard to enter a &#8220;@&#8221;. Just the same as having to change it for entering numbers in an input element that is only ment to contain numbers anyway.</p>
<p><img class="alignnone size-full wp-image-1968" title="on_scree_keyboards" src="http://www.fabianpimminger.com/wp-content/uploads/2010/02/on_scree_keyboards.jpg" alt="" width="468" height="500" /></p>
<p>This is probably the most common user interface problem and it is also one of the easiest to fix. The <a href="http://www.whatwg.org/specs/web-apps/current-work/">HTML5 specification</a> contains an extension to the type attribute of input elements that is <strong>perfectly recognized by Mobile Safari</strong>. With just <a href="http://developer.apple.com/safari/library/codinghowtos/Mobile/UserExperience/index.html#GENERAL-CONTROL_WHICH_KEYBOARD_IS_DISPLAYED_WHEN_A_USER_TOUCHES_A_TEXT_FIELD">a little change</a>, you are able to make your web-based application more convenient to use. And by the way: Browsers that don&#8217;t understand the new type attributes will ignore it and keep displaying a normal input element.</p>
<p><strong>It is as simple as the following code snippet:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Text<span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text&quot;</span> <span style="color: #339933;">/&gt;</span> <span style="color: #339933;">&lt;!--</span> display a standard keyboard <span style="color: #339933;">--&gt;</span>
Telephone<span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;tel&quot;</span> <span style="color: #339933;">/&gt;</span> <span style="color: #339933;">&lt;!--</span> display a telephone keypad <span style="color: #339933;">--&gt;</span>
URL<span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;url&quot;</span> <span style="color: #339933;">/&gt;</span> <span style="color: #339933;">&lt;!--</span> display a URL keyboard <span style="color: #339933;">--&gt;</span>
Email<span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;email&quot;</span> <span style="color: #339933;">/&gt;</span> <span style="color: #339933;">&lt;!--</span> display an email keyboard <span style="color: #339933;">--&gt;</span>
Zip Code<span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text&quot;</span> pattern<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;[0-9]*&quot;</span> <span style="color: #339933;">/&gt;</span> <span style="color: #339933;">&lt;!--</span> display a numeric keyboard <span style="color: #339933;">--&gt;</span></pre></div></div>

<p>Just change to type attribute to either &#8220;tel&#8221;, &#8220;url&#8221; or &#8220;email&#8221;. Additionally you can alter use the new pattern attribute to only allow numbers. I&#8217;ve set up a demo page which can be accessed with every iPhone and iPod Touch. <strong>Please note, that this feature is only supported in iPhone OS 3.1 or newer</strong>.</p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/how-to-change-the-iphone-on-screen-keyboard-in-web-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracking User Behaviour with Google Analytics, Event Tracking and Mootools</title>
		<link>http://www.fabianpimminger.com/web-development/tracking-user-behaviour-with-google-analytics-event-tracking-and-mootools/</link>
		<comments>http://www.fabianpimminger.com/web-development/tracking-user-behaviour-with-google-analytics-event-tracking-and-mootools/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 15:11:53 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[behaviour]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[user tracking]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=1924</guid>
		<description><![CDATA[


While searching the web for a proper way to track user behaviour, I stumbled upon a very interesting blog post written by Brian Cray. He uses the &#8220;power&#8221; of Google Analytics&#8217; new Asynchronous Tracking to track all clicked links and get information about how the users behave on his site. This method gives you insights [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p><img class="alignnone size-full wp-image-1938" title="user_tracking" src="http://www.fabianpimminger.com/wp-content/uploads/2010/02/user_tracking.jpg" alt="" width="468" height="250" /></p>
<p>While searching the web for a proper way to track user behaviour, I stumbled upon a very interesting <a href="http://briancray.com/2009/12/29/understanding-user-behavior-google-analytics-event-tracking-jquery/#comments">blog post written by Brian Cray</a>. He uses the &#8220;power&#8221; of Google Analytics&#8217; new <a href="http://analytics.blogspot.com/2009/12/google-analytics-launches-asynchronous.html">Asynchronous Tracking</a> to track all clicked links and get information about how the users behave on his site. This method gives you insights about what elements of the site are really used and how the visitors are navigating through the content. <strong>Brian sums it up quite properly:</strong></p>
<blockquote><p><strong> I dare you to answer the following questions with your current Google Analytics setup:</strong></p>
<ul>
<li>Are your users using the main menu to navigate or do they use different means to find content?</li>
<li>Do your users scroll through your content and click links in the footer?</li>
<li>Do your users click on an article title or the “continue reading…” link?</li>
<li>Do your users actually go through the items in my dropdown menu, or are they</li>
<li>unaware of the dropdown menus?</li>
<li>Do your users follow your related blog entry suggestions?</li>
</ul>
</blockquote>
<p>As I&#8217;ve chosen <a href="http://mootools.net/">Mootools</a> as the Javascript-Framework for many of my websites, I couldn&#8217;t really copy and paste the code to the &lt;head&gt;-sections. I&#8217;ve not only rewritten the code-snippet to utilize Mootools instead of jQuery but also tweaked the functionality which results in better tracking.</p>
<p><strong>Just copy and paste this right under the code of google analytics:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">window.<span style="color: #660066;">addEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'domready'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	  	<span style="color: #003366; font-weight: bold;">var</span> element <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>event.<span style="color: #660066;">target</span> <span style="color: #339933;">||</span> event.<span style="color: #660066;">srcElement</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'tag'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			element <span style="color: #339933;">=</span> element.<span style="color: #660066;">getParent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a[href]'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
	  	<span style="color: #000066; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
	  		_gaq.<span style="color: #660066;">push</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'_trackEvent'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> element.<span style="color: #660066;">getParent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'[id]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'clicked'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'text'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">getFirst</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'img'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span>element.<span style="color: #660066;">getFirst</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'img'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alt'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>element.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> element.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	  	<span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>err<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	  	<span style="color: #009900;">&#125;</span>	  	
&nbsp;
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>For more information about how this works and asynchronous tracking in general, please <a href="http://briancray.com/2009/12/29/understanding-user-behavior-google-analytics-event-tracking-jquery/#comments">visit Brian&#8217;s blog</a>.</p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/tracking-user-behaviour-with-google-analytics-event-tracking-and-mootools/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Star Wars Anfangssequenz in HTML + CSS</title>
		<link>http://www.fabianpimminger.com/web-development/star-wars-anfangssequenz-in-html-css/</link>
		<comments>http://www.fabianpimminger.com/web-development/star-wars-anfangssequenz-in-html-css/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 21:07:13 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[star wars]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=1886</guid>
		<description><![CDATA[

In den letzten Monaten hat sich einiges getan im Bezug auf Web-Standards und Technologien. Beispielsweise wurde ein neuer Browser-Wettlauf rund um die HTML5-Spezifikationen entfacht und die Hersteller versuchen jeden noch so kleinen Geschwindigkeitsvorteil aus ihren Software herauszuholen. Was heutzutage mit &#8220;stinknormalen&#8221; Browsern möglich ist, zeigt Guillermo Esteves auf seinem Blog:
Er hat die berühmte Anfangssequenz von [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>In den letzten Monaten hat sich einiges getan im Bezug auf Web-Standards und Technologien. Beispielsweise wurde ein neuer Browser-Wettlauf rund um die HTML5-Spezifikationen entfacht und die Hersteller versuchen jeden noch so kleinen Geschwindigkeitsvorteil aus ihren Software herauszuholen. Was heutzutage mit &#8220;stinknormalen&#8221; Browsern möglich ist, zeigt Guillermo Esteves auf seinem <a href="http://blog.gesteves.com/post/261593774/im-done-star-wars-opening-crawl-using-only-html">Blog</a>:</p>
<p>Er hat die berühmte Anfangssequenz von Star Wars &#8211; den gelben Lauftext mit dem Weltall im Hintergrund &#8211; <a href="http://www.gesteves.com/experiments/starwars.html">komplett in HTML und CSS nachgebaut</a>. Leider funktioniert die Animation scheinbar derzeit nur mit Snow Leopard und dem Safari 4.0.4 sowie dem <a href="http://nightly.webkit.org/">WebKit nightly-Build</a>. Für alle Windows-User gibt&#8217;s jedoch netterweise ein <a href="http://www.youtube.com/watch?v=wTbioEQ_FcE">Video auf YouTube</a>.</p>
<p><object width="468" height="376"><param name="movie" value="http://www.youtube.com/v/wTbioEQ_FcE&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wTbioEQ_FcE&#038;fs=1" type="application/x-shockwave-flash" width="468" height="376" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/star-wars-anfangssequenz-in-html-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Browser Size</title>
		<link>http://www.fabianpimminger.com/web-development/google-browser-size/</link>
		<comments>http://www.fabianpimminger.com/web-development/google-browser-size/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 15:05:30 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[size]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=1757</guid>
		<description><![CDATA[

Es ist noch gar nicht so lange her, da musste man beim Web-Design noch auf die kleineren Auflösungen der CRT-Monitore Rücksicht nehmen. 800*600 Pixel war vor ein paar Jahren noch die Bildschirmauflösung von einem nicht zu vernachlässigenden Teil der Website-Besucher, der dementsprechend berücksichtigt werden musste. Ähnliche Probleme entstehen auch jetzt wieder, wenn man mit Netbooks [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-1759" title="google_browser_size" src="http://www.fabianpimminger.com/wp-content/uploads/2009/12/google_browser_size.png" alt="" width="150" height="55" />Es ist noch gar nicht so lange her, da musste man beim Web-Design noch auf die kleineren Auflösungen der <a href="http://de.wikipedia.org/wiki/Kathodenstrahlröhrenbildschirm">CRT-Monitore</a> Rücksicht nehmen. 800*600 Pixel war vor ein paar Jahren noch die Bildschirmauflösung von einem nicht zu vernachlässigenden Teil der Website-Besucher, der dementsprechend berücksichtigt werden musste. Ähnliche Probleme entstehen auch jetzt wieder, wenn man mit Netbooks und anderen mobilen Geräten mit geringer Bildschirmgröße auf das Internet zugreift.</p>
<p>Google hat jetzt ein brauchbares Tool <a href="http://googlecode.blogspot.com/2009/12/introducing-google-browser-size.html">herausgebracht</a>, dass einem Vieles erleichtern soll. Mit <a href="http://browsersize.googlelabs.com/">Browser Size</a> spürt man gezielt Usability-Probleme im Zusammenhang mit zu kleinen Auflösungen auf und kann seine Internetseiten entsprechend verändern. Über die eigentliche Website wird ein halbtransparentes Overlay gelegt, anhand dessen man anschließend leicht den prozentuell sichtbaren Bereich erkennen kann.</p>
<p><img class="alignnone size-large wp-image-1758" title="Bildschirmfoto 2009-12-20 um 15.42.30" src="http://www.fabianpimminger.com/wp-content/uploads/2009/12/Bildschirmfoto-2009-12-20-um-15.42.30-468x380.png" alt="" width="468" height="380" /></p>
<p>Bei wem also wiedermal ein Website-Redesign ansteht, der sollte sich das kleine Helferlein im Hinterkopf behalten &#8230;</p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/google-browser-size/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browser Ball verbindet mehrere Browserfenster</title>
		<link>http://www.fabianpimminger.com/web-development/browser-ball-verbindet-mehrere-browserfenster/</link>
		<comments>http://www.fabianpimminger.com/web-development/browser-ball-verbindet-mehrere-browserfenster/#comments</comments>
		<pubDate>Fri, 15 May 2009 12:10:53 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=1017</guid>
		<description><![CDATA[

Google hat bereits vor einiger Zeit mit Chrome Experiments eine Plattform für allerlei Javascript-Spielereien und Experimente ins Leben gerufen auf der es sich immer wieder einmal vorbeizuschauen lohnt. Da Googles Browser &#8211; genauso wie Apples Safari &#8211; die Webkit-Engine zu Grunde liegt, lassen sich die meisten Projekte auch mit anderen Browsern aufrufen. Auch mit dem [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Google hat bereits vor einiger Zeit mit <a href="http://www.chromeexperiments.com/">Chrome Experiments</a> eine Plattform für allerlei Javascript-Spielereien und Experimente ins Leben gerufen auf der es sich immer wieder einmal vorbeizuschauen lohnt. Da Googles Browser &#8211; genauso wie Apples Safari &#8211; die Webkit-Engine zu Grunde liegt, lassen sich die meisten Projekte auch mit anderen Browsern aufrufen. Auch mit dem Firefox kann man bei dem ein oder anderen Experiment ein Glück haben, immerhin werden nur offene Standards verwendet.</p>
<p>Besonders lustig finde ich <a href="http://experiments.instrum3nt.com/markmahoney/ball/">Browser Ball</a>, das beliebig viele Browserfenster zu einem großen Spielfeld zusammenfügt und man einen Ball über verschiedene Windows werfen kann. Schaut&#8217;s euch mal an &#8211; es ist beeindruckend!</p>
<p><img class="size-large wp-image-1018 alignnone" title="browser ball" src="http://www.fabianpimminger.com/wp-content/uploads/2009/05/bild-2-468x317.png" alt="bild-2" width="468" height="317" /></p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/browser-ball-verbindet-mehrere-browserfenster/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Espresso: Der Koffein-Boost für Webentwickler</title>
		<link>http://www.fabianpimminger.com/web-development/espresso-der-koffein-boost-fur-webentwickler/</link>
		<comments>http://www.fabianpimminger.com/web-development/espresso-der-koffein-boost-fur-webentwickler/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 17:09:31 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Programme]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[espresso]]></category>
		<category><![CDATA[programm]]></category>
		<category><![CDATA[web entwicklung]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=541</guid>
		<description><![CDATA[

Im offiziellen Entwicklerblog von Macrabbit, die sich auch für den ausgezeichneten CSS-Editor CSSEdit verantwortlich zeigen, wurde heute der Startschuss von Espresso 1.0 verkündet. Ganz im Stile von CSSEdit folgt auch der große Bruder den bekannten Grundregel der belgischen Entwickler:
&#8220;power editing, blazingly fast publishing, previewing and much more — all wrapped in a slick interface&#8221;

Eine wirklich hervorragende Idee [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-543" title="bannericon" src="http://www.fabianpimminger.com/wp-content/uploads/2009/03/bannericon.png" alt="bannericon" width="96" height="98" />Im offiziellen <a href="http://macrabbit.com/blog/introducing-htmledit-errr-espresso-10/">Entwicklerblog</a> von Macrabbit, die sich auch für den ausgezeichneten CSS-Editor <strong>CSSEdit</strong> verantwortlich zeigen, wurde heute der Startschuss von <a href="http://macrabbit.com/espresso/">Espresso 1.0</a> verkündet. Ganz im Stile von CSSEdit folgt auch der große Bruder den bekannten Grundregel der belgischen Entwickler:</p>
<p><strong>&#8220;power editing, blazingly fast publishing, previewing and much more — all wrapped in a slick interface&#8221;</strong></p>
<p><strong><img class="alignnone size-large wp-image-542" title="espresso" src="http://www.fabianpimminger.com/wp-content/uploads/2009/03/espresso-468x313.png" alt="espresso" width="468" height="313" /></strong></p>
<p>Eine wirklich hervorragende Idee ist die Möglichkeit, die Webentwicklungs-Suite durch verschiedene Plug-Ins, so genannte Sugars, erweitern zu können. Diese XML-Dateien können die zusätzliche Script- und Programmiersprachen in Espress einbinden und machen das Programm noch flexibler. Im <a href="http://fileability.net/coffee/index.php">Coffee House</a> oder dem offiziellen Forum gibt es bereits einige Sugars zum kostenlosen Download, die Zahl wird sich hoffentlich bald um ein vielfaches steigern. Falls die gewünschte Erweiterung noch nicht verfügbar ist, kann diese einfach mit dem Sugar Development Kit selbst erstellt werden.</p>
<p>Im Grunde stellt Espresso eigentlich nur die Grundfunktionen zur Verfügung. Diese Aufgabe haben die Entwickler wunderbar erfüllt und bieten eine ansprechende und intuitive Oberfläche. Weitere Funktionen können mit dem ausgereiften Plug-In System nach Belieben hinzugefügt werden. Ich werde das Programm jedenfalls erst einmal 15 Tage testen und dann kann ich mir hoffentlich ein Bild darüber machen, ob es gegen <a href="http://www.panic.com/coda/">Coda</a>, dem direkten Konkurrenten, eine Chance hat.</p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/espresso-der-koffein-boost-fur-webentwickler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tragen wir den IE6 zu Grabe!</title>
		<link>http://www.fabianpimminger.com/web-development/tragen-wir-den-ie6-zu-grabe/</link>
		<comments>http://www.fabianpimminger.com/web-development/tragen-wir-den-ie6-zu-grabe/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 08:22:57 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[death]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=278</guid>
		<description><![CDATA[

Ein weiteres mal hat mich ein Twitter-User auf eine ganz nette Initiative aufmerksam gemacht: Peter Höflehner berichtet in seinem Tweet über die norwegische Website Finn.no, die Benutzern des veralteten Internet Explorer 6 den Kampf angesagt hat. Besucht man den Online-Anzeigenmarkt mit dem fast schon sieben Jahre alten Browser, bekommt man eine grüne Box zu sehen, die auf [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-282" title="internet_explorer" src="http://www.fabianpimminger.com/wp-content/uploads/2009/02/internet_explorer.png" alt="internet_explorer" width="109" height="115" />Ein weiteres mal hat mich ein Twitter-User auf eine ganz nette Initiative aufmerksam gemacht: Peter Höflehner berichtet in seinem <a href="http://twitter.com/hoeflehner/status/1227911975">Tweet</a> über die norwegische Website <a href="http://finn.no/">Finn.no</a>, die Benutzern des veralteten Internet Explorer 6 den Kampf angesagt hat. Besucht man den Online-Anzeigenmarkt mit dem fast schon sieben Jahre alten Browser, bekommt man eine grüne Box zu sehen, die auf den verwendeten Browser hinweist und Alternativen vorschlägt.</p>
<p>Es gibt bereits eine <a href="http://www.vincenthasselgard.no/2009/02/19/give-ie6-users-the-message-to-upgrade-or-change/">Gruppe von Web-Entwicklern</a>, die ähnliche Warnmeldungen auf ihren Webseiten platziert, um die Verbreitung des Internet Explorers zu dezimieren. Zur Besseren Kommunikation und Koordination der Aktion wurde ein <a href="http://ie6.forteller.net/index.php?title=Main_Page">Wiki</a> eingerichtet.</p>
<p>Ich kann diese Aktion nur unterstützen und werde in den kommenden Tagen auch so eine Box hier einbauen. Ich denke, dass die Zeit gekommen ist, den Internet Explorer 6 schön langsam zu Grabe zu tragen und damit auch die zahlreichen Sicherheitslücken und Inkompatibilitäten ein für allemal aus dem Weg zu schaffen. Leider gibt es, vor allem im Business-Sektor, viele Anwender, die nicht von heute auf morgen den Browser wechseln können. Deswegen ist es wichtig, die Erreichbarkeit für diese Leute trotzdem noch zu gewährleisten aber trotzdem einen Hinweis für die Anwender anzuzeigen.</p>
<p>Wollt ihr diese Aktion unterstützen? Dazu genügt es, folgenden <a href="http://www.golfcabrio.de/tmp/der_alte_internet_explorer_muss_weichen.txt">HTML-Code</a> an passender Stelle in eure Seite einzubauen. Der benutzte Browser wird automatisch erkannt und Benutzer von modernen Browsern bekommen die Meldung nie zu sehen:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #b1b100;">if</span> lte IE <span style="color: #cc66cc;">6</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>mce <span style="color: #339933;">:</span>style type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/css&quot;</span><span style="color: #339933;">&gt;&lt;</span> <span style="color: #339933;">!</span>
<span style="color: #666666; font-style: italic;">#ie6msg{border:3px solid #090; margin:8px 0; background:#cfc; color:#000;}
</span><span style="color: #666666; font-style: italic;">#ie6msg h4{margin:8px; padding:0;}
</span><span style="color: #666666; font-style: italic;">#ie6msg p{margin:8px; padding:0;}
</span><span style="color: #666666; font-style: italic;">#ie6msg p a.getie7{font-weight:bold; color:#006;}
</span><span style="color: #666666; font-style: italic;">#ie6msg p a.ie6expl{font-weight:normal; color:#006;}
</span><span style="color: #339933;">--&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ie6msg&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>h4<span style="color: #339933;">&gt;</span>Wussten Sie dass Ihr Browser <span style="color: #009900;">&#40;</span>Internet Explorer<span style="color: #009900;">&#41;</span> veraltet ist?<span style="color: #339933;">&lt;/</span>h4<span style="color: #339933;">&gt;</span>
Um das beste Ergebnis und den vollen Nutzungsumfang unseres Internetauftrittes nutzen zu können<span style="color: #339933;">,</span> aktualisieren Sie bitte ihren Browser<span style="color: #339933;">.</span>
<span style="color: #990000;">Die</span> aktuelle Version ist der <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.microsoft.com/windows/downloads/ie/getitnow.mspx&quot;</span><span style="color: #339933;">&gt;</span>Internet Explorer <span style="color: #cc66cc;">7</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span> und der <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.microsoft.com/windows/Internet-explorer/beta/default.aspx&quot;</span><span style="color: #339933;">&gt;</span>Internet Explorer <span style="color: #cc66cc;">8</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span> ist bereits als beta verfügbar<span style="color: #339933;">.</span>
<span style="color: #990000;">Die</span> Aktualisierung ist kostenlos<span style="color: #339933;">.</span> Sollten sie einen Computer am Arbeitsplatz benutzen<span style="color: #339933;">,</span> wenden Sie sich bitte an den Administrator<span style="color: #339933;">/</span>Informatiker<span style="color: #339933;">.</span>
&nbsp;
Sie können auch andere Internet Browser probieren<span style="color: #339933;">,</span> wie <span style="color: #990000;">die</span> kostenlosen <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.opera.com&quot;</span><span style="color: #339933;">&gt;</span>Opera<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;,</span> <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://mozilla.com&quot;</span><span style="color: #339933;">&gt;</span>FireFox<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span> oder <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.apple.com/safari/download/&quot;</span><span style="color: #339933;">&gt;</span>Safari<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#91;</span><span style="color: #b1b100;">endif</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">--&amp;</span>gt<span style="color: #339933;">;&lt;/</span>mce<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Noch bequemer geht es natürlich mit diesem <a href="http://wordpress.org/extend/plugins/shockingly-big-ie6-warning/">Wordpress-Plugin</a>!</p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/tragen-wir-den-ie6-zu-grabe/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Erklärung des &#8220;Don&#8217;t Click&#8221;-Clickjackings auf Twitter</title>
		<link>http://www.fabianpimminger.com/web-development/erklarung-des-dont-click-loops-auf-twitter/</link>
		<comments>http://www.fabianpimminger.com/web-development/erklarung-des-dont-click-loops-auf-twitter/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 17:36:37 +0000</pubDate>
		<dc:creator>Fabian Pimminger</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[don't click]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.fabianpimminger.com/?p=214</guid>
		<description><![CDATA[

In den vergangenen Minuten waren die Timelines auf Twitter prall gefüllt mit &#8220;Don&#8217;t Click&#8221; Statusupdates, die alle auf diese Seite verweisen. Auch mich hat es natürlich erwischt und ich hab mal nachgeforscht, wie die Technik des kleinen Hacks funktioniert. Nach kurzer Analyse gibts auch schon die Erklärung: Hinter dem Scherz steht keine Sicherheitslücke oder andere bedrohliche Dinge, [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-226" title="486887_mouse" src="http://www.fabianpimminger.com/wp-content/uploads/2009/02/486887_mouse.jpg" alt="486887_mouse" width="136" height="116" />In den vergangenen Minuten waren die Timelines auf Twitter prall gefüllt mit &#8220;Don&#8217;t Click&#8221; Statusupdates, die alle auf <a href="http://www.umoor.eu/blog/yes-we-can.php">diese Seite</a> verweisen. Auch mich hat es natürlich <a href="http://twitter.com/i_am_fabs/status/1203272890">erwischt</a> und ich hab mal nachgeforscht, wie die Technik des kleinen Hacks funktioniert. Nach kurzer Analyse gibts auch schon die Erklärung: Hinter dem Scherz steht keine Sicherheitslücke oder andere bedrohliche Dinge, sondern ein geschickter Einsatz von HTML und CSS.</p>
<p>Betrachtet man den Quelltext der Seite genauer, so findet man gleich am Anfang einen Iframe mit der URL &#8220;http://twitter.com/home?status=Don&#8217;t Click: http://tinyurl.com/amgzs6&#8243;. Dieser ruft eine ganz normale Twitter-Startseite auf, bei der das gewünschte Statusupdate bereits in das Eingabefeld eingegeben ist. Diese Technik benützten viele Twitter-Mashups und Dienste um keine API-Zugriffe zu benötigen. Doch wie funktioniert das Absenden des Tweets?</p>
<p>Ganz einfach sogar! Der Iframe wurde vollständig transparent gemacht und genau soweit über den Browserrand nach links geschoben, dass sich der &#8220;update&#8221;-Button der Twitterseite über dem &#8220;Don&#8217;t click&#8221;-Button der eigentlichen Seite befindet. Man klickt also nicht wirklich auf den sichtbaren Button sondern bestätigt unwissentlich den unsichtbaren Button der Twitterseite. Über diese Weise wird das Statusupdate dann auf Twitter gepostet.</p>
<p>Ich hab den Code nochmal ein wenig verändert, um das Ganze deutlicher zu machen:</p>
<p> </p>
<p><strong>Iframe mit reduzierter Transparenz:</strong></p>
<p><img class="alignnone size-full wp-image-219" title="bild-51" src="http://www.fabianpimminger.com/wp-content/uploads/2009/02/bild-51.png" alt="bild-51" width="158" height="69" /></p>
<p> </p>
<p><strong>Iframe komplett im Bild mit reduzierter Transparenz:</strong></p>
<p><img class="alignnone size-full wp-image-216" title="bild-4" src="http://www.fabianpimminger.com/wp-content/uploads/2009/02/bild-4.png" alt="bild-4" width="435" height="185" /></p>
<p> </p>
<p><strong>UPDATE: Twitter hat mitlerweile das Clickjacking-Lücke </strong><a href="http://blog.twitter.com/2009/02/clickjacking-blocked.html"><strong>gefixt</strong></a><strong>. Probleme dieser Art sollten in Zukunft nicht mehr auftreten. Falls ihr noch Interesse an dem Sourcecode habt, diesen findet ihr auf <a href="http://pastie.org/387315">Pastie</a></strong><strong>.</strong></p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.fabianpimminger.com/web-development/erklarung-des-dont-click-loops-auf-twitter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
