<?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>Wait till I come! &#187; Odds &amp; Ends</title>
	<atom:link href="http://www.wait-till-i.com/category/odds-ends/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wait-till-i.com</link>
	<description>Chris Heilmann - Accessibility, Web Development and Pragmatism - can talk, will travel</description>
	<lastBuildDate>Wed, 17 Mar 2010 16:36:45 +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>Dear JavaScript Library Developers&#8230;</title>
		<link>http://www.wait-till-i.com/2006/12/11/dear-javascript-library-developers/</link>
		<comments>http://www.wait-till-i.com/2006/12/11/dear-javascript-library-developers/#comments</comments>
		<pubDate>Mon, 11 Dec 2006 19:48:59 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Common Issues]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Odds & Ends]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[After spending about three weeks finishing a chapter of the upcoming book introducing JavaScript libraries to non-developers I was quite amazed how tough it is at times to use different libraries. 

It was frustrating putting together a set of example scripts for several effects for the oddest reasons, which is why I am now publishing [...]]]></description>
			<content:encoded><![CDATA[<p>After spending about three weeks finishing a chapter of the upcoming book introducing JavaScript libraries to non-developers I was quite amazed how tough it is at times to use different libraries. </p>

<p>It was frustrating putting together a set of example scripts for several effects for the oddest reasons, which is why I am now publishing my wishlist for any JavaScript library developers or maintainers. Before you start a new library or expect people to be able to use yours immediately you might want to give these points some thought. For library users this list might be a good &Atilde;&cent;&acirc;&not;&Aring;heads up&Atilde;&cent;&acirc;&not;? to see how much work has to go into using a library or how to pick the right library for the job at hand.</p>

<p>Here&Atilde;&cent;&acirc;&not;&acirc;&cent;s what drove me nuts:</p>


<ul>
<li>Lack of <strong>offline</strong> documentation. I am writing a lot of code on public transport or in hotel rooms where they consider it still an option to charge me for every 10 minutes online. It is not hard to create a <span class="caps">PDF </span>or offer a <span class="caps">ZIP </span>of the library documentation even if it is Wiki based.</li>
<li>Lack of <strong>step by step</strong> instructions and examples for effects and elements of the library. Most of the time you either get no examples at all or a single example that shows all the options you have in one script (or a very complex form to play with all of them &Atilde;&cent;&acirc;&not;&acirc; which is only marginally better).</li>
<li>Lack of <strong>unobtrusive examples</strong> of code which are those that fall back to working and functioning <span class="caps">HTML </span>or <span class="caps">HTML</span>+server side script solutions. In the market you will have to develop applications in accordance with accessibility and <span class="caps">SEO </span>requirements and both of these require that the page does not rely on JavaScript. It is very easy to create fancy examples that work with JavaScript, but harder to enhance what is already there. </li>
<li>There is no problem with trying to improve JavaScript or <span class="caps">DOM </span>methods in addition to just fixing bugs and browser inconsistencies. However there is a problem if your extensions break conventions like the event model. I have encountered a library that had addEvent() and removeEvent() methods, but no way to stop the default behaviour of the element. This is an oversight that shows me that this library was never meant to be used unobtrusively or to enhance a server side driven application.</li>
<li>Lack of information about <strong>browser support</strong> and &Atilde;&cent;&acirc;&not;&acirc; even more importantly &Atilde;&cent;&acirc;&not;&acirc; fixes and updates for new browsers that might come along. This allows your users to update their library includes or subscribe to feeds that tell them about updates and fixes. As a lot of libraries advertise themselves as a helper to make sure you don&Atilde;&cent;&acirc;&not;&acirc;&cent;t need to know JavaScript this is the least you should do to gain the trust of users. It is easy to claim everything works, but when there are browser specific bugs you cannot expect library users to fix them inside your library.</li>
<li>Inconsistency in naming of methods and properties. There is a lot of good documentation on the <span class="caps">W3C </span>sites about what an event is, and if you call it action I personally get very confused. If you don&Atilde;&cent;&acirc;&not;&acirc;&cent;t know JavaScript or the <span class="caps">W3C </span>specs that is less of an issue but personally I consider libraries are step towards improving JavaScript and the <span class="caps">DOM </span>and not a replacement of them. </li>
<li>Trying to replace <span class="caps">CSS </span>with library methods. There is a reason why <span class="caps">CSS </span>is used for look and feel: <span class="caps">CSS </span>parsers are very fast and it is great for maintenance to centralise all look and feel in a spot using one technology. <span class="caps">CSS </span>is that technology as it was invented for it. Instead of battling <span class="caps">CSS, </span>scripting should piggyback on the <span class="caps">CSS </span>parser whenever possible (by adding <span class="caps">CSS </span>class names to parent elements) instead of changing a lot of style properties directly. <span class="caps">CSS </span>has a lot less options to access content and elements than the <span class="caps">DOM </span>has and we can use JavaScript to give <span class="caps">CSS </span>developers a helping hand to reach these. There is a reason why there are so many &Atilde;&cent;&acirc;&not;&Aring;CSS only&Atilde;&cent;&acirc;&not;? solutions out there &Atilde;&cent;&acirc;&not;&acirc; people got sick of scanning JavaScripts to find the place to change a look and feel parameter.</li>
<li>Don&Atilde;&cent;&acirc;&not;&acirc;&cent;t play the &Atilde;&cent;&acirc;&not;&Aring;mine is smaller than yours&Atilde;&cent;&acirc;&not;? card. It gives the wrong impression to new developers as they might be tempted to think that your short wrapper methods are all that has to get executed. We all know that they have to be converted to native JavaScript and <span class="caps">DOM </span>methods before execution. </li>
</ul>



<p>[tags]JavaScript,JavaScript libraries,comparison,annoyance,rant,webdevtrick,review[/tags]</p>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2006/12/11/dear-javascript-library-developers/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Tip: Do not position Google Ads absolutely!</title>
		<link>http://www.wait-till-i.com/2006/11/23/tip-do-not-position-google-ads-absolutely/</link>
		<comments>http://www.wait-till-i.com/2006/11/23/tip-do-not-position-google-ads-absolutely/#comments</comments>
		<pubDate>Thu, 23 Nov 2006 09:58:38 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Common Issues]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Odds & Ends]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I was amazed to retrieve a cease and desist email from Google Adsense about my ads on this blog the other day. Allegedly I violated their terms and conditions by using advertising in a floating layer (you know the ones that cover dodgy pages before you can use them). 

The reason they thought of me [...]]]></description>
			<content:encoded><![CDATA[<p>I was amazed to retrieve a cease and desist email from Google Adsense about my ads on this blog the other day. Allegedly I violated their terms and conditions by using advertising in a floating layer (you know the ones that cover dodgy pages before you can use them). </p>

<p>The reason they thought of me that way was that I had a skyscraper ad on the right hand side of this content section positioned absolutely. I also had a JavaScript in place that would hide the whole ad section on browser sizes that are too small to accommodate for it. </p>

<p>However, as the Google compliance testers seem to turn off JavaScript and use a very small browser window when doing their checks, my ads overlapped the content and I became an outlaw. </p>

<p>So remember that when you use AdSense for your web sites don&Atilde;&cent;&acirc;&not;&acirc;&cent;t position them absolutely but float them or use negative margins instead or else you&Atilde;&cent;&acirc;&not;&acirc;&cent;d also have to face being banned from the system and get three days to rectify your mistakes.</p>

<p>[tags]webdevtrick,adsense,google,css,scripting,webdesign[/tags]</p>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2006/11/23/tip-do-not-position-google-ads-absolutely/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Explore flickr tags and photos with flickrdrillr</title>
		<link>http://www.wait-till-i.com/2006/11/03/explore-flickr-tags-and-photos-with-flickrdrillr/</link>
		<comments>http://www.wait-till-i.com/2006/11/03/explore-flickr-tags-and-photos-with-flickrdrillr/#comments</comments>
		<pubDate>Fri, 03 Nov 2006 13:43:13 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Odds & Ends]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I played with JSON, event delegation and the APIs of flickr for the upcoming hack day and thought it&#8217;d be fun to explore flickr only by tags. 

Using the YUI, I put a small example together that allows you to search for a tag, get all the other tags entered by flickr users and see [...]]]></description>
			<content:encoded><![CDATA[<p>I played with <span class="caps">JSON, </span>event delegation and the <span class="caps">API</span>s of flickr for the upcoming hack day and thought it&#8217;d be fun to explore flickr only by tags. </p>

<p>Using the <span class="caps">YUI,</span> I put a small example together that allows you to search for a tag, get all the other tags entered by flickr users and see the photos related to the current tag. You can then click the next tag, get the related tags for this one and so on and so forth. </p>

<p>Have a play and <a href="http://icant.co.uk/sandbox/flickrdrillr/">check out flickrdrillr now</a> </p>

<p>[tags]flickr,photos,tags,folksonomy,animation,images,javascript,event delegation,dom,json[/tags]</p>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2006/11/03/explore-flickr-tags-and-photos-with-flickrdrillr/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hours of fun with Google Code Search</title>
		<link>http://www.wait-till-i.com/2006/10/05/hours-of-fun-with-google-code-search/</link>
		<comments>http://www.wait-till-i.com/2006/10/05/hours-of-fun-with-google-code-search/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 21:06:00 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Articlewatch]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Odds & Ends]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[As [link:http://www.kottke.org/06/10/google-code-search,Kottke.org informs us] the new [link:http://google.com/codesearch,Google Code Search] already unearthed a lot of interesting things, like Wordpress logins, a key generator for Winzip and even something [link:http://www.google.com/codesearch?hl=en&#38;lr=&#38;q=spanish+inquisition&#38;btnG=Search,totally unexpected] .  

Update: [link:http://blog.predius.org/2006/10/05/fucks-per-source-package-and-license/,Predius also analysed with the search how many f*cks per language and package are in use]. PHP a clear winner there.

[tags]google,code,exploit,fun[/tags]]]></description>
			<content:encoded><![CDATA[<p>As [link:http://www.kottke.org/06/10/google-code-search,Kottke.org informs us] the new [link:http://google.com/codesearch,Google Code Search] already unearthed a lot of interesting things, like Wordpress logins, a key generator for Winzip and even something [link:http://www.google.com/codesearch?hl=en&amp;lr=&amp;q=spanish+inquisition&amp;btnG=Search,totally unexpected] .  </p>

<p>Update: [link:http://blog.predius.org/2006/10/05/fucks-per-source-package-and-license/,Predius also analysed with the search how many f*cks per language and package are in use]. <span class="caps">PHP </span>a clear winner there.</p>

<p>[tags]google,code,exploit,fun[/tags]</p>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2006/10/05/hours-of-fun-with-google-code-search/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Silly Browser Trick: V for Firefox</title>
		<link>http://www.wait-till-i.com/2006/10/03/silly-browser-trick-v-for-firefox/</link>
		<comments>http://www.wait-till-i.com/2006/10/03/silly-browser-trick-v-for-firefox/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 16:06:08 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Movies]]></category>
		<category><![CDATA[Odds & Ends]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[A colleague just found this by chance: If you type &#8220;v&#8221; in the browser location on firefox and hit enter you&#8217;ll end up on the V for Vendetta homepage. Incidently I just bought the DVD and loved the movie to bits. But how does it work?

Easy: First of all your Firefox must be set up [...]]]></description>
			<content:encoded><![CDATA[<p>A colleague just found this by chance: If you type &#8220;v&#8221; in the browser location on firefox and hit enter you&#8217;ll end up on the V for Vendetta homepage. Incidently I just bought the <span class="caps">DVD </span>and loved the movie to bits. But how does it work?<span id="more-342"></span></p>

<p>Easy: First of all your Firefox must be set up to use Google.com as the default search engine. If that is the case, any entry that cannot resolve to a real server goes through Google.com and the first result is displayed &#8211; much like hitting the &#8220;I feel lucky&#8221; button. <br />
As someone paid enough to make V for Vendetta the first result for &#8216;v&#8217;, this is what happens.</p>

<p>[tags]Movies, V for Vendetta, Firefox, Tricks, Google[/tags]</p>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2006/10/03/silly-browser-trick-v-for-firefox/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
