<?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: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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Wait till I come!</title>
	
	<link>http://www.wait-till-i.com</link>
	<description>Chris Heilmann - Accessibility, Web Development and Pragmatism - can talk, will travel</description>
	<lastBuildDate>Mon, 08 Feb 2010 12:29:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/wait-till-i/gwZf" /><feedburner:info uri="wait-till-i/gwzf" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Explaining what YQL is to non-technical people</title>
		<link>http://feedproxy.google.com/~r/wait-till-i/gwZf/~3/I-5yqXUqUwc/</link>
		<comments>http://www.wait-till-i.com/2010/02/08/explaining-what-yql-is-to-non-technical-people/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:27:11 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[explanation]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1358</guid>
		<description><![CDATA[A friend of mine was asked to produce some videos and screencasts to explain YQL to non-technical people and asked me to give her a definition. Here&#8217;s what I came up with:

What is YQL and what is it good for ?

The Internet as we see it (web sites, games, videos) is only a shop window [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine was asked to produce some videos and screencasts to explain <a href="http://developer.yahoo.com/yql/"><span class="caps">YQL</span></a> to non-technical people and asked me to give her a definition. Here&#8217;s what I came up with:</p>

<h2>What is <span class="caps">YQL </span>and what is it good for ?</h2>

<p>The Internet as we see it (web sites, games, videos) is only a shop window to the thing that really drives it: data. All the things you see are based on information one provider offers another provider. Even you are a data provider &#8211; if you comment on a video on YouTube or you add a person to a photo on Facebook you create a data set. All this data is made available behind the scenes to different people &#8211; this could be developers in the same company or partners or &#8211; for example in the case of the Yahoo Developer Network &#8211; other developers.</p>

<p>The information comes in different formats. For example the photos on <a href="http://www.flickr.com/photos/tags/cat">http://www.flickr.com/photos/tags/cat</a> are available in &#8220;JSON&#8221; format at <a href="http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&amp;lang=en-us&amp;format=json">http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&amp;lang=en-us&amp;format=json</a>.</p>

<p>To you this might look like nothing much but developers have a lot of fun with this information. It gets especially interesting when you mix and match different information sources to get a new picture. You can for example <a href="http://isithackday.com/hacks/placemaker/map.php">map the news onto the world to give them geographical context</a>. </p>

<p>All of this sharing of information follows certain conventions much like normal conversation does. You need to ask the right question to the right person in the right format to get the correct information back. In the case of data on the Internet this gets even more confusing as all the data providers speak different languages and give you information back in formats that you might not understand. Imagine going shopping for clothes and each shop assistant speaks a different language and each shop has different size charts for the same type of clothing.</p>

<p>In normal communication amongst people with different languages we have translators &#8211; sometimes even simultaneous ones. And this is what <span class="caps">YQL </span>is. <span class="caps">YQL </span>is a simple to understand language to allow you to get information from any source on the web and gives it back to you in a language you understand. Every resource on the web can get a simple name and developers can call this name up to get to the data it offers. So for example getting photos from flickr becomes</p>



<pre><code>select * from flickr.photos.search where text='cat'</code></pre>



<p>Translating a text to French becomes</p>



<pre><code>select * from google.translate where q='hubcap' and target='fr'</code></pre>



<p>You can also mix and match different sources, for example you can get the latest headlines from yahoo&#8217;s top stories and translate them to French:</p>



<pre><code>select * from google.translate where target='fr' and q in (
 select title from rss where url='http://rss.news.yahoo.com/rss/topstories'
)</pre>

<p></code></p>

<p>This language is very close to another language called <span class="caps">SQL </span>which is the standard for accessing information in databases. So, in essence, <span class="caps">YQL </span>turns the internet into a massive database where developers can access information and remix it to make it easier for end users to see relationships between different pieces of information or even develop interfaces that make it possible for users to get access to the information.</p>

<p>For example <a href=" http://www.youtube.com/watch?v=_ZG8HBuDjgc">this great lecture on YouTube</a> can be listened to by blind users using the <a href="http://icant.co.uk/easy-youtube/?http://www.youtube.com/watch?v=_ZG8HBuDjgc">EasyYouTube interface</a> that uses <span class="caps">YQL </span>to get to the information of the video.</p>

<p><span class="caps">YQL </span>can be accessed on a pure programmatic level but the easiest way to get a glimpse of its translation and access powers is to <a href="http://developer.yahoo.com/yql/console">use the console</a>. </p>

<p><span class="caps">YQL </span>is a great communicator - it allows you to speak to all kind of data sources in the right language, ask the right questions for you, find the right internal phone numbers to get to even other resources needed to get to a certain piece of information and give back to you only what you asked for and not a whole mass of information you will never need. And it is amazingly fast in doing so as Yahoo built it to deal with exactly the same problem of data communication inside the company.</p><img src="http://feeds.feedburner.com/~r/wait-till-i/gwZf/~4/I-5yqXUqUwc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/02/08/explaining-what-yql-is-to-non-technical-people/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.wait-till-i.com/2010/02/08/explaining-what-yql-is-to-non-technical-people/</feedburner:origLink></item>
		<item>
		<title>Giving technology to the world – a talk about writing good code examples</title>
		<link>http://feedproxy.google.com/~r/wait-till-i/gwZf/~3/NehqEB4kmJc/</link>
		<comments>http://www.wait-till-i.com/2010/02/05/giving-technology-to-the-world-a-talk-about-writing-good-code-examples/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 20:02:47 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[codeexamples]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[developeevangelism]]></category>
		<category><![CDATA[evangelism]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1356</guid>
		<description><![CDATA[One of the things I love about my company is that you are perfectly allowed in Yahoo to give &#8220;Fire and Brimstone&#8221; talks to rally your colleagues. It is a very open company and if you can back up criticism with proof and offer solutions people are happy to listen to you. 

Last Thursday I [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I love about my company is that you are perfectly allowed in Yahoo to give &#8220;Fire and Brimstone&#8221; talks to rally your colleagues. It is a very open company and if you can back up criticism with proof and offer solutions people are happy to listen to you. </p>

<p>Last Thursday I took the opportunity of being in the Silicon Valley to give a talk about giving technology to the world, pointing out mistakes we made in explaining our services and <span class="caps">API</span>s, what works well and how some competitors do a great job at explaining complex technology in an easy to understand fashion.</p>

<p>It was a great opportunity to explain the concepts of developer evangelism to an internal audience who hadn&#8217;t yet read anything about the matter of seeing developers as an audience.</p>

<p>Check the slides on SlideShare and the audio on archive.org:</p>

<div style="width:425px;text-align:left" id="__ss_3074929"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/cheilmann/giving-tech-to-the-world" title="Giving Technology To The World">Giving Technology To The World</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=giving-tech-to-the-world-100204172922-phpapp01&amp;rel=0&amp;stripped_title=giving-tech-to-the-world" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=giving-tech-to-the-world-100204172922-phpapp01&amp;rel=0&amp;stripped_title=giving-tech-to-the-world" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>

<p>Listen to the <a href="http://www.archive.org/details/GivingTechnologyToTheWorld">Audio of the talk on archive.org</a>:</p>


<ul>
<li><a href="http://www.archive.org/download/GivingTechnologyToTheWorld/GivingTechToTheWorld.mp3">Giving Technology to the World &#8211; <span class="caps">MP3</span> 46MB</a></li>
<li><a href="http://www.archive.org/download/GivingTechnologyToTheWorld/GivingTechToTheWorld.ogg">Giving Technology to the World &#8211; <span class="caps">OGG</span> 37MB</a></li>
</ul>



<p>Do you know any great <span class="caps">API </span>sandboxes and documentation? I&#8217;d be happy to have more positive examples! </p><img src="http://feeds.feedburner.com/~r/wait-till-i/gwZf/~4/NehqEB4kmJc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/02/05/giving-technology-to-the-world-a-talk-about-writing-good-code-examples/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>

		<feedburner:origLink>http://www.wait-till-i.com/2010/02/05/giving-technology-to-the-world-a-talk-about-writing-good-code-examples/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/wait-till-i/gwZf/~5/btnW2rTG2Fo/GivingTechToTheWorld.mp3" length="48070976" type="audio/mpeg" /><feedburner:origEnclosureLink>http://www.archive.org/download/GivingTechnologyToTheWorld/GivingTechToTheWorld.mp3</feedburner:origEnclosureLink></item>
		<item>
		<title>Building quick web applications by using YQL and YUI as building blocks</title>
		<link>http://feedproxy.google.com/~r/wait-till-i/gwZf/~3/aPigUMeIu80/</link>
		<comments>http://www.wait-till-i.com/2010/02/04/building-quick-web-applications-by-using-yql-and-yui-as-building-blocks/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 21:51:18 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1350</guid>
		<description><![CDATA[This is a talk I gave two days ago in the Sunnyvale office of Yahoo explaining how I built some of the sites you might have seen like Keywordfinder, GeoMaker, GooHooBi or UK House Prices. 

There is actually no magic to it &#8211; I am not a superhuman developer. The main trick to build products [...]]]></description>
			<content:encoded><![CDATA[<p>This is a talk I gave two days ago in the Sunnyvale office of Yahoo explaining how I built some of the sites you might have seen like <a href="http://keywordfinder.com">Keywordfinder</a>, <a href="http://icant.co.uk/geomaker">GeoMaker</a>, <a href="http://icant.co.uk/goohoobi/">GooHooBi</a> or <a href="http://uk-house-prices.com">UK House Prices</a>. </p>

<p>There is actually no magic to it &#8211; I am not a superhuman developer. The main trick to build products like that really fast is to use building blocks that work, separate concerns of the application (APIs for the backend returning <span class="caps">HTML,</span> JavaScript for behaviour and Ajax and <span class="caps">CSS </span>for look and feel). </p>

<p>Without further ado, <a href="http://www.slideshare.net/cheilmann/building-with-yql-and-yui">here is the slide deck for you to go through</a>:</p>

<div style="width:425px;text-align:left" id="__ss_3056907"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/cheilmann/building-with-yql-and-yui" title="Building With YQL And YUI">Building With <span class="caps">YQL</span> And <span class="caps">YUI</span></a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=building-with-yql-and-yui-100202155335-phpapp02&amp;rel=0&amp;stripped_title=building-with-yql-and-yui" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=building-with-yql-and-yui-100202155335-phpapp02&amp;rel=0&amp;stripped_title=building-with-yql-and-yui" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/cheilmann">Christian Heilmann</a>.</div></div>

<h2>The audio recording </h2>

<p>The <a href="http://www.archive.org/details/YqlAndYui-BuildingBlocksForTheWeb">audio of the talk is available on archive.org</a></p>

<h2>The preview in the slides</h2>

<p>One new demo I built for the talk was <a href="http://isithackday.com/hacks/flickrcollector/">Flickr Collector</a> which allows you to quickly collect photos from flickr and get the source code for them easily add them to blog posts and articles.</p>

<p><a href="http://isithackday.com/hacks/flickrcollector/"><img src="http://farm3.static.flickr.com/2750/4330488357_e032ee144e.jpg" alt="Flickr collector by  you." /></a></p>

<h2>The source codes</h2>


<ul>
<li><a href="http://github.com/codepo8/flickrcollector">Flickr Collector Source Code on GitHub</a></li>
<li><a href="http://github.com/codepo8/CSScharts"><span class="caps">CSS </span>charts on GitHub</a></li>
<li><a href="http://github.com/codepo8/GooHooBi">GooHooBi on GitHub</a> (and as a <a href="http://vimeo.com/8075850">live build screencast</a>) </li>
<li><a href="http://github.com/codepo8/GeoMaker">Geomaker on GitHub</a></li>
</ul>



<p>The talk was filmed and will be available on the <span class="caps">YUI</span> Theater soon. </p><img src="http://feeds.feedburner.com/~r/wait-till-i/gwZf/~4/aPigUMeIu80" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/02/04/building-quick-web-applications-by-using-yql-and-yui-as-building-blocks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.wait-till-i.com/2010/02/04/building-quick-web-applications-by-using-yql-and-yui-as-building-blocks/</feedburner:origLink></item>
		<item>
		<title>Adding map links and a small map to any text using JavaScript – addmap.js</title>
		<link>http://feedproxy.google.com/~r/wait-till-i/gwZf/~3/XAudPlgV_L0/</link>
		<comments>http://www.wait-till-i.com/2010/01/29/adding-map-links-and-a-small-map-to-any-text-using-javascript-addmap-js/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 14:50:45 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[googlemaps]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[placemaker]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1347</guid>
		<description><![CDATA[As part of a larger article, I am currently building some tools that use geographical information. The first one is a pure JavaScript solution to link locations in a text to Google Maps and to show a small map under the text. You can see it in action by clicking the screenshot below.



All you need [...]]]></description>
			<content:encoded><![CDATA[<p>As part of a larger article, I am currently building some tools that use geographical information. The first one is a pure JavaScript solution to link locations in a text to Google Maps and to show a small map under the text. You can see it in action by clicking the screenshot below.</p>

<p><a href="http://isithackday.com/hacks/geo/addmap.html"><img src="http://farm3.static.flickr.com/2564/4313957464_3b214d706c.jpg" alt="Analyse text and add a map with its locations in pure JavaScript by  you." /></a></p>

<p>All you need to do to use the script is <a href="http://code.google.com/apis/maps/signup.html">get your own Google Maps key</a> and embed the script in the page you want to analyse, giving it the ID of the main text element as a parameter:</p>



<pre><code>&lt;script src=&quot;http://github.com/codepo8/geotoys/raw/master/addmap.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
addmap.config.mapkey = 'YOUR_API_KEY';
addmap.analyse('content');
&lt;/script&gt;</code></pre>



<p>You can customise the look and feel by writing your own <span class="caps">CSS </span>for the generated <span class="caps">HTML </span>and setting the <code>addmap.config.width</code> and <code>addmap.config.height</code> properties to resize the map.</p>

<p>Under the hood here is what happens:</p>


<ul>
<li>The script grabs the innerHTML of the element and runs it through the <a href="http://developer.yahoo.com/yql/console/?q=SELECT%20*%20FROM%20geo.placemaker%20WHERE%20documentContent%20%3D%20%22They%20followed%20him%20to%20deepest%20Africa%20and%20found%20him%20there%2C%20in%20Timbuktu%22%20AND%20documentType%3D%22text%2Fplain%22%20AND%20appid%20%3D%20%22%22&amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys">open <span class="caps">YQL </span>table</a> of <a href="http://developer.yahoo.com/geo/placemaker">Yahoo Placemaker</a>.</li>
<li>It then takes the data, assembles the <span class="caps">HTML </span>and puts together the <span class="caps">URI </span>for the map</li>
<li>The map gets displayed using the <a href="http://gmaps-samples.googlecode.com/svn/trunk/simplewizard/makestaticmap.html">Google static map <span class="caps">API</span></a></li>
</ul>



<p>The <a href="http://github.com/codepo8/geotoys">code of addmap.js</a> is available on GitHub.</p><img src="http://feeds.feedburner.com/~r/wait-till-i/gwZf/~4/XAudPlgV_L0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/01/29/adding-map-links-and-a-small-map-to-any-text-using-javascript-addmap-js/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.wait-till-i.com/2010/01/29/adding-map-links-and-a-small-map-to-any-text-using-javascript-addmap-js/</feedburner:origLink></item>
		<item>
		<title>TTMMHTM: Book pirates, Cabinet Office, Socks of Win and browser stats</title>
		<link>http://feedproxy.google.com/~r/wait-till-i/gwZf/~3/AQVRJtB8uNU/</link>
		<comments>http://www.wait-till-i.com/2010/01/27/ttmmhtm-book-pirates-cabinet-office-socks-of-win-and-browser-stats/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 17:55:25 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1344</guid>
		<description><![CDATA[

Confessions of a book pirate is the first account I&#8217;ve ever read of someone from the OCR scanning and book pirating scene. It is amazing how fast those guys are.
App.itize.us is a good blog triaging the &#8220;must have&#8221; apps for your iPhone.
Code a Backwards Compatible, One Page Portfolio with HTML5 and CSS3 is a tutorial [...]]]></description>
			<content:encoded><![CDATA[
<ul>
<li><a href="http://www.themillions.com/2010/01/confessions-of-a-book-pirate.html">Confessions of a book pirate</a> is the first account I&#8217;ve ever read of someone from the <span class="caps">OCR </span>scanning and book pirating scene. It is amazing how fast those guys are.</li>
<li><a href="http://app.itize.us/wp/">App.itize.us</a> is a good blog triaging the &#8220;must have&#8221; apps for your iPhone.</li>
<li><a href="http://inspectelement.com/tutorials/code-a-backwards-compatible-one-page-portfolio-with-html5-and-css3/">Code a Backwards Compatible, One Page Portfolio with <span class="caps">HTML5 </span>and <span class="caps">CSS3</span></a> is a tutorial about exactly that.</li>
<li>Product-recommendation startup Directed Edge now has a <a href="http://blog.directededge.com/2010/01/07/nerd-power-you-know-we-need-it/">free <span class="caps">API</span></a></li>
<li>The Cabinet Office blog is <a href="http://blogs.cabinetoffice.gov.uk/digitalengagement/post/2010/01/26/Applications-the-real-stars-of-the-datagovuk-launch.aspx">praising the apps released based on data.gov.uk</a>, including my uk-house-prices.com</li>
<li>In case you thought three wolf moon shirts can&#8217;t be beat &#8211; I give you <a href="http://projectkickass.com/2238/">Fonz socks</a> (also check the favicon of win).</li>
<li>Google Reader now allows you to <a href="http://googlereader.blogspot.com/2010/01/follow-changes-to-any-website.html">subscribe to any web page</a> &#8211; even those without a feed!</li>
<li>I give you <a href="http://pics.blameitonthevoices.com/s.php?f=012010&amp;p=the_internet.jpg">the Internet</a></li>
<li>In case you missed it &#8211; the Guardian&#8217;s <a href="http://www.guardian.co.uk/world-government-data">World Government Data</a> lists all the data available from different governments in one place</li>
<li>Michael van Daniker has a wonderful <a href="http://www.michaelvandaniker.com/labs/browserVisualization/">browser stats visualization</a> from 2002 up to now. Looks familiar :)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/wait-till-i/gwZf/~4/AQVRJtB8uNU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/01/27/ttmmhtm-book-pirates-cabinet-office-socks-of-win-and-browser-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.wait-till-i.com/2010/01/27/ttmmhtm-book-pirates-cabinet-office-socks-of-win-and-browser-stats/</feedburner:origLink></item>
	</channel>
</rss>
