<?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>TBNL &#187; css</title>
	<atom:link href="http://www.tibobeijen.nl/blog/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tibobeijen.nl</link>
	<description>...another view on the web and how it's built</description>
	<lastBuildDate>Tue, 15 Jun 2010 17:17:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fronteers 2009</title>
		<link>http://www.tibobeijen.nl/blog/2009/11/07/fronteers-2009/</link>
		<comments>http://www.tibobeijen.nl/blog/2009/11/07/fronteers-2009/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 18:46:22 +0000</pubDate>
		<dc:creator>Tibo Beijen</dc:creator>
				<category><![CDATA[report]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[fronteers]]></category>
		<category><![CDATA[fronteers09]]></category>
		<category><![CDATA[frontend]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://www.tibobeijen.nl/?p=555</guid>
		<description><![CDATA[About five months after having enjoyed server-side talks at DPC09 it was now time for front-end matters: Fronteers 2009. There&#8217;s no exaggeration in the description on the fronteers site: A stellar line up of speakers who are at the front of what&#8217;s happening in web-development. Generally speaking I really liked most of the talks and [...]]]></description>
			<content:encoded><![CDATA[<p>About five months after having enjoyed server-side talks at <a href="http://www.tibobeijen.nl/blog/2009/06/13/dpc09-down-dpc10-to-go/">DPC09</a> it was now time for front-end matters: Fronteers 2009. There&#8217;s no exaggeration in the description on the fronteers site: A <a href="http://fronteers.nl/congres/2009/speakers">stellar line up</a> of speakers who are at the front of what&#8217;s happening in web-development. Generally speaking I really liked most of the talks and some of them pointed me to some interesting new techniques and ideas.</p>
<p>Slides of the presentation (if online) are listed at the <a href="http://fronteers.nl/blog/2009/11/presentations-fronteers-2009">Fronteers site</a> and at the end of this post (same content, read along). I&#8217;ll briefly recap some of the (for me that is) most interesting parts.<br />
<span id="more-555"></span></p>
<h3>Thursday</h3>
<p>After a pre-conference meeting tuesday at Mirabeau (Where Chris Heilmann and Peter Paul Koch hinted at what was to come) Thursday started with two talks concentrating on the mobile web. Summarized: Webkit is not webkit (and webkit is just one of the mobile browsers) and mobile devices are more different from each-other than desktop PC&#8217;s. So, developing for the mobile web (and not just the iPhone) is challenging. </p>
<p>Next on was the presentation with the most hilarious title of all (and arguably content also) by Chris Heilman: <a href="http://www.wait-till-i.com/2009/11/05/of-hamsters-feature-creatures-and-missed-opportunities-my-talk-at-fronteers-2009/">Of Hamsters, Feature Creatures and Missed Opportunities</a>. Some highlights: Be passionate about what you do as a developer or leave that aspect for someone who <em>is</em>. Don&#8217;t reinvent the wheel just because you like to apply a (your favorite) technique. The web is information, not sites. The feature creature (just check the slides) and <a href="http://developer.yahoo.com/yql/console/">YQL</a>, which basically is querying the web and looks really great (kinda missed out on that one having done a lot of back-end development lately).</p>
<p>After the lunch-break Stephen Hay covered three drafts that exist for CSS layouts that will take away the limitations that exist today: CSS3-Grid (Microsoft), CSS3-Flexbox (Mozilla) and CSS3-Layout (W3C). Very interesting as it makes very clear that, although a vast improvement over tables, today&#8217;s CSS capabilities with respect to layout (and thereby the way we work) are far from perfect.<br />
Following Stephen, John Resig went in-depth on javascript testing techniques covering unit testing as well as functional testing. Furthermore an interesting testing concept that can be used for testing JS frameworks was introduced: <a href="http://testswarm.com/">TestSwarm</a>. Steve Souders, fully aware of being the last barrier between the crowd and the after-party, concluded the day with some interesting techniques that can help speed up websites.</p>
<h3>Friday</h3>
<p>Douglas Crockford kicked of day 2 with a presentation about javascript security. He explained <a href="http://en.wikipedia.org/wiki/Object-capability_model">Object Capapability Design</a>, a security model in which objects can only access objects they have a reference too. I liked the part about using &#8216;facet objects&#8217; to control whether or not references are maintained or broken. After that Pete LePage showed some HTML5 stuff that&#8217;s found it&#8217;s way into IE8. The presentation had a (not the only one) funny moment where in Expression Web&#8217;s IE6 emulation it showed the fronteers website with the &#8216;your (IE6) browser is obsolete&#8217; warning. Jonathan Snook then extensively covered the topic of getting fonts on the web. It was very interesting that he addressed the licensing issues involved with using tools like sIFR. Something I think is often overlooked.</p>
<p>After the lunch Robbert Broersma lifted the hood (just slightly) of the engine powering the Xopus editor. He showed some tips with regard to improving and maintaining performance, most notably <a href="http://www.google.nl/search?q=leak+free+closures">Google for &#8216;leak free closures&#8217;</a>. Thomas Fuchs took over and explained some of the animation scripting going on in <a href="http://scripty2.com/">scripty2</a> and showcased his lightweight animation library <a href="http://github.com/madrobby/emile">emile.js</a>.</p>
<p>Next presentation was by Nicolle Sullivan and the title &#8216;Object Oriented CSS&#8217; made me quite curious. Rightly so cause I really enjoyed this presentation. OOP concepts like code reuse, encapsulation, singletons and inheritance were put into the perspective of organizing CSS. Quite a different approach really but it addresses problems I think a lot off css-coders can relate to. I found it interesting to realize that OOP thinking, which for me is day-to-day practice when working with PHP, somehow hadn&#8217;t made it to my CSS approach. At least not to the extent as shown in this presentation.</p>
<p>The day concluded with Dion Almaer and Ben Galbraith talking about &#8216;The Future of Web Applications&#8217;. Very entertaining presentation covering new technologies like <a href="http://code.google.com/closure/">Google Closure Tools</a> (Quoting: &#8216;If you want to write code that looks like java then it&#8217;s a great tool for you&#8217;), canvas, web workers and webGL.</p>
<p>Conclusion: Very nice conference with indeed a stellar line-up. As always the hallway sessions are not to be underestimated as I usually (unless I&#8217;m tired or need to get things done) find it interesting to talk to other people and pick up some new ideas or approaches. To conclude with the closing presentation&#8217;s very fitting last commandments (yes, I wrote those down):</p>
<ul>
<li>Thou shalt make thine interfaces responsive</li>
<li>Thou shalt keep the data of thy users holy</li>
</ul>
<ul>
<li><a href="http://search.twitter.com/search?q=&#038;ands=&#038;phrase=&#038;ors=&#038;nots=&#038;tag=fronteers09&#038;lang=all&#038;from=&#038;to=&#038;ref=&#038;near=&#038;within=15&#038;units=mi&#038;since=&#038;until=&#038;rpp=15">Twitter: #fronteers09</a></li>
<li><a href="http://www.flickr.com/search/?q=fronteers09&#038;s=int">Flickr: fronteers09</a></li>
</ul>
<h3>Presentations</h3>
<p>Just to show that YQL literally <em>is</em> &#8216;querying the web&#8217;: The YQL below extracts from the <a href="http://fronteers.nl/blog/2009/11/presentations-fronteers-2009">Fronteers 2009 presentations</a> page those elements in the list that have a link. And&#8230; it always returns valid xml which makes it ideal for parsing the <del datetime="2009-11-08T19:21:45+00:00">HTML</del> cruft generated by some applications.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> html 
<span style="color: #993333; font-weight: bold;">WHERE</span> url<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://fronteers.nl/blog/2009/11/presentations-fronteers-2009&quot;</span> 
<span style="color: #993333; font-weight: bold;">AND</span> xpath<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;//ol/li/p/a/ancestor::li&quot;</span></pre></div></div>

<ul class="paragraphs">
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tibobeijen.nl/blog/2009/11/07/fronteers-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Annoying banners: A plea for quality</title>
		<link>http://www.tibobeijen.nl/blog/2009/04/27/annoying-banners-a-plea-for-quality/</link>
		<comments>http://www.tibobeijen.nl/blog/2009/04/27/annoying-banners-a-plea-for-quality/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 20:51:10 +0000</pubDate>
		<dc:creator>Tibo Beijen</dc:creator>
				<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[advertisement]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.tibobeijen.nl/?p=330</guid>
		<description><![CDATA[Banners play an essential role in many site&#8217;s business models so they are an inevitable price paid for all the free content that is available on the internet. To get a user&#8217;s attention a lot of practices are employed like animation, placement or sound (horrible). Today I stumbled on a T-mobile advert on the site [...]]]></description>
			<content:encoded><![CDATA[<p>Banners play an essential role in many site&#8217;s business models so they are an inevitable price paid for all the free content that is available on the internet. To get a user&#8217;s attention a lot of practices are employed like animation, placement or sound (horrible). Today I stumbled on a T-mobile advert on the site <a href="http://www.nu.nl/internet/1955631/worm-conficker-wordt-geleidelijk-actief.html">nu.nl</a> that indeed attracts a lot of attention but does so in a questionable way: It makes using the visited site almost impossible. (Not a new phenomenon and it&#8217;s certainly not the first time I encounter such a banner). </p>
<p>The T-mobile banner is positioned at the bottom of the viewport and is kept in place by javascript or actionscript. This means that during scrolling the banner shakes because the script reacts to the scroll event. No awards won but not a real problem either. But what <em>is</em> bad is the fact that in the orange area (note the little pun there) no link can be clicked. Something I didn&#8217;t notice at first resulting in rapid agitated clicking. See screenshot below:</p>
<div id="attachment_335" class="wp-caption aligncenter" style="width: 510px"><img src="http://www.tibobeijen.nl/blog/wp-content/uploads/2009/04/tmobile_add_scaled_text.jpg" alt="T-Mobile banner on nu.nl" title="tmobile_add_scaled_text" width="500" height="317" class="size-full wp-image-335" /><p class="wp-caption-text">T-Mobile banner on nu.nl</p></div>
<p>As a &#8216;normal&#8217; visitor that is just annoying but as a web-professional it irritates me to a great extend that there seems to be no technical need for this misbehaviour whatsoever. So what goes wrong? On a first glance there seem to be four roles involved:</p>
<ul>
<li>Nu.nl: They need adds but it seems unlikely they want banners to block parts of their site and thereby cause user frustration.</li>
<li>The banner merchant. Doubleclick, adclick or whatever their names are. I&#8217;m not really into the advertisement business but I wouldn&#8217;t be surprised if different advertisement programs exist that site publishers can use: flashy or not, type of products promoted, sound or not, full page mayhem or not. That sort of differentiations. Normally adds on nu.nl aren&#8217;t this annoying so something might have gone wrong there.</li>
<li>The developer or company developing the banner. Perhaps there&#8217;s a tight deadline. Perhaps technical knowledge is lacking. Maybe they just don&#8217;t care&#8230;</li>
<li>The advertiser, in this case T-Mobile. Bottom line is: they want to get visitors to their site. But perhaps reputation might be a consideration. I think in most cases that the people reviewing a banner proposol don&#8217;t have the knowledge to determine that a banner has these unwanted technical side-effects. Or the prototype presented doesn&#8217;t show the problems.</li>
</ul>
<p>So somewhere in the process things go wrong, be it a lack of knowledge or a lack of interest for the end-user. Sadly the result is a lack of quality having bad usability as a consequence.</p>
<p>To conclude this criticism in a more positive and constructive fashion I&#8217;ve made a quick css proof of concept showing that it&#8217;s perfectly possible to achieve the layout while preserving click access to the underlying site. </p>
<p><a href="/static/less_annoying_banner/">Bottom aligned banner proof of concept</a></p>
<p>It&#8217;s positioning is now done by using css position:absolute but could just as well have been javascript. The demo took about 15 minutes to make while watching tv. I haven&#8217;t tested it on IE6 so expect about 2 hours needed for that but even then development time seems reasonable. The advertisment html part is displayed below.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;banner&quot; style=&quot;background-color:purple;position:fixed;bottom:0;width:100%;height:80px;&quot;&gt;
	&lt;div id=&quot;bannerCenter&quot; style=&quot;width:760px;height:80px;position:relative;margin:0 auto;background-color:red;&quot;&gt;
		&lt;div id=&quot;phone&quot; style=&quot;position:absolute;width:100px;height:160px;left:660px;top:-100px;background-color:#666;z-index&quot;100;&quot;&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;</pre></div></div>

<p>Of course the real world is more complicated than can be described in a short article but it&#8217;s obvious that the examined banner is sub-par. In my opinion it would be wise, or at least nice, to take the user a bit more seriously.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tibobeijen.nl/blog/2009/04/27/annoying-banners-a-plea-for-quality/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FireScope &#8211; Firebug extended</title>
		<link>http://www.tibobeijen.nl/blog/2009/01/28/firescope-firebug-extended/</link>
		<comments>http://www.tibobeijen.nl/blog/2009/01/28/firescope-firebug-extended/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 08:28:42 +0000</pubDate>
		<dc:creator>Tibo Beijen</dc:creator>
				<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.yunademo.nl/preview/tibobeijen.nl/?p=87</guid>
		<description><![CDATA[Today I stumbled across an interesting new Firefox extension: FireScope. It&#8217;s developed by Sitepoint, a site I visit regularly. I was aware of their reference material on html, css and javascript and now they use that content to feed this extension. FireScope is an extension to Firebug, assumably known and installed by anyone interested in [...]]]></description>
			<content:encoded><![CDATA[<p>Today I stumbled across an interesting new Firefox extension: <a href="http://tools.sitepoint.com/firescope/">FireScope</a>. It&#8217;s developed by Sitepoint, a site I visit regularly. I was aware of their <a href="http://reference.sitepoint.com/">reference material on html, css and javascript</a> and now they use that content to feed this extension. FireScope is an extension to Firebug, assumably known and installed by anyone interested in FireScope. On the <a href="https://addons.mozilla.org/en-US/firefox/addon/10273">official firefox add-ons page</a> it has the status &#8216;experimental&#8217; and hence requires logging in. On the <a href="http://tools.sitepoint.com/firescope/">FireScope page</a> it can be installed after selecting &#8216;allow&#8217; on the Firefox warning. It looks like Firefox for developers got even better&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tibobeijen.nl/blog/2009/01/28/firescope-firebug-extended/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
