<?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>Tamlyn &#187; Tech</title>
	<atom:link href="http://tamlyn.org/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://tamlyn.org</link>
	<description></description>
	<lastBuildDate>Sun, 08 Jan 2012 12:50:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Android powered robot tank</title>
		<link>http://tamlyn.org/2011/08/android-robot/</link>
		<comments>http://tamlyn.org/2011/08/android-robot/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 13:59:05 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ioio]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=280</guid>
		<description><![CDATA[After half a lifetime of dreaming about it, I&#8217;ve finally started building a robot. It&#8217;s based on a remote controlled tank, an Android mobile phone and a IOIO board which connects the two via USB. Update: source is available on GitHub including some basic image processing stuff. The IOIO  is a small circuit board with a USB [...]]]></description>
			<content:encoded><![CDATA[<p>After half a lifetime of dreaming about it, I&#8217;ve finally started building a robot. It&#8217;s based on a remote controlled tank, an Android mobile phone and a IOIO board which connects the two via USB.</p>
<p><span id="more-280"></span></p>
<p><strong>Update</strong>: <a href="https://github.com/tamlyn/Billy-Robot">source is available on GitHub</a> including some basic image processing stuff.</p>
<p><img class="alignnone size-full wp-image-281" title="Assembled robot with phone and circuit board turned upside down" src="http://tamlyn.org/wordpress/wp-content/uploads/2011/08/P1000859.jpg" alt="" width="630" height="381" /></p>
<p>The <a href="http://www.sparkfun.com/products/10585">IOIO</a>  is a small circuit board with a USB socket, a microcontroller and 48 input/output pins.  Plug it into an Android phone and you can use software to write to or read from each of the pins. Roughly speaking, on is 3.3V and off is 0V. Some of the pins can also function as analogue inputs and PWM outputs.</p>
<p>I initially looked at <a href="http://www.arduino.cc">Arduino</a> but in the end IOIO made more sense for a number of reasons:</p>
<ul>
<li>Pure Java API &#8211; no new languages to learn</li>
<li>USB built in &#8211; Arduino controller would need a USB host shield to communicate with the phone</li>
<li>Cheaper than Arduino + USB shield</li>
<li>More IO pins than I could ever need</li>
</ul>
<p>In theory, the IOIO board works with any Android device. In practice, there are many <a href="https://groups.google.com/d/topic/ioio-users/pW0wlUQnlUI/discussion">phones it doesn&#8217;t work with</a>. The first phone I bought had to be returned to the shop and the second phone only worked after upgrading it to a non operator branded version of Android. On the other hand it worked straight off when I tested it with someone else&#8217;s Nexus One and HTC Desire.</p>
<h3>Hardware</h3>
<p>The first step was to dismantle the tank and strip out the internal RC circuit. That left only the tracks, drive motors (and gears), battery and on-off switch. Sadly that meant losing the BB gun in the turret. There&#8217;s always a next time.</p>
<p><img class="alignnone size-full wp-image-284" title="Disassembled tank" src="http://tamlyn.org/wordpress/wp-content/uploads/2011/08/P1000871.jpg" alt="" width="630" height="355" /></p>
<p>Due to current draw issues, I couldn&#8217;t just connect the tank&#8217;s motors to the output pins of the IOIO. At best it would not work, at worst it could fry the circuit. I bought a <a href="http://www.sparkfun.com/products/9457">TB6612FNG motor driver</a> circuit which controls two motors using a PWM channel and two digital channels per motor. It connects directly to the battery to provide up to 1A current to each motor. I was initially worried about damage from <a href="http://en.wikipedia.org/wiki/Counter-electromotive_force">back-EMF</a> but so far that hasn&#8217;t been a problem.</p>
<p>The final pieces of equipment were a set of header pins to solder into the IOIO and TB6612 and a solderless breadboard to make it easy to reconfigure the circuit if necessary.</p>
<p><img class="alignnone size-full wp-image-283" title="IOIO and TB6612 on a breadboard" src="http://tamlyn.org/wordpress/wp-content/uploads/2011/08/P1000866.jpg" alt="" width="630" height="354" /></p>
<p>In the photo above:</p>
<ul>
<li>The black and yellow wires, centre right, are 10V and ground from the battery (via on-off switch)</li>
<li>The black and red wires, top and left, go to the motors</li>
<li>The blue wires are carrying 10V from the battery</li>
<li>The yellow and green wire is carrying 3.3V from the IOIO to drive the TB6612 chip</li>
<li>The brown wires are ground</li>
<li>The TB6612 and IOIO control pins are connected through the breadboard</li>
</ul>
<h3>Software</h3>
<p>I&#8217;m still not sure what this robot will ultimately do but an obvious first step seemed to be to make it remote controllable over the internet.</p>
<p>This is my first Android project but thankfully the <a href="http://developer.android.com/sdk/">Android SDK</a> and documentation are outstanding. With the help of a few <a href="http://thinkandroid.wordpress.com/2010/03/27/incorporating-socket-programming-into-your-applications/">tutorials</a> I went from Hello World to a simple app that accepted HTTP connections in just a few hours.</p>
<p><img class="alignnone size-full wp-image-282" title="Circuits" src="http://tamlyn.org/wordpress/wp-content/uploads/2011/08/P1000862.jpg" alt="" width="630" height="354" /></p>
<p>I now have a basic HTTP server on the phone which serves up a single web page and then listens for commands sent from that page over AJAX. Sending real time commands over HTTP is tricky because of the overhead in setting up TCP connections and the fact that requests may arrive out of sequence. I got around the first problem by using HTTP 1.1 persistent connections and the second by including a counter variable with each request. Any request with a counter value less than the last one received is ignored.</p>
<p>Using multiple threads on the phone to handle each incoming request, I&#8217;ve got response times over wifi down to around 30ms which is good enough. I&#8217;ve not yet tried it over 3G but I suspect network latency may be a big problem.</p>
<p>I looked into using <a href="http://en.wikipedia.org/wiki/User_Datagram_Protocol">UDP</a> instead of TCP to send the commands as that&#8217;s what <a href="http://en.wikipedia.org/wiki/Real-time_Transport_Protocol">RTP</a> uses. However there&#8217;s no way to send UDP packets from JavaScript and I didn&#8217;t want to have to use Flash or Java on the client side.</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/PqfHebVifzc?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<h3>Next</h3>
<p>Likely next steps are:</p>
<ul>
<li>Stream video from the camera to the browser so I can drive it from another room (or country)</li>
<li>Improve the input UI to make it easier to drive</li>
<li>Implement some basic machine vision algorithms such as line following or the classic <a href="http://en.wikipedia.org/wiki/Phototrope">photovore</a> behaviour (drives towards light)</li>
</ul>
<div>Other ideas for the future:</div>
<ul>
<li>Add a laser line to the front to make a <a href="https://sites.google.com/site/todddanko/home/webcam_laser_ranger">budget laser rangefinder</a></li>
<li>Let other people control it over the internet</li>
<li>Use the Android text-to-speech and the phone screen to give it a voice and a face</li>
<li>Hook it up to a thermal receipt printer and make it physically deliver my emails</li>
<li>Implement a behaviour-based robotics API with swappable behaviours</li>
<li>Foster a community of robot builders using the same API to create a pool of behaviours which can be combined to generate highly complex robot personalities</li>
<li>Skynet</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2011/08/android-robot/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Looking for bad user experience? I go DirectGov.</title>
		<link>http://tamlyn.org/2010/06/dvla/</link>
		<comments>http://tamlyn.org/2010/06/dvla/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 10:30:51 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=267</guid>
		<description><![CDATA[I&#8217;ve just moved home and so needed to update the address on my driving license. &#8220;Do it online &#8211; do it quicker,&#8221; says the DVLA website. Well all right, I reply. How naive of me. After clicking through 3 pages of introductory text (which nobody will ever read) the first step is to log in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just moved home and so needed to update the address on my driving license. &#8220;Do it online &#8211; do it quicker,&#8221; says the DVLA website. Well all right, I reply. How naive of me.</p>
<p><span id="more-267"></span></p>
<p>After clicking through 3 pages of introductory text (which nobody will ever read) the first step is to log in to the Government Gateway thing with its easily memorable 12-digit user ID. Fortunately I do my self assessment online so I already have an account because just getting a gateway login is a challenge in itself. Nevertheless I was quite impressed that they have a unified login for all government services. Or do they?</p>
<p>Once signed in, and after clicking through a few more screens of text, you have to enrol in the Motoring section which involves filling out all your personal details again in an extra long form which asks for increasingly irrelevant details such as UK passport number. After over ten minutes of form-filling, the last step it told me that my details didn&#8217;t match up and made me go back and check everything.</p>
<p>It turned out I had omitted my middle name from the form. OK, so I&#8217;ve just provided all this personal information including addresses, 16 character driver number, 10 character photocard reference number and 12 digit counterpart license reference number and they&#8217;re failing the form because the middle names don&#8217;t match? Really? After stepping through the entire form a third time because the confirmation page incorrectly formatted my postcode with an extra &#8220;0&#8243; (incorrect use of sprintf()?), I finally completed the form.</p>
<p>The final step, they informed, was to print out a form, date and sign it, and post it, my photocard driving license and my counterpart license to the DVLA within 21 days.</p>
<p>Now pause for a moment of reflection and compare this to the pre-online experience of updating your driving license address.</p>
<p>Step 1: write your new address in the space provided at the bottom of your counterpart driving license.</p>
<p>Step 2: post this and the photocard license to the DVLA.</p>
<p>Step 3: oh, wait, that&#8217;s it. There is no step 3.</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2010/06/dvla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing a better payslip</title>
		<link>http://tamlyn.org/2009/10/designing-a-better-payslip/</link>
		<comments>http://tamlyn.org/2009/10/designing-a-better-payslip/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 23:30:45 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=246</guid>
		<description><![CDATA[You know there&#8217;s something seriously wrong when your payslip is three pages long and comes with a two page explanatory leaflet. Payslips are often pretty cryptic but the one I received today was so bad it took me over half an hour to work it out. All I really care about is how much have [...]]]></description>
			<content:encoded><![CDATA[<p>You know there&#8217;s something seriously wrong when your payslip is three pages long and comes with a two page explanatory leaflet. Payslips are often pretty cryptic but the one I received today was so bad it took me over half an hour to work it out. All I really care about is <em>how much have I earned</em>, <em>how much am I getting</em> and, most importantly, <em>where did the rest go</em>?</p>
<p>The only way I could decipher this mess was to draw a kind of bar chart and fill in the numbers. Once I finished I realised that I had inadvertently created a hugely more readable representation of the information contained in the payslip. So here&#8217;s a copy of the original payslip and my effort at an improved version.</p>
<p><span id="more-246"></span></p>
<p><a href="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/parasol1.png"><img class="size-medium wp-image-247 alignnone" title="Payslip pag 1" src="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/parasol1-212x300.png" alt="Payslip pag 1" width="170" height="240" /></a> <a href="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/parasol2.png"><img class="size-medium wp-image-248 alignnone" title="Payslip page 2" src="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/parasol2-212x300.png" alt="Payslip page 2" width="170" height="240" /></a><a href="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/parasol3.png"><img class="alignnone size-medium wp-image-249" title="Payslip page 3" src="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/parasol3-212x300.png" alt="Payslip page 3" width="170" height="240" /></a></p>
<p>Click each image to expand and do spend a few minutes trying to make sense of them.</p>
<p>This improved version displays the same information condensed into one page while clearly showing the relationship between the figures.</p>
<p><a href="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/payslip.png"><img class="alignnone size-medium wp-image-250" title="Improved payslip" src="http://tamlyn.org/wordpress/wp-content/uploads/2009/10/payslip-214x300.png" alt="Improved payslip" width="214" height="300" /></a></p>
<p>Now bear in mind that I&#8217;m not an accountant, nor am I an information designer. I&#8217;m not even a graphic designer. But I am someone who receives payslips and wants to understand them. And from that point of view I hope you&#8217;ll agree it&#8217;s a vast improvement.</p>
<p>The principles of usability apply to more than websites &amp; software. Just about everything can benefit form a bit of sensible design.</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/10/designing-a-better-payslip/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>csv2json: Convert CSV to JSON</title>
		<link>http://tamlyn.org/2009/06/csv2json-convert-csv-to-json/</link>
		<comments>http://tamlyn.org/2009/06/csv2json-convert-csv-to-json/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 14:29:37 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=242</guid>
		<description><![CDATA[I needed to convert some comma-separated data into JSON for a JavaScript project I&#8217;m working on. Surprisingly I couldn&#8217;t find anything online to do it so I knocked up this script. Hope someone finds it useful. Currently it requires the CSV file to be uploaded online somewhere. If there&#8217;s demand I can change it to [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to convert some comma-separated data into JSON for a JavaScript project I&#8217;m working on. Surprisingly I couldn&#8217;t find anything online to do it so I knocked up <a href="http://tamlyn.org/tools/csv2json/">this script</a>. Hope someone finds it useful.</p>
<p><span id="more-242"></span>Currently it requires the CSV file to be uploaded online somewhere. If there&#8217;s demand I can change it to allow uploading of a file or just pasting in the data.</p>
<p><a href="http://tamlyn.org/tools/csv2json/">Convert CSV to JSON</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/06/csv2json-convert-csv-to-json/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>How @trendingtopics works</title>
		<link>http://tamlyn.org/2009/06/how-trendingtopics-works/</link>
		<comments>http://tamlyn.org/2009/06/how-trendingtopics-works/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 11:08:58 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=237</guid>
		<description><![CDATA[I made the @trendingtopics Twitter bot to keep me and others up to date on the (often) interesting topics that are being discussed most across the Twitterverse. This is a slightly technical explanation of how it all works. The bot is updated from a PHP script on this sevrer which is run on a cron [...]]]></description>
			<content:encoded><![CDATA[<p>I made the @<a href="http://twitter.com/trendingtopics">trendingtopics</a> Twitter bot to keep me and others up to date on the (often) interesting topics that are being discussed most across the Twitterverse. This is a slightly technical explanation of how it all works.</p>
<p><span id="more-237"></span>The bot is updated from a PHP script on this sevrer which is run on a cron job every 20 minutes. Each time it runs this is what happens:</p>
<ol>
<li>It starts by fetching a <a href="http://search.twitter.com/trends.json">JSON feed</a> of the current &#8220;trending topics&#8221; as determined by Twitter. How these topics are calculated isn&#8217;t known to me but they&#8217;re the same 10 topics that are shown on the <a href="http://search.twitter.com/">Twitter search page</a> and in the right column of the Twitter home page when you&#8217;re logged in.</li>
<li>It throws away all but the top three terms that are not <a href="http://twitter.pbworks.com/Hashtags">hashtags</a>.</li>
<li>It checks the local database to see if it has already tweeted the topic in the past 8 days. If it has then it ignores this term. If it hasn&#8217;t then it adds it to the database and continues.</li>
<li>It then starts contructing the text of the tweet starting with the term itself and a link to the Twitter search results for that term.</li>
<li>It fires off a request to the <a href="http://code.google.com/apis/ajaxsearch/">Google Web Search API</a> using <a href="http://php.net/curl">cURL</a> to fake the referer and checks the results:
<ul>
<li>If one of the top 5 results is a Wikipedia entry then link to it.</li>
<li>If one of the top 5 results is a Twitter profile then add a link to that user.</li>
</ul>
</li>
<li>Add a link to the Google search results page for the term.</li>
<li>Finally send the tweet to Twitter, again using cURL.</li>
</ol>
<p>I hope that&#8217;s been vaguely intersting.</p>
<p>For the future I&#8217;d like to add a check for current news items using Google news and also add a filter to remove trends which are parts of a popular blog title such as stuff from TechCrunch and Smashing which often end up on the trending topics.</p>
<p>As an aside I find it quite amusing to see all the people <a href="http://search.twitter.com/search?q=@trendingtopics">sending topic &#8216;suggestions&#8217;</a> to @trendingtopics. It doesn&#8217;t work like that people, sorry!</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/06/how-trendingtopics-works/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Enabling multitouch on Synaptics trackpads</title>
		<link>http://tamlyn.org/2009/06/enabling-multitouch-on-synaptics-trackpads/</link>
		<comments>http://tamlyn.org/2009/06/enabling-multitouch-on-synaptics-trackpads/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 15:02:34 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=233</guid>
		<description><![CDATA[I&#8217;ve just discovered that my laptop touch pad has multitouch, it just needed to be enabled! There are two parts to this process and it will take a few minutes but it&#8217;s well worth it in my opinion. The first part is the simplest. Download two-finger-scroll which is a simple little free program to enable [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just discovered that my laptop touch pad has multitouch, it just needed to be enabled! There are two parts to this process and it will take a few minutes but it&#8217;s well worth it in my opinion.<span id="more-233"></span></p>
<p>The first part is the simplest. Download <a href="http://code.google.com/p/two-finger-scroll/">two-finger-scroll</a> which is a simple little free program to enable Mac-style two finger scrolling on Windows. No installation necessary, just put the TwoFingerScroll.exe file somewhere out of the way, run it and enjoy two finger scrolling! You&#8217;ll probably want to go to its settings page (right click on the hand icon next to the clock) and check &#8220;Start with Windows&#8221;. While you&#8217;re there, check out the bonus features such as middle button emulation using two-finger tap. The &#8220;one + one finger&#8221; options were a bit obscure to me. Turns out it means &#8220;hold one finger on the trackpad and tap with another&#8221; to simulate, for example, a right click. Nice idea but I couldn&#8217;t get it to work reliably.</p>
<p>The next part is a bit more complicated and doesn&#8217;t pay off as much so you may not want to bother. It turns out the basic Synaptics drivers include <a href="http://www.synaptics.com/solutions/technology/gestures/touchpad">a whole load of multitouch features</a> that have, for some reason, been disabled. Some enterprising souls have hacked the drivers to re-enable these features. Basically you need to <a href="http://forum.notebookreview.com/showthread.php?t=218872">download the hacked drivers</a>, uninstall your current drivers, restart, install the new drivers and restart. This enables some cool features like &#8220;Swipe two fingers left to go Back&#8221; or &#8220;Swipe three fingers down to minimize the current window&#8221; etc.</p>
<p>Unfortunately the Synaptics drivers don&#8217;t support two finger scrolling and the TwoFingerScroll program seems to override the two finger gestures. I&#8217;m still playing around with the settings to see which I like most.</p>
<p>I was playing with a friend&#8217;s MacBook a few weeks ago marvelling and the gestures like 4 finger swipe down for Exposé. Little did I know my laptop could do the same!</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/06/enabling-multitouch-on-synaptics-trackpads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem: accessing frame URLs across domains</title>
		<link>http://tamlyn.org/2009/03/problem-accessing-frame-urls-across-domains/</link>
		<comments>http://tamlyn.org/2009/03/problem-accessing-frame-urls-across-domains/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 17:48:13 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=211</guid>
		<description><![CDATA[I&#8217;ve got a problem and I need some help. I&#8217;m building a semantic webby type thing where the web page you are viewing will be augmented with a menu showing other relevant info gathered from elsewhere using a clever algorithm which is already built.  My first attempt was to build a page with an &#60;iframe&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got a problem and I need some help. I&#8217;m building a semantic webby type thing where the web page you are viewing will be augmented with a menu showing other relevant info gathered from elsewhere using a clever algorithm which is already built. </p>
<p><span id="more-211"></span>My first attempt was to build a page with an &lt;iframe&gt; in which to show the web content <em>a la</em> <a href="http://www.stumbleupon.com/toolbar/">StumbleUpon</a>. Trouble is, while you can set the URL of an iframe via JavaScript, you can&#8217;t read it when it&#8217;s on a different domain for security reasons. That means when a user navigates to a different page within the iframe, the semantic webby thing won&#8217;t know what information to display.</p>
<p>So here are some half-baked ideas. Any further cooking tips much appreciated.</p>
<ul>
<li><strong>Proxy</strong> all page views through a script on the same server as the semantic webby thing. This means all pages are on the same domain so JavaScript can see the iframe URL. But that means rewriting all the URLs in the page on-the-fly which is hard and it will almost certainly break any Ajaxy stuff since we&#8217;re effectively changing the domain of the page.</li>
<li>Create a <strong>browser plugin</strong>. Only really an option for Firefox.</li>
<li>Use <strong>AIR</strong>, which, as I understand it, has a version of WebKit built in. This also requires software installation and effectively means building a new browser interface in AIR.</li>
<li><strong>Flash/Silverlight</strong>? Is it possible to embed a web page in a Flash or Silverlight file and access the page&#8217;s URL?</li>
</ul>
<p>Anything else I haven&#8217;t thought of?</p>
<p>Please help!</p>
<p><strong>Update:</strong> Thanks to @<a href="http://twitter.com/futureshape">futureshape</a> for suggesting <a href="http://www.conduit.com/">Conduit</a> which is a cross-browser drag &amp; drop toolbar building platform. I looked into it and it would probably make IE development a bunch easier. However it turned out the project spec could be changed so that I can build the whole thing as a <a href="http://en.wikipedia.org/wiki/Bookmarklet">bookmarklet</a>. Hooray for maleable specifications!</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/03/problem-accessing-frame-urls-across-domains/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interaction &#8217;09 Highlights</title>
		<link>http://tamlyn.org/2009/02/interaction09/</link>
		<comments>http://tamlyn.org/2009/02/interaction09/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 03:56:10 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[interaction09]]></category>
		<category><![CDATA[ixd09]]></category>
		<category><![CDATA[ixda]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=202</guid>
		<description><![CDATA[Four days of presentations, workshops &#38; chats have drawn to a close. I&#8217;ve had a great time, learned a lot, met interesting people and leave full of ideas and enthusiasm. Full videos of every session will be posted up on the site in due course but in the meantime, here are some of my highlights. [...]]]></description>
			<content:encoded><![CDATA[<p>Four days of presentations, workshops &amp; chats have drawn to a close. I&#8217;ve had a great time, learned a lot, met interesting people and leave full of ideas and enthusiasm. Full videos of every session will be posted up <a href="http://interaction09.ixda.org/">on the site</a> in due course but in the meantime, here are some of my highlights.</p>
<p><strong></strong></p>
<p><span id="more-202"></span></p>
<p><strong>John Thackara: Sustainability</strong></p>
<p>John gave the opening keynote broadly on the subject of sustainability. He believes that our society and economy are undergoing a fundamental shift in the way they measure their own success. An economy in which &#8216;growth&#8217; is the primary metric of health is clearly not sustainable in a finite environment such as the planet Earth.</p>
<p><img src="http://farm4.static.flickr.com/3327/3259559386_3cc07ae003.jpg" alt="John Thackara keynote at Interaction '09 in Vancouver" width="500" height="333" /></p>
<p>To support this idea, he listed a number of areas which he believes will soon &#8216;peak&#8217;. Peak oil is familiar to most people: the production and consumption of oil cannot rise indefinitely hence at some point it will peak, after which production will shrink. Peak credit is also widely known though not usually under that name. He introduced the concepts of peak movement (the amount that people travel cannot continue to increase at the current rate), peak embergy (the amount of waste produced in the manufacture of goods and food is too great), peak water (our water consumption is too high) and a few other peaks which I forget.</p>
<p>The remainder of his talk can be summed up in one word: decentralise. Production of our food, energy, water and consumer products is, in his opinion, too distributed, which wastes energy in transportation and makes us more vulnerable to breakages in the supply chain.</p>
<p>I disagree with certain parts of John&#8217;s thesis.</p>
<p>Although we have certainly seen a recent reduction in the availability of credit, I don&#8217;t think it&#8217;s obvious that this represents an all-time peak. Even less likely is that the path now is ever downwards. In my opinion, credit availability will rise again. I think it&#8217;s easy to overplay the importance of the credit crisis. People in every age believe that theirs will be one of great change but as we know, <em>plus ça change</em>, <em>plus c&#8217;est</em> la <em>même chose.</em></p>
<p>Similarly I don&#8217;t see that movement, waste and water consumtion are likely to peak any time soon and moreover, if they do, it will almost certainly be due to peak oil.</p>
<p>As for the decentralisation argument, how will this make us more efficient? Surely the reason we centralised in the first place was for increased efficiency? Nevertheless is was an excellent talk which really got me thinking about my role in life and in the world.</p>
<p><strong>Robert Fabricant: Changing behaviour</strong></p>
<p>Robert kicked off Saturday by suggesting ways in which to harness people&#8217;s emotions to enable changes in their behaviour. He quoted from Dan Ariely&#8217;s excellent book <em><a href="http://www.predictablyirrational.com/">Predictably Irrational</a></em> which I am currently reading.</p>
<p><a title="hcphotos_interaction09_-18 by helenchanchan, on Flickr" href="http://www.flickr.com/photos/helenchanphotography/3262937242/"><img src="http://farm4.static.flickr.com/3531/3262937242_92f29044ee.jpg" alt="Robert Fabricant keynote at Interaction '09 in Vancouver" width="500" height="332" /></a></p>
<p>However, what really inspired me was the discussion of his involvement in frog design&#8217;s recent project with AIDS clinics in South Africa. As he explained, one of the biggest problems is that most South Africans who are HIV+, are unaware of the fact. Men especially are reluctant to attend testing clinics because of the stigma attached to AIDS. Through extensive ethnographic research, Robert and his team were able to design a cheap home testing kit with clear usage instructions and messages from local rap stars reinforcing the message that &#8220;knowing your [HIV] status&#8221; is something to be proud of. Initial tests of the kit suggest that it will redically increase the number of people who can receive treatment for HIV/AIDS.</p>
<p>That&#8217;s the kind of behaviour change that can really improve people&#8217;s lives and benefit all of humanity.</p>
<p><strong>Björn Hartmann: Interactive Design Table</strong></p>
<p>The most amazing technological demo I saw this weekend appeared to be an afterthought, tacked onto the end of Bjorn&#8217;s talk about rapid software/hardware prototyping methods. Fortunately, <a href="http://www.flickr.com/photos/joshdamon/">someone</a> videod the best bit and posted it online almost immediately. Watch:</p>
<p><object width="500" height="375" data="http://www.flickr.com/apps/video/stewart.swf?v=67090" type="application/x-shockwave-flash"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=3ac0d73c9a&amp;photo_id=3263409111&amp;show_info_box=true" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=67090" /><param name="allowfullscreen" value="true" /></object></p>
<p>This is a video demo of a prototype interactive design table project currently codenamed &#8220;fourbysix&#8221;. Not only is it a multitouch surface but it incorporates a high resolution camera which allows &#8216;real&#8217; objects placed on it to be digitised. When a wireless keyboard is placed on the surface, it is recognised by the software and augmented with several virtual controls. This allows a perfect blend of traditional input methods and intuitive direct manipulation input.</p>
<p>This technology is not new. I&#8217;ve seen countless cute tech demos of multitouch projection displays, augmented reality and surface computing. But this is the first time I have ever seen it used in a way that is <strong>actually useful</strong>. <em>Really</em> useful. At the end of the presentation when Bjorn asked &#8220;Any questions?&#8221;, the entire room responded with &#8220;Where can I get one?!&#8221;</p>
<p>Microsoft eat your heart out.</p>
<p><strong>Joseph Dombroski: Waiting</strong></p>
<p>Another, more down-to-earth presentation came on the subject of waiting. We often have to wait for things. We wait for a file to save, we wait for a web page to download, we wait for the elevator, we wait for the customer service agent to answer our call. Waiting usually isn&#8217;t much fun and can often lead to frustration (&#8220;Your call is important to us. Please hold.&#8221;). The best experience would usually be achieved by removing the wait entirely but this isn&#8217;t always possible.</p>
<p>But, as Joseph explained, it isn&#8217;t the wait itself which is frustraiting, it is the perception of the wait. And perceptions can be manipulated. For example, research has shown that a wait of up to 90 seconds in a checkout queue is perceived as part of the buying activity. After 90 seconds, however, people start to perceive waiting as an activity in its own right and become frustrated.</p>
<p>I was remineded of the famous apocryphal story of the architect who was tasked with speeding up the elevators in an apartment block. Instead of modifying the lifts, he simply installed mirrors in the lobby. This gave people something to do while waiting and thereby reduced the perceived length of the wait.</p>
<p><strong>What is Interaction Design?</strong></p>
<p>During the course of the conference, a theme emerged around the idea that we should be using design to help make the world a better place. Interaction design isn&#8217;t just about the web. Interaction design need not even be about technology. Interaction design is about designing the interactions between people, between things and between people and things.</p>
<p>Awareness of how design can impact the world is rising within the industry. Outside of the industry, however, most people remain ignorant to the very existence of interaction design. What better way, then, to raise the profile of the discipline than to undetake projects which deliver on our goal to improve the world.</p>
<p>When can you start?</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/02/interaction09/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>More search terms instead of URLs</title>
		<link>http://tamlyn.org/2009/01/more-search-terms-instead-of-urls/</link>
		<comments>http://tamlyn.org/2009/01/more-search-terms-instead-of-urls/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 22:22:14 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[trends]]></category>
		<category><![CDATA[urls]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=179</guid>
		<description><![CDATA[In August I posted about an emergent trend of sharing web addresses by quoting search terms rather than URLs. For instance the PM programme on BBC Radio 4 says &#8220;to find our blog, put pm blog into any search engine.&#8221; Since then I&#8217;ve noticed this pattern in a few other places. More4, Channel 4&#8242;s documentary [...]]]></description>
			<content:encoded><![CDATA[<p>In August <a href="http://tamlyn.org/2008/08/search-terms-instead-of-urls/">I posted</a> about an emergent trend of sharing web addresses by quoting search terms rather than URLs. For instance the PM programme on BBC Radio 4 says &#8220;to find our blog, put pm blog into any search engine.&#8221; Since then I&#8217;ve noticed this pattern in a few other places.</p>
<p><span id="more-179"></span><a href="http://www.channel4.com/more4/">More4</a>, Channel 4&#8242;s documentary TV channel, says &#8220;search online for more4&#8243; on the inter-programme trails.</p>
<p><a href="http://uk.youtube.com/watch?v=WoIJb-Th1lI"><img class="aligncenter size-full wp-image-182" title="More4 ID screen" src="http://tamlyn.org/wordpress/wp-content/uploads/2009/01/more41.png" alt="More4 ID screen" width="400" height="281" /></a></p>
<p> </p>
<p>Also on TV, the government&#8217;s <a href="http://direct.gov.uk/ActOnCO2">Act On CO2</a> environmental awareness ads invite viewers to &#8220;Search online for Act On CO2.&#8221;</p>
<p><a href="http://uk.youtube.com/watch?v=jqC594ly2Q8"><img class="aligncenter size-full wp-image-183" title="Act On CO2, new version" src="http://tamlyn.org/wordpress/wp-content/uploads/2009/01/actonco2.png" alt="Act On CO2, new version" width="400" height="259" /></a></p>
<p>Although it isn&#8217;t given much prominence on the page, the narrator reads the text aloud making it even easier to remember. Compare this to the older ads which bore the full, confusingly capitalised URL.</p>
<p><a href="http://uk.youtube.com/watch?v=hCJotacAmo4"><img class="aligncenter size-full wp-image-184" title="Act On CO2, old version" src="http://tamlyn.org/wordpress/wp-content/uploads/2009/01/actonco2-old1.png" alt="Act On CO2, old version" width="400" height="269" /></a></p>
<p>As I said in my previous post on the subject, <a href="http://tamlyn.org/2008/08/search-terms-instead-of-urls/">URLs are horribly unusable</a> and I&#8217;ll be the first to cheer when we finally do away with them. May this be the start of something.</p>
<p>Anyone seen other sites doing this?</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/01/more-search-terms-instead-of-urls/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter Trending Topics 2.0</title>
		<link>http://tamlyn.org/2009/01/twitter-trending-topics-20/</link>
		<comments>http://tamlyn.org/2009/01/twitter-trending-topics-20/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 18:28:32 +0000</pubDate>
		<dc:creator>Tamlyn</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[trendingtopics]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://tamlyn.org/?p=177</guid>
		<description><![CDATA[I&#8217;ve updated the code that runs @trendingtopics. It will now tweet sooner, avoid duplicate tweets, ignore hashtags and add links to Wikipedia and Google where appropriate. My aim for this update was to be a bit more intelligent in what to tweet and when. I also wanted to show a bit more about the topic without [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated the code that runs @<a href="http://twitter.com/trendingtopics">trendingtopics</a>. It will now tweet sooner, avoid duplicate tweets, ignore hashtags and add links to Wikipedia and Google where appropriate. My aim for this update was to be a bit more intelligent in what to tweet and when. I also wanted to show a bit more about the topic without having to read through a stream of tweets on a Twitter search page. This update goes some way towards those goals but I&#8217;ll be tweaking it more over the next few days so please let me know what you think, either here on or Twitter.</p>
<p><strong>Update</strong>: here&#8217;s a technical description of <a href="http://tamlyn.org/2009/06/how-trendingtopics-works/">how it all works</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tamlyn.org/2009/01/twitter-trending-topics-20/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

