﻿<?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>Glenn Jones</title>
	<atom:link href="http://glennjones.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://glennjones.net</link>
	<description>exploring semantic mark-up and data portability</description>
	<lastBuildDate>Wed, 13 Mar 2013 11:41:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>AppCache and SSL</title>
		<link>http://glennjones.net/2013/03/appcache-and-ssl/</link>
		<comments>http://glennjones.net/2013/03/appcache-and-ssl/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 11:33:32 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[html5 appcache]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=909</guid>
		<description><![CDATA[UPDATED POST: Tues 12 Mar 2013 We have just hit a bit of an issue with AppCache whilst we were deploying a new version of a client site. It’s not really a bug, but more a lack of clarity in the current documentation and different implementations in the browsers. It has taken me sometime to [...]]]></description>
				<content:encoded><![CDATA[<p><strong>UPDATED POST: <time class="dt-updated" date-time="2013-03-12">Tues 12 Mar 2013</time></strong></p>
<p>We have just hit a bit of an issue with AppCache whilst we were deploying a new version of a client site. It’s not really a bug, but more a lack of clarity in the current documentation and different implementations in the browsers.</p>
<p>It has taken me sometime to understand how the <code>NETWORK:</code> section of the AppCache actually works. In the end, I had to build a <a href="http://codebits.glennjones.net/appcache/network/index.html">series of AppCache tests</a> to figure it out.  </p>
<h2>The story</h2>
<p>We setup the NETWORK: section of the AppCache to point at a rest API</p>
<pre class="block"><code>
NETWORK:
//example.com/api/*

# This code is an incorrect use of AppCache
</code></pre>
<h2>Breaking AppCache</h2>
<p>As we deployed our site we wanted to run the API that is on another domain under SSL. So we changed the URL in the <code>NETWORK:</code> section so it started with https and added the certificate to the site. i.e.</p>
<pre class="block"><code>
NETWORK:
https//example.com/api/*

# This code is an incorrect use of AppCache
</code></pre>
<p>At this point Chrome stopped making API requests, we were only initially testing with Chrome.</p>
<h2>First mistake &#8211; putting the * wildcard in the wrong place</h2>
<p>Our first mistake is that we wrongly added the * wildcard to the end of the URL. Each entry in the NETWORK: section can be one of three types.  These entries are usually added as a new line directly under the <code>NETWORK:</code> section header. The entry types are:</p>
<ul>
<li>* wildcard on its own</li>
<li>relative or absolute URL</li>
<li>URL “Prefix match” </li>
</ul>
<h2>Examples of the correct use of AppCache <code>NETWORK:</code> section</h2>
<pre class="block"><code>
NETWORK:
/data/api/
https//example.com/api/
*
</code></pre>
<h2>“Prefix match” URL</h2>
<p>A “Prefix match” is a strange concept &#8211; it’s a URL that is used as a “starting with” matching pattern. If your API has many endpoints but they all live in the path http://example.com/api/ then that’s all you need to add to the <code>NETWORK:</code> section. The * wildcard can only be used on its own and means any URL.</p>
<h2>Second mistake – URLs should have the same protocol and domain as the manifest</h2>
<p>There are other rules that effect the use of URLs in the <code>NETWORK:</code> section. All URLs have to use the same protocol scheme i.e. http or https and be from the same domain as the manifest. </p>
<p>Browser implementations of these rules do differ, Firefox is strict and insists on the same domain, where as other browsers only insist on the same protocol scheme.  See the <a href="http://codebits.glennjones.net/appcache/network/index.html">test examples</a> I have built to demonstrate this.</p>
<p>In effect, that means to get good support across the major browsers you can only use URLs in the <code>NETWORK:</code> section if they are to the same domain as the manifest.</p>
<h2>The fix is to use the * wildcard and not URLs</h2>
<p>The vast majority of sites sidestep the complexities of URLs, by just applying the   * wildcard on its own i.e.</p>
<pre class="block"><code>
NETWORK:
*
</code></pre>
<p>This will work with the manifest on one scheme (http) and the API on another (https). The wildcard does not have the same rules as URLs.</p>
<p>You have to ask why the hell the authors of the specification added all this complexity if all that happens is that everyone applies the  * wildcard.</p>
<p>Thanks to Jake Archibald for <a href="http://stackoverflow.com/questions/15293684/ssl-path-in-appcache-network-being-restricted-in-chrome/15300484#15300484">some pointers</a> to the answers as I waded my way through this. </p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2013/03/appcache-and-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Response Day Out Conference</title>
		<link>http://glennjones.net/2013/03/response-day-out-conference/</link>
		<comments>http://glennjones.net/2013/03/response-day-out-conference/#comments</comments>
		<pubDate>Mon, 04 Mar 2013 15:29:16 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[progressive enhancement]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[web fonts]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=888</guid>
		<description><![CDATA[I went to the Responsive Day Out event this Friday. Rather than write about each speaker I want to try and pull out the major themes of the day. Web and asset fonts There were a number of good practical take aways from Richard Rutter, Josh Emerson and Andy Hume talks on web fonts. Josh’s [...]]]></description>
				<content:encoded><![CDATA[<div class="vevent">
<p>I went to the <a class="url" href="http://responsiveconf.com/">Responsive Day Out</a> event <time class="dtstart" datetime="2012-03-01">this Friday<a/>. Rather than write about each speaker I want to try and pull out the major themes of the day.</p>
<h2>Web and asset fonts</h2>
<p>There were a number of good practical take aways from <a href="http://clagnut.com/">Richard Rutter</a>, <a href="http://joshemerson.co.uk/">Josh Emerson</a> and <a href="http://">Andy Hume</a> talks on web fonts. <a href="https://speakerdeck.com/joshje/asset-fonts">Josh’s talk</a> had a couple of neat ways of progressively enhancing content with resolution independent icons stored as a web font. I particularly liked the use of a <code>data</code> attribute in the HTML and <code>content</code> attribute in the CSS in his code examples</p>
<pre class="prettyprint" lang-html><code>
// CCS
[data-icon]:before{
   content: attr(data-icon);
   font-family: 'Cleardings';
   speak: none;
}

// HTML
&lt;a data-icon=&quot;&amp;#xe012;&quot; href=&quot;http://twitter.com/clearleft&quot;&gt;
@clearleft
&lt;/a&gt;
});
</code></pre>
<p>I also thought the use of <a href="http://en.wikipedia.org/wiki/Typographic_ligature">ligatures</a> to allow the replacement of words in your text with single icons was good. Take a look at the <a href="http://forecast.is/">forecast.is</a> example site Josh put together to illustrate the approaches he talked about. </p>
<p>Part of Andy’s talk on “<a href="https://speakerdeck.com/andyhume/anatomy-of-a-responsive-page-load">The Anatomy of Responsive Page Load</a>” covered the method the Guardian mobile site is using to load and cache its custom web fonts.   It is a form of progressive enhancement, where only browsers that pass the following tests display the custom font:</p>
<ul>
<li>Cuts the mustard (<a href="http://blog.responsivenews.co.uk/post/18948466399/cutting-the-mustard/">BBC phrase for modern standards support</a>)</li>
<li>Supports WOFF</li>
<li>Supports localStorage</li>
</ul>
<p>The server then sends a base64-encoded font so it can be cached client-side in localStorage for reuse on further page requests.  </p>
<h2>Patterns of navigation</h2>
<p><a href="http://dbushell.com/">David Bushell</a> took an <a href="https://speakerdeck.com/dbushell/responsive-navigation">in depth look at UI patterns use for navigation</a>. He divided the common patterns found in current responsive design into five :</p>
<ul>
<li>Minor break points (<a href="http://gloople.com">gloople.com</a>)</li>
<li>Multiple tiers (<a href="http://microsoft.com">microsoft.com</a>)</li>
<li>Overlay (<a href="http://sony.com">sony.com</a>)</li>
<li>Go off-canvas (<a href="dbushell.com">dbushell.com</a>)</li>
<li>Jump to “big footer” (<a href="http://iso.org">iso.org</a>)</li>
</ul>
<p>His talk finished with a useful list of considerations you should be focusing on when making responsive design choices about navigation. </p>
<p>For me one of the strongest points David made was all the ways someone can now interact with navigation i.e. mouse, keyboard, touchpad, touchscreen, stylus, voice, movement, remote and games-pads.  True device independence is not just about screen size, a point massively reinforced in Anna Debenham’s talk. Her love of game consoles always heartens me and is a good antidote to those who consider the web a web-kit monoculture. Take a look at her console site its a great resource.</p>
<h2>Progressive enhancement</h2>
<p>Both Andy Hume and <a href="http://tmaslen.com/">Tom Maslen</a> have been involved in building large-scale responsive sites for the Guardian and BBC respectively. Their talks both focused around the practical use of progressive enhancement. Tom laid out the much talked about “<a href="http://blog.responsivenews.co.uk/post/18948466399/cutting-the-mustard/">Cutting the Mustard</a>” concept from the BBC i.e. dividing user agents by modern functionality support.  </p>
<p>The BBC’s core experience of HTML4 is delivered to all browsers, but an enhanced JavaScript experience is loaded onto any browser that supports the following:</p>
<ul>
<li>querySelector</li>
<li>localStorage </li>
<li>addEventListener</li>
</ul>
<p>I was impressed with the script loading optimisation the Guardian is using. Somehow the new async and defer properties for a script tag had passed me by.   </p>
<pre class="prettyprint" lang-html><code>
&lt;script src=&quot;app.js&quot; async defer&gt;&lt;/script&gt;
</code></pre>
<p>This allows a script to load directly after the HTML at the same time the CSS is loading. They fallback to use appendChild(script) on browsers without support for these new properties. This support detection has to be done server-side.</p>
<h2>Media queries (the future or not)</h2>
<p>More than one speaker said that they expected their use of CSS media queries to reduce as we move through the next couple of years. I got the feeling that these comments are a mixture of a response to both an over fixation on this area of CSS, but also a belief that other elements of CSS will play a much larger part in creating fluid layouts in the future. </p>
<p>So it was interesting that <a href="http://www.brucelawson.co.uk/">Bruce Lawson</a>’s talk about future standards development centered so heavily around new media queries that can target device types like touch and remote.  This felt like a mixed message.</p>
<h2>Things that where un-said</h2>
<p>There are two topics I would really liked to have heard about. These are the two difficult subjects of display advertising and web apps vs responsive design </p>
<p>I thought the approach my friend <a href="http://adactio.com/">Jeremy Keith</a> took in sidelining the subjects and the people asking about them was not as productive as maybe getting speakers to hit the subject full on.  To be fair these issues were most likely out of the scope of this event, but they will be the anchor around responsive design’s neck and they deserve a honest straight-up engagement.</p>
<h2>Death of Photoshop and winging it</h2>
<p><a href="http://www.sazzy.co.uk/">Sarah Parmenter</a> started the day by being honest and saying she often feels she is just winging it while creating responsive web designs. Her comfortable and well-homed design processes of the past had been lost in the move to responsive design.  </p>
<p>A few of the speakers also made reference to the fall from favor of the Photoshop centered design workflow.  With some contempt being levelled at the idea of the ‘deliverable’, a Photoshop layout given to a client as if it were the end point in its own right.</p>
<p>I think both points are rooted in issues of client communication.  </p>
<blockquote><p>Photoshop has not been removed from our toolkit, just its output can no longer be the crutch by which we dumb down the way we communicate complex design problems to our clients. </p></blockquote>
<blockquote><p>This new world of thousands of device formats and usage contexts means we have to draw clients more fully into the design process with all the subtle and complex trade offs involved in resolving a responsive design. </p></blockquote>
<p>I am sure Sarah is not winging it; just like most of us feeling the uncomfortable uncertainty that always comes with change. </p>
<h2>Thanks</h2>
<p><span class="summary">The event was a thought provoking day of responsive web design</span>. Even if I have not mentioned all the speakers, they all did a great job. Thanks to Jeremy and <a href="http://clearleft.com/">Clearleft</a> for putting on the event. The day was split into groups of 3 speakers all doing a 20 minutes slot with a small joint Q&#038;A session together. A good format I hope they will use again. </p>
<h2>Speaker’s slides</h2>
<ul>
<li><a href="https://speakerdeck.com/dbushell/responsive-navigation">David Bushell: Responsive Navigation</a></li>
<li><a href="https://speakerdeck.com/joshje/asset-fonts">Josh Emerson: Asset Fonts</a></li>
<li><a href="https://speakerdeck.com/andyhume/anatomy-of-a-responsive-page-load">Andy Hume: The Anatomy of a Responsive Page Load</a></li>
<li><a href="https://speakerdeck.com/paulrobertlloyd/the-edge-of-the-web">Paul Lloyd: The Edge of the Web</a></li>
</ul>
<h2>Speaker’s notes</h2>
<ul>
<li><a href="http://elliotjaystocks.com/blog/responsive-web-design-the-war-has-not-yet-been-won/">Elliot Jay Stocks: RWD — The War Has Not Yet Been Won</a></li>
</ul>
<h2>Audio recordings of talks</h2>
<ul>
<li><a href="http://huffduffer.com/adactio/103309">Sarah Parmenter: The Responsive Workflow</a></li>
<li><a href="http://huffduffer.com/adactio/103310">David Bushell: Responsive Navigation</a></li>
<li><a href="http://huffduffer.com/adactio/103311">Tom Maslen: Cutting the Mustard</a></li>
<li><a href="http://huffduffer.com/adactio/103312">Jeremy chatting with Sarah, David, and Tom</a></li>
<li><a href="http://huffduffer.com/adactio/103313">Richard Rutter: Responsive Web Fonts</a></li>
<li><a href="http://huffduffer.com/adactio/103315">Josh Emerson: Asset Fonts</a></li>
<li><a href="http://huffduffer.com/adactio/103316">Laura Kalbag: Design Systems</a></li>
<li><a href="http://huffduffer.com/adactio/103317">Elliot Jay Stocks: RWD — The War Has Not Yet Been Won</a></li>
<li><a href="http://huffduffer.com/adactio/103318">Jeremy chatting with Richard, Josh, Laura, and Elliot</a></li>
<li><a href="http://huffduffer.com/adactio/103319">Anna Debenham: Playing with Game Console Browsers</a></li>
<li><a href="http://huffduffer.com/adactio/103320">Andy Hume: The Anatomy of a Responsive Page Load</a></li>
<li><a href="http://huffduffer.com/adactio/103321">Bruce Lawson: What’s Next in StandardsLand</a></li>
<li><a href="http://huffduffer.com/adactio/103322">Jeremy chatting with Anna, Andy, and Bruce</a></li>
<li><a href="http://huffduffer.com/adactio/103323">Owen Gregory: Antiphonal Geometry</a></li>
<li><a href="http://huffduffer.com/adactio/103324">Paul Lloyd: The Edge of the Web</a></li>
<li><a href="http://huffduffer.com/adactio/103325">Mark Boulton: In Between</a></li>
<li><a href="http://huffduffer.com/adactio/103326">Jeremy chatting with Owen, Paul, and Mark</a></li>
</ul>
<h2>Write ups by other people:</h2>
<ul>
<li><a href="http://decadecity.net/blog/2013/03/01/liveblogging-responsive-conf">Orde Saunders: Liveblogging Responsive Conf</a></li>
<li><a href="http://phunkyvenom.co.uk/phunky-says/2/3/2013/notes-from-responsive-conf">Morgan Jones: Notes from Responsive Conf</a></li>
<li><a href="http://www.dan-davies.co.uk/beefcheeks-in-brighton">Dan Davies: Beefcheeks in Brighton</a></li>
<li><a href="http://www.cvwdesign.com/txp/article/491/responsive-day-out-in-brighton">Responsive Day Out in Brighton</a></li>
<li><a href="http://niaccurshi.blogspot.co.uk/2013/03/a-responsive-day-out.html">Lee Griffin: Responsive Day Out</a></li>
<li><a href="http://www.dragongraphics.co.uk/blog/responsively-winging-it-together">Ashley Nolan: Responsively winging it together</a></li>
<li><a href="http://www.welcomebrand.co.uk/thoughts/responsive-day-out-food-for-thought/">James Young: &#8211; Responsive Day Out &#8211; food for thought</a></li>
<li><a href="http://dbushell.com/2013/03/03/a-responsive-day-out/">David Bushell: A Responsive Day Out</a></li>
<li><a href="http://adactio.com/journal/6078/">Jeremy Kieth: Oh, what a Responsive Day Out that was!</a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2013/03/response-day-out-conference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Brand new microformats 2 parser</title>
		<link>http://glennjones.net/2013/01/brand-new-microformats-2-parser/</link>
		<comments>http://glennjones.net/2013/01/brand-new-microformats-2-parser/#comments</comments>
		<pubDate>Thu, 31 Jan 2013 15:26:16 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[Microformats]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=872</guid>
		<description><![CDATA[I have just released a brand new microformats 2 parser for node.js. You maybe thinking microformats are so 2006, but this is new. Hear me out… Demo API http://microformat2-node.jit.su/ Try the API with: http://the-pastry-box-project.net/ http://microformats.org/ New life in the semantic web A lot has changed in the last couple of years; the search engines have [...]]]></description>
				<content:encoded><![CDATA[<p>I have just released a brand new <a href="http://microformats.org/wiki/microformats-2">microformats 2</a> parser for <a href="http://nodejs.org/">node.js</a>. You maybe thinking microformats are so 2006, but this is new. Hear me out…</p>
<p>Demo API<br />
<a href="http://microformat2-node.jit.su/">http://microformat2-node.jit.su/</a></p>
<p>Try the API with:<br />
<a href="http://the-pastry-box-project.net/">http://the-pastry-box-project.net/</a><br />
<a href="http://microformats.org/">http://microformats.org/</a></p>
<h2>New life in the semantic web</h2>
<p>A lot has changed in the last couple of years; the search engines have started to use semantic mark-up to improve their listings. Google’s <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&#038;answer=99170">rich snippets</a> feature has created a secret army of SEO people who are quietly marking up big parts of the web with semantic data. Not that there are not already billions of microformats on the web.</p>
<p>HTML5 created a third standard of semantic web mark-up to add to the mix of RDFa and microformats. Then the search engines clubbed together and brought us <a href="http://schema.org/">schema.org</a>. After a few catfights between the standards supporter clubs, these events have brought us a small rebirth of the semantic web. </p>
<h2>microformats 2</h2>
<p>The microformats community has revisited it’s standard and come up with “<a href="http://microformats.org/wiki/microformats-2">microformats version 2</a>”. At first, I thought why! I don’t like change unless it gives me something worthwhile. After reviewing the work, I think the wholesale change to a new version of microformats is worthwhile because:</p>
<ol>
<li>The authoring patterns have been simplified even more and they are based on real life use cases e.g.: <code>&lt;a class="h-card" href="http://glennJones.net"&gt;Glenn Jones&lt;a/&gt;</code> is a valid microformat</li>
<p><br/></p>
<li>microformats 2  addresses one of the biggest problems in maintaining microformats in real sites. The class names are now prefixed i.e. class=”fn” is now class=”p-name”. The prefixes like “h-*” and “p-*” tells you a class is a microformat property and helps make sure classes are not moved or deleted by mistake</li>
<p><br/></p>
<li>Like microdata, microformats 2 now has a full specification for a JSON API. This is important as it means the parsers should now have the same output and also browsers could implement this API.</li>
</ol>
<h2>New parser and test suite</h2>
<p>Most importantly for me I wanted to help move forward microformats, I liked the fact that the API design aligned microformats 2 a little closer to microdata and RDFa. So I have invested a couple of months of my time to building a brand new JavaScript parsing engine and a comprehensive test suite.</p>
<p>microformat-node GitHub <a href="https://github.com/glennjones/microformat-node">https://github.com/glennjones/microformat-node</a><br />
Test Suite GitHub <a href="https://github.com/microformats/tests">https://github.com/microformats/tests</a></p>
<p>I have just open sourced a new version of microformat-node using this parsing engine. Soon I will create a browser compatible version of the engine and update the <a href="http://microformatshiv.com/">microformat-shiv</a> library which powers browser plug-ins etc.</p>
<p>The test suite took a long time to develop, but should provide an excellent starting point for anyone else who wants to develop a new microformats 2 parser. I know <a href="http://waterpigs.co.uk/">Barnaby Walters</a> has already started working with it for his <a href="https://github.com/indieweb/php-mf2/">php-mf2</a> parser.</p>
<p>I hope this work will help microformats and the concept of the semantic web move forward another little step. Enjoy </p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2013/01/brand-new-microformats-2-parser/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>NodeCopter Brighton &amp; kinect-drone</title>
		<link>http://glennjones.net/2012/11/nodecopter-brighton-kinect-drone/</link>
		<comments>http://glennjones.net/2012/11/nodecopter-brighton-kinect-drone/#comments</comments>
		<pubDate>Sun, 18 Nov 2012 10:42:32 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[ar-drone]]></category>
		<category><![CDATA[drone]]></category>
		<category><![CDATA[nodecopter]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=846</guid>
		<description><![CDATA[Last weekend I attended NodeCopter Brighton, a day of hacking AR-Drone’s and node.js. I wanted to control the drone by hand jestures using the Kinect’s motion detection abilities. Links to the high-res versions (.mov, .mp4 or .ogv) of the video Hackdays are funny, sometimes everything comes together, other times small things just trip you up. [...]]]></description>
				<content:encoded><![CDATA[<p>Last weekend I attended <a href="http://nodecopter.com/2012/brighton/nov-10">NodeCopter Brighton</a>, a day of hacking <a href="http://ardrone2.parrot.com/">AR-Drone’s</a> and <a href="http://nodejs.org/">node.js</a>. I wanted to control the drone by hand jestures using the <a href="http://www.xbox.com/en-GB/Kinect">Kinect’s</a> motion detection abilities. </p>
<p><iframe width="460px" height="320px" src="http://www.youtube.com/embed/1xu66fQoeFA?feature=player_detailpage" frameborder="0" allowfullscreen></iframe></p>
<p>Links to the high-res versions (<a href="http://glennjones.net/downloads/nodecopter.mov">.mov</a>, <a href="http://glennjones.net/downloads/nodecopter.mp4">.mp4</a> or <a href="http://glennjones.net/downloads/nodecopter.ogv">.ogv</a>) of the video</p>
<p>Hackdays are funny, sometimes everything comes together, other times small things just trip you up. Unfortunately Saturday was a day when nothing seemed to work for me, mainly because I made the mistake of loading the wrong version of a USB driver.  </p>
<p>On the upside that day I bumped into <a href="http://aralbalkan.com/">Aral</a> getting coffee at <a href="http://www.taylor-st.com/locations/brighton">Taylor St</a> who pointed me to a <a href="https://github.com/aral/GrabMagic">project</a> he did using Kinect with processing.  </p>
<p>So after a couple of hours of hacking after the event, I could wave my hands and fly a drone. Once I had the right USB driver installed.</p>
<p>Thanks to everyone who made the day possible, I had a great time. I am glad with others, <a href="http://www.madgex.com/">Madgex</a> was able to sponsor the event. </p>
<p>You can download the project from github <a href="https://github.com/glennjones/kinect-drone">kinect-drone</a>, enjoy</p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2012/11/nodecopter-brighton-kinect-drone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://glennjones.net/downloads/nodecopter.mov" length="6619130" type="video/quicktime" />
<enclosure url="http://glennjones.net/downloads/nodecopter.mp4" length="3025760" type="video/mp4" />
<enclosure url="http://glennjones.net/downloads/nodecopter.ogv" length="4015922" type="video/ogg" />
		</item>
		<item>
		<title>Faster version of microformat-node</title>
		<link>http://glennjones.net/2012/10/faster-version-of-microformat-node/</link>
		<comments>http://glennjones.net/2012/10/faster-version-of-microformat-node/#comments</comments>
		<pubDate>Mon, 22 Oct 2012 13:36:47 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[node.js]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=834</guid>
		<description><![CDATA[I have just uploaded a new version of microformat-node. The parser now takes between 30-40 milliseconds to parse an average page, about 8 times the speed of the last version. Features of new version About 8x faster at parsing Will now load onto Windows based hosting solutions correctly Inbuilt cache system, which can be customised [...]]]></description>
				<content:encoded><![CDATA[<p>I have just uploaded a new version of microformat-node. The parser now takes between 30-40 milliseconds to parse an average page, about 8 times the speed of the last version. </p>
<p>Features of new version</p>
<ul>
<li>About 8x faster at parsing </li>
<li>Will now load onto Windows based hosting solutions correctly</li>
<li>Inbuilt cache system, which can be customised</li>
<li>Upgraded logging and trace options</li>
<li>Upgraded unit test system</li>
<li>Added support for JavaScript promise</li>
</ul>
<p>&nbsp;</p>
<p>Example: <a href="http://microformat-node.jit.su/">http://microformat-node.jit.su/</a><br />
Code: <a href="https://github.com/glennjones/microformat-node">https://github.com/glennjones/microformat-node</a></p>
<p>&nbsp;</p>
<p>I have changed how the method calls work so if you are using the last version you may have to update your code. The parse methods parseHtml and parseUrl now follow the standard pattern used in node.js and return an error and data object rather than just the data object.</p>
<p>with URL</p>
<pre class="prettyprint" lang-html><code>
var microformat = require("microformat-node");

microformat.parseUrl('http://glennjones.net/about', function(err, data){
    // do something with data
});
</code></pre>
<p>or with raw html</p>
<pre class="prettyprint" lang-html><code>
var microformat = require('microformat-node');

var html = '&lt;p class=&quot;vcard&quot;&gt;&lt;a class=&quot;fn url&quot; href=&quot;http://glennjones.net&quot;&gt;Glenn Jones&lt;/a&gt;&lt;/p&gt;';
microformat.parseHtml(html, function(err, data){
    // do something with data
});
</code></pre>
<p>using a promise</p>
<pre class="prettyprint" lang-html><code>
var microformat = require("microformat-node");

microformat.parseUrl('http://glennjones.net/about').then( function(err, data){
    // do something with data
}));
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2012/10/faster-version-of-microformat-node/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New node.js microformats parser &#8211; microformat-node</title>
		<link>http://glennjones.net/2012/08/new-node-js-microformats-parser-microformat-node/</link>
		<comments>http://glennjones.net/2012/08/new-node-js-microformats-parser-microformat-node/#comments</comments>
		<pubDate>Fri, 31 Aug 2012 13:12:52 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[parser]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=788</guid>
		<description><![CDATA[I have built a node.js microformats parser, it is based on my previous javascript parsing code. It has been packaged up so you can easily be add to your projects using npm. Source code: https://github.com/glennjones/microformat-node Test server : http://microformat-node.jit.su Install npm install microformat-node or git clone http://github.com/glennjones/microformat-node.git cd microformat-node npm link Use with URL var [...]]]></description>
				<content:encoded><![CDATA[<p>I have built a <a href="http://nodejs.org/">node.js</a> microformats parser, it is based on my <a href="http://microformatshiv.com/">previous javascript parsing code</a>. It has been <a href="https://npmjs.org/package/microformat-node">packaged up</a> so you can easily be add to your projects using <a href="https://npmjs.org/">npm</a>. </p>
<p>Source code: <a href="https://github.com/glennjones/microformat-node">https://github.com/glennjones/microformat-node</a><br />
Test server : <a href="http://microformat-node.jit.su">http://microformat-node.jit.su</a></p>
<h2>Install</h2>
<pre class="prettyprint" lang-html><code>
npm install microformat-node
</code></pre>
<p>or</p>
<pre class="prettyprint" lang-html><code>
git clone http://github.com/glennjones/microformat-node.git
cd microformat-node
npm link
</code></pre>
<h2>Use</h2>
<p>with URL</p>
<pre class="prettyprint" lang-html><code>
var shiv = require("microformat-node");

shiv.parseUrl('http://glennjones.net/about', {}, function(data){
    // do something with data
});
</code></pre>
<p>or with raw html</p>
<pre class="prettyprint" lang-html><code>
var shiv = require('microformat-node');

var html = '&lt;p class=&quot;vcard&quot;&gt;&lt;a class=&quot;fn url&quot; href=&quot;http://glennjones.net&quot;&gt;Glenn Jones&lt;/a&gt;&lt;/p&gt;';
shiv.parseHtml(html, {}, function(data){
    // do something with data
});
</code></pre>
<p>with URL for a single format</p>
<pre class="prettyprint" lang-html><code>
var shiv = require("microformat-node");

shiv.parseUrl('http://glennjones.net/about', {'format': 'XFN'}, function(data){
    // do something with data
});
</code></pre>
<h2>Supported formats</h2>
<p>Currently microformat-node supports the following formats:<br />
<code>hCard</code>, <code>XFN</code>, <code>hReview</code>, <code>hCalendar</code>, <code>hAtom</code>, <code>hResume</code>, <code>geo</code>, <code>adr</code> and <code>tag</code>. Its important to use the right case when specifying the format query string parameter.</p>
<h2>Response</h2>
<p>This will return JSON. This is example of two geo microformats found in a page.</p>
<pre class="prettyprint" lang-html><code>
{
    "microformats": {
        "geo": [{
            "latitude": 37.77,
            "longitude": -122.41
        }, {
            "latitude": 37.77,
            "longitude": -122.41
        }]
    },
    "parser-information": {
        "name": "Microformat Shiv",
        "version": "0.2.4",
        "page-title": "geo 1 - extracting singular and paired values test",
        "time": "-140ms",
        "page-http-status": 200,
        "page-url": "http://ufxtract.com/testsuite/geo/geo1.htm"
    }
}
</code></pre>
<h2>Querying demo server</h2>
<p>Start the server binary:</p>
<pre class="prettyprint" lang-html><code>
$ bin/microformat-node
</code></pre>
<p>Then visit the server URL</p>
<pre class="prettyprint"><code>
<span>http://localhost:8888/</span>
</code></pre>
<h2>Using the server API</h2>
<p>You need to provide the url of the web page and the format(s) you wish to parse as a single value or a comma delimited list:</p>
<pre class="prettyprint" lang-html><code>
GET http://localhost:8888/?url=http%3A%2F%2Fufxtract.com%2Ftestsuite%2Fhcard%2Fhcard1.htm&#038;format=hCard
</code></pre>
<p>You can also use the hash # fragment element of a url to target only part of a HTML page. The hash is used to target the HTML element with the same id.</p>
<p>Viewing the unit tests</p>
<p>The module inculdes a page which runs the ufxtract microfomats unit test suite.</p>
<pre class="prettyprint"><code>
<span>http://localhost:8888/unit-tests/</span>
</code></pre>
<h2>Notes for Windows install</h2>
<p>microformat-node using a module called &#8216;jsdom&#8217; which in turn uses &#8216;contextify&#8217; that requires native code build. </p>
<p>There are a couple of things you normally need to do to compile node code on Windows.</p>
<ol>
<li>Install python 2.6 or 2.7, as the build scripts use it</li>
<li>Run npm inside a Visual Studio shell, so for me, Start->Programs->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio Command Prompt </li>
</ol>
<p>If you have the standard release of node it will probably be x86 rather than x64, for x64 there is a different Visual Studio shell but usally in same place. </p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2012/08/new-node-js-microformats-parser-microformat-node/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking for new things to do</title>
		<link>http://glennjones.net/2012/07/looking-for-new-things-to-do/</link>
		<comments>http://glennjones.net/2012/07/looking-for-new-things-to-do/#comments</comments>
		<pubDate>Wed, 25 Jul 2012 19:04:39 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[madgex]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=781</guid>
		<description><![CDATA[From this Friday I am looking for new things to do. I have pulled out of working full time at the company I co-founded. I will remain a director and major shareholder, and no Madgex is not in trouble in fact the opposite, it has just had its most profitable quarter in its history. After [...]]]></description>
				<content:encoded><![CDATA[<p>From this Friday I am looking for new things to do. I have pulled out of working full time at the company I co-founded.  I will remain a director and major shareholder, and no <a href="http://madgex.com/">Madgex</a> is not in trouble in fact the opposite, it has just had its most profitable quarter in its history. After helping restructure it over the last year I have the opportunity to do other things.</p>
<p>This has left me in the lucky position of being able to follow my passions.  I want to try to take the product research and design I have done commercially for years and mix it with my interests in open web and standards development.  </p>
<p>In the next few months I want to research and build projects in a number of areas:</p>
<ul>
<li>Web Intents/Activities</li>
<li>Personnel data stores using services like Dropbox</li>
<li>Possibility of semantic data reuse</li>
<li>Mobile web apps – the right way</li>
</ul>
<p>I am sure within a few months I will want to work with teams again as I always want to design and build products that impact people’s lives, that usually means lots of calibrations, but at first I want some time to open my mind to new people and ideas. </p>
<p>No sitting on beaches for me. Watch this space I am about to turn up the volume&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2012/07/looking-for-new-things-to-do/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DevUp 2012 &#8211; Barcelona</title>
		<link>http://glennjones.net/2012/05/devup/</link>
		<comments>http://glennjones.net/2012/05/devup/#comments</comments>
		<pubDate>Sat, 05 May 2012 10:45:20 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[Data Portability]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[DevUp]]></category>
		<category><![CDATA[DevUp12]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=745</guid>
		<description><![CDATA[Last Friday I went to DevUp 2012 in Barcelona. The event focused on HTML5, but interestingly for me it mixed two different development communities. As well as web developers there is a whole world of games developers who are embracing HTML5 or more precisely Canvas. Darius Kazemi from bocoup did a talk which made a [...]]]></description>
				<content:encoded><![CDATA[<p>Last Friday I went to <a href="http://devup.ideateca.com/html5/">DevUp 2012</a> in Barcelona. The event focused on HTML5, but interestingly for me it mixed two different development communities. As well as web developers there is a whole world of games developers who are embracing HTML5 or more precisely Canvas. <a href="https://twitter.com/#!/tinysubversions">Darius Kazemi</a> from <a href="http://bocoup.com/">bocoup</a> did a talk which made a side-by-side comparison of the web and games development culture.  As a games developer in a JavaScript company he had some nice insights.</p>
<p>I missed <a href="https://twitter.com/#!/htmlboy">Javier Usobiaga</a> talk on Responsive Web Design, which is a shame, but managed to go to the session by <a href="https://twitter.com/#!/hyperandroid">Ibon Tolosana</a> on <a href="http://www.ludei.com/tech/cocoonjs">CocoonJS</a>. It takes HTML5 canvas based games and boosts their performance by using an OpenGL ES execution environment. Through the day a recurring theme seemed to be that the current performance of Canvas on phones is just under what the gaming community are looking for. Although like petrol-heads I feel they will always want just a few extra frames per a second. The best example of this was Miguel Ángel Pastor’s talk on cross compiling JavaScript from C++. Not an approach I would take, but interesting.</p>
<p>I hope people found my talk “Beyond the page” on API’s of interest. The Web Intents demo did not work, although I am in good company as <a href="https://twitter.com/#!/paul_kinlan">Paul Kinlan</a> had the same trouble when he visited Barcelona. Maybe adding that one last demo at 1am the night before was not a good idea! Next time I am going to have backup screencasts.</p>
<p>The PeopleStore HTML5 app I showed on the day is unfortunately not online, but the codebits area of my site does have demos/code of some of the API’s it uses.</p>
<ul>
<li><a href="http://codebits.glennjones.net/downloadattr/downloadattr.htm">Building a virtual file and creating a download link</a></li>
<li><a href="http://codebits.glennjones.net/downloadurl/blobvirtualdownloadUrl.htm">Creating a virtual file that can be dragged off the browser</a></li>
<li><a href="http://codebits.glennjones.net/copypaste/copydata.htm">Copy and paste data between pages</a></li>
<li><a href="http://codebits.glennjones.net/registerprotocol/">Custom protocol handlers</a></li>
</li>
</ul>
<p>&nbsp;</p>
<p><script async class="speakerdeck-embed" data-id="4f9a7a83c852a9001f03517a" data-ratio="1.3333333333333333" src="//speakerdeck.com/assets/embed.js"></script></p>
<p><object style="height: 293px; width: 520px"><param name="movie" value="http://www.youtube.com/v/OysngH1NtCM?version=3&#038;feature=player_detailpage"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/OysngH1NtCM?version=3&#038;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="520" height="293"></object></p>
<p>Sorry the video does not show the demo&#8217;s there is an earlier screencast of some of these demo’s from a previous blog post.</p>
  
<video  width="520" controls="true" tabindex="0"><source src="http://glennjones.net/downloads/skillswap2011.mp4"></source>
                    <source src="http://glennjones.net/downloads/skillswap2011.webm"  type='video/webm; codecs="vp8, vorbis"'></source>
                    <source src="http://glennjones.net/downloads/skillswap2011.ogv" type='video/ogg; codecs="theora, vorbis"'></source>

                    <!-- Flash fall back -->
                    <object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="312" height="520"> 
		                <param name="movie" value="http://glennjones.net/downloads/player.swf" /> 
		                <param name="allowfullscreen" value="true" /> 
		                <param name="allowscriptaccess" value="always" /> 
		                <param name="flashvars" value="file=http://glennjones.net/downloads/skillswap.mp4&image=http://glennjones.net/downloads/skillswap2011.png" /> 

<embed type="application/x-shockwave-flash" id="player2" name="player2" src="http://glennjones.net/downloads/player.swf" width="527" height="419" allowscriptaccess="always" allowfullscreen="true" flashvars="file=http://glennjones.net/downloads/skillswap2011.mp4&image=http://glennjones.net/downloads/skillswap2011.png" /> 
</object> 
</video>

<p>I would like to thank Ideateca for inviting me to speak and putting on such a good event, the live translation services and high quality video which was streamed live added to the events success.</p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2012/05/devup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://glennjones.net/downloads/skillswap2011.mp4" length="8179696" type="video/mp4" />
<enclosure url="http://glennjones.net/downloads/skillswap2011.webm" length="19921391" type="video/webm" />
<enclosure url="http://glennjones.net/downloads/skillswap2011.ogv" length="5793987" type="video/ogg" />
		</item>
		<item>
		<title>Google are about to murder a good friend of mine</title>
		<link>http://glennjones.net/2012/04/google-are-about-to-murder-a-good-friend-of-mine/</link>
		<comments>http://glennjones.net/2012/04/google-are-about-to-murder-a-good-friend-of-mine/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 22:13:00 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[Data Portability]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[sgapi]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=715</guid>
		<description><![CDATA[Let me start by saying the good friend is an API. Google have decided to close down the Social Graph API (SGAPI) on the 20th April 2012. I have spent the last couple of months thinking of a measured response, although I do somewhat agree with Jeremy Keith’s sentiment. &#160; &#8220;Dear Google, Fuck you. Signed, [...]]]></description>
				<content:encoded><![CDATA[<p>Let me start by saying the good friend is an API. Google have decided to <a href="http://googleblog.blogspot.co.uk/2012/01/renewing-old-resolutions-for-new-year.html">close down</a> the <a href="http://code.google.com/apis/socialgraph/">Social Graph API</a> (SGAPI) on the 20th April 2012. I have spent the last couple of months thinking of a measured response, although I do somewhat agree with Jeremy Keith’s sentiment.  </p>
<p>&nbsp;</p>
<p><a href="http://glennjones.net/wp-content/uploads/2012/04/jk.gif"><img src="http://glennjones.net/wp-content/uploads/2012/04/jk.gif" alt="Jeremy Keith Tweet on SGAPI" title="Jeremy Keith Tweet on SGAPI" width="506" height="185" class="alignleft size-full wp-image-725" /></a><br />
<a href="https://twitter.com/#!/adactio/status/170248594002161664">&#8220;Dear Google, Fuck you. Signed, the people who actually use your APIs&#8221;</a></p>
<p>&nbsp;</p>
<p>The API provides two main features the first of which lists our distributed identities across the web. So if I give it the URL of my Twitter profile it returns a list of profiles I have on other sites. I wrote an in depth <a href="http://www.alistapart.com/articles/discovering-magic/">List Apart article</a> about how this feature works. The second feature tries to find links to profiles of people you have listed as friends/followers on social media sites. </p>
<h2>Let’s be pragmatic about its true value</h2>
<p><a href="http://bradfitz.com/">Brad Fitzpatrick</a> built this API as a <a href="http://googleblog.blogspot.co.uk/2006/05/googles-20-percent-time-in-action.html">Google 20% project</a> and it has never really lost its experimental roots. From the outset I was not a fan of the social graph friends listing. It’s too problematic, a lot of friend’s data is private and it’s too complex to mark-up and extract from web pages well. I personally wrote off using the social graph element of the API from the beginning. Evan Prodromou also made a <a href="http://evanprodromou.name/2012/02/21/on-the-social-graph-api/">good point</a> that developers want to get authentication and social graph data together. I think <a href="http://lanyrd.com/">lanyrd.com</a> is a good example of this approach.</p>
<p>The identity aggregation element of the API was impressive if not a little too raw to be use on commercial sites. The results needed a degree of post processing to increase the quality. Although I would love to say increasing the quality of the results could be completely done by parsing open standards like <a href="http://microformats.org/wiki/hcard">hCard</a> or <a href="http://www.foaf-project.org/">FOAF</a>, you do need to connect to some sites proprietary APIs to get profile data. </p>
<p>Google never tackled the quality issue or put the API on a commercial footing, both of which help stop most people using it beyond experimental hacks. </p>
<h2>Panda, schema.org and identity based authority in search</h2>
<p>In the last couple of years I have lost my faith a little in the ideas which gave birth to the SGAPI. Development of the semantic web and distributed open web, which seem to have drifted with the growth of monolithic services like Facebook, but things are changing.</p>
<p>Google’s recent changes to search have breathed new life into the semantic web concept. As Google tries to increase its search quality it is moving towards identifying entities (the blocks of structured information within a page). The SEO industry is now adding vast amounts of semantic mark-up to the web. This is being done not because it is the right thing to do, but because of the enhanced click through rates providing the right commercial motivation. </p>
<p>More importantly part of Panda’s new ethos is the <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&#038;answer=1229920">promotion of identity authority</a>. We can see this, both in Google’s search listing that displays recommendations from your friends and authorship profiles. They are attempting to link people to other entities such as articles by using mark-up like  rel=me and rel=author. Profiles and how they are interlinked is a small part of the Panda concept but still important.</p>
<p><a href="http://glennjones.net/wp-content/uploads/2012/04/listing.gif"><img src="http://glennjones.net/wp-content/uploads/2012/04/listing.gif" alt="Identity based listing" title="Identity based listing" width="533" height="138" class="alignleft size-full wp-image-730" /></a>
</p>
<p>&nbsp;</p>
<h2>The future – Getting the food chain right</h2>
<p>Today’s web apps are often more about building ecosystems of service relationships than technology. These relationships are often chained together and always need each actor to be rewarded for their part. </p>
<p>Web authors or at least the SEO wing of our industry are now seeing a real return for adding semantic structures for entities such as products and reviews. The mark-up of people and organisations entities still have rogue claim issues and still may not become a strong part of Googles search listing. Let’s hope Google continues to support rel=me for identity authority and it drives them to resolve these issues. At the moment them seems to be moving towards a wall garden approach.</p>
<p>Unfortunately, although Google may have the ability now to build a much better API based on its latest developments parsing semantic information for search, it unlikely it will be created. Google is now bringing together its services into a coherent whole and focusing on building its own monolithic social network Google+.  It just does not make commercial sense for it to support the open web without financial return. </p>
<p>Other companies have started to provide successful services in this area. <a href="http://qwerly.com">Qwerly.com</a> by <a href="https://plus.google.com/100084435888689056964">Max Niederhofer</a> was one of the most impressive identity aggregation APIs I have seen, it’s now part of <a href="http://fliptop.com">fliptop.com</a>. Products like <a href="http://rapportive.com">rapportive.com</a> and <a href="http://thesocialcv.com">thesocialcv.com</a> use the same technique under the hood. These companies are providing the next generation pay-as-you-go APIs blending together the semantic web and snowflake APIs. </p>
<p>Let’s hope we see on-going development of this new generation of APIs.</p>
<h2>So on 20th April I will have a drink and say goodbye to SGAPI</h2>
<p>I would like to thank Brad for giving us the SGAPI and everyone else who has worked on it. Although I can understand the commercial rationale that has driven Google to murder my friend, I am not sure I can forgive them for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2012/04/google-are-about-to-murder-a-good-friend-of-mine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Intents Design Push</title>
		<link>http://glennjones.net/2012/01/web-intents-design-push/</link>
		<comments>http://glennjones.net/2012/01/web-intents-design-push/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 11:39:07 +0000</pubDate>
		<dc:creator>Glenn Jones</dc:creator>
				<category><![CDATA[Data Portability]]></category>
		<category><![CDATA[webintents]]></category>

		<guid isPermaLink="false">http://glennjones.net/?p=694</guid>
		<description><![CDATA[After giving a talking at UXCamp Brighton about Web Intents, I ended up talking to a few designers about it and how they would love to help with its development and adoption. In fact we all felt that the design community was sometimes left out of the development process, when it has a lot to [...]]]></description>
				<content:encoded><![CDATA[<p>After giving a talking at <a href="http://www.uxcampbrighton.org/">UXCamp Brighton</a> about Web Intents, I ended up talking to a few designers about it and how they would love to help with its development and adoption.  In fact we all felt that the design community was sometimes left out of the development process, when it has a lot to offer.</p>
<p>So, for the past couple of months I have been working with two of Brighton&#8217;s leading UX people <a href="http://dannyhope.co.uk/">Danny Hope</a> and <a href="http://dennisimo.com/">Andy Dennis</a> to organise a UX design event. We are trying a slightly new format that we&#8217;ve coined a “design push”. The idea is to take a current technology or topic and focus a group of UX designers on a day of open collaboration with the aim of positively adding to its traction by the wider community.</p>
<p><strong><a href="http://designpush.org/webintents/">Web Intents Design Push</a>, <span>25 February 2012</span> &#8211; Brighton, UK</strong></p>
<p>The first “design push” will be on Web Intents, an idea about how to standardise buttons such as Tweet, Like, Share, etc. on the web. My last few posts will give you some background. I have also created a brief screencast introduction to Web Intents.</p>
     
<video width="520" height="404" controls="true" tabindex="0">
                <source src="http://glennjones.net/downloads/webintentsb.mp4"></source>
                <source src="http://glennjones.net/downloads/webintentsb.webm"  type='video/webm; codecs="vp8, vorbis"'></source>
                <source src="http://glennjones.net/downloads/webintentsb.ogv" type='video/ogg; codecs="theora, vorbis"'></source>

                <!-- Flash fall back -->
                <object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="527" height="419"> 
		            <param name="movie" value="http://glennjones.net/downloads/player.swf" /> 
		            <param name="allowfullscreen" value="true" /> 
		            <param name="allowscriptaccess" value="always" /> 
		            <param name="flashvars" value="file=http://glennjones.net/downloads/webintentsb.mp4&image=http://glennjones.net/downloads/videostill.png" /> 
		            <embed 
			            type="application/x-shockwave-flash"
			            id="player2"
			            name="player2"
			            src="video/player.swf" 
			            width="527" 
			            height="419"
			            allowscriptaccess="always" 
			            allowfullscreen="true"
			            flashvars="file=http://glennjones.net/downloadswebintentsb.mp4&image=http://glennjones.net/downloadsvideostill.png" 
		            /> 
	            </object> 

            </video>
<p>I had some fun creating the screencast, I built a <a href="http://glennjones.net/presentations/web-ia-pres.htm">presentation using HTML</a> for the first time. It&#8217;s worth a play as I built the demo’s of Web Intents directly into the presentation. Best use Chrome if you want to play with the demo’s. </p>
]]></content:encoded>
			<wfw:commentRss>http://glennjones.net/2012/01/web-intents-design-push/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://glennjones.net/downloads/webintentsb.mp4" length="8035036" type="video/mp4" />
<enclosure url="http://glennjones.net/downloads/webintentsb.webm" length="7469463" type="video/webm" />
<enclosure url="http://glennjones.net/downloads/webintentsb.ogv" length="6207397" type="video/ogg" />
		</item>
	</channel>
</rss>
