<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Chris Royles</title>
	<atom:link href="http://royles.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://royles.wordpress.com</link>
	<description>Capturing all those things, that would otherwise be forgotten</description>
	<lastBuildDate>Fri, 06 Jan 2012 07:21:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='royles.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Chris Royles</title>
		<link>http://royles.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://royles.wordpress.com/osd.xml" title="Chris Royles" />
	<atom:link rel='hub' href='http://royles.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Pitney Bowes Software, Kickoff 2012 &#8211; Social Media Tool Choices?</title>
		<link>http://royles.wordpress.com/2012/01/06/pitney-bowes-software-kickoff-2012/</link>
		<comments>http://royles.wordpress.com/2012/01/06/pitney-bowes-software-kickoff-2012/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 07:20:02 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[social media]]></category>

		<guid isPermaLink="false">https://royles.wordpress.com/?p=390</guid>
		<description><![CDATA[I am travelling to the annual Pitney Bowes Software 2012 kickoff and I have a couple of social media app tool choices to make. I have a selection of applications available to me that are all linked in various ways. - Public Twitter is good for publishing quotes and interesting questions into the public domain, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=390&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am travelling to the annual Pitney Bowes Software 2012 kickoff and I have a couple of social media app tool choices to make. I have a selection of applications available to me that are all linked in various ways.</p>
<p>- Public<br />
Twitter is good for publishing quotes and interesting questions into the public domain, these cascade to Facebook, LinkedIn and Yammer (with the #yam tag) automatically.</p>
<p>WordPress provides a good channel for larger public facing posts, it also automatically updates and links into Twitter, which in turn updates Facebook and LinkedIn.</p>
<p>Facebook is a good for updating friends on personal things during the event, such as &#8220;check out the picture of the view from my hotel room&#8221;. I also use this to keep track of my locations and let family know how my travels are progressing.</p>
<p>- Business<br />
Yammer is available to all Pitney Bowes employees and I have well over a 1000 follower on this channel. It is good for posting short updates into the business domain.</p>
<p>SharePoint Blog is a great place to post large content such as meeting minutes, or notes from presentations, but cross linking into other channels is very manual.</p>
<p>Chatter is a recent addition, but the audience is limited to people who use SalesForce within the business.</p>
<p>So I think it&#8217;s going to work like this &#8230;</p>
<p>- Public<br />
Short quotes and interesting public snippets will go to Twitter (auto linked into yammer with #yam)<br />
Larger public facing updates in the event summarising events will go to WordPress.</p>
<p>- Personal<br />
Facebook is the channel of choice.</p>
<p>- Business<br />
Short quotes and interesting snippets will go to Yammer by default as the audience is much larger then retrospectively into Chatter.<br />
Larger summary and presentation notes will go on SharePoint, cross linked into Yammer, then retrospectively to Chatter.</p>
<p>There is defiantly scope for a tool that can post to single locations and then provide the appropriate cascade and cross linking into other channels. However not all of these applications have trivial APIs. For example posting to SharePoint, Chatter and Yammer is poorly cross linked unlike public services such as Facebook, LinkedIn and Twitter. There is still some way to go in the Business app world to link everything together.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/390/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=390&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2012/01/06/pitney-bowes-software-kickoff-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>The Internet of Things</title>
		<link>http://royles.wordpress.com/2011/12/07/the-internet-of-things/</link>
		<comments>http://royles.wordpress.com/2011/12/07/the-internet-of-things/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 19:26:27 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=387</guid>
		<description><![CDATA[Today I met with an organisation that provides communications infrastructure. The discussion quickly came to areas of hot debate around the Internet of things and to what degree that domain is developing and the trends that are emerging. There was an interesting balance in how the metaphors were explained. The discussion rocked between &#8220;we can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=387&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I met with an organisation that provides communications infrastructure. The discussion quickly came to areas of hot debate around the Internet of things and to what degree that domain is developing and the trends that are emerging.</p>
<p>There was an interesting balance in how the metaphors were explained. The discussion rocked between &#8220;we can tell everything you are doing&#8221; to &#8220;but privacy is important&#8221;, I found myself developing a split personality.</p>
<p>However where it got interesting was when the discussion came to integrating mNy different systems. We are sat in a restaurant, they have a point of sale, a security alarm, lighting, heating and yet today all of these systems are separate. I recently encountered the same issue when designing my home cinema, how do I link my TV, with my xbox, and my blue ray player. My solution to date has been a universal remote, but this does not let me connect my PC to my telly, stream audio to the bedroom and integrate my surround sound system. </p>
<p>Each vendor wants to lock you in, and in doing so limits my ability as a general consumer to achieve something which should be common practice today.</p>
<p>Even open systems such as Android lock in, for example in the secure payments space (Google checkout / wallet).</p>
<p>It would be interesting to determine how much time people spend working out how to restrict people doing things, over the time spent helping people exceed their potential.</p>
<p>In the near future machines will have greater privacy than peopole, will be able to control more things than people (electricity, heat, financial transactions .. ) and we will be outnumbered 100-1. </p>
<p>I will let you know if I solve my Home Cinema problem <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/387/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=387&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/12/07/the-internet-of-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>iPad for Business Blog</title>
		<link>http://royles.wordpress.com/2011/10/19/ipad-for-business-blog/</link>
		<comments>http://royles.wordpress.com/2011/10/19/ipad-for-business-blog/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 10:22:34 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=384</guid>
		<description><![CDATA[A friend and colleague at work who co-developed the &#8216;roll out the iPad to the Sales Team&#8217; Business Case for my company has been running an iPad for Business Blog. If you have an iPad this is a must read source of information. http://www.ip2b.info/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=384&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A friend and colleague at work who co-developed the &#8216;roll out the iPad to the Sales Team&#8217; Business Case for my company has been running an iPad for Business Blog. If you have an iPad this is a must read source of information.</p>
<p><a href="http://www.ip2b.info/">http://www.ip2b.info/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/384/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=384&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/10/19/ipad-for-business-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>Recently Moved House</title>
		<link>http://royles.wordpress.com/2011/10/19/recently-moved-house/</link>
		<comments>http://royles.wordpress.com/2011/10/19/recently-moved-house/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 10:20:27 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=382</guid>
		<description><![CDATA[I have recently moved and as such I am going through the process of setting up Broadband. The discussions about setting this up have been very interesting and I thought I would capture some of the dialogue. BT, we don&#8217;t currently supply BT Infinity, that will be available in November for your area. We can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=382&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have recently moved and as such I am going through the process of setting up Broadband. The discussions about setting this up have been very interesting and I thought I would capture some of the dialogue.</p>
<p>BT, we don&#8217;t currently supply BT Infinity, that will be available in November for your area. We can offer you 12MB Broadband. However that is on an 18 month contract, and I would not be able to upgrade to BT Infinity at big costs. Also for some reason their packages came out about £5 more than everybody else, and ironically they had the highest line rental. I am still trying to unpick the packages which are far from simple. They also got a little upset when I told them I don&#8217;t use the landline as I have a mobile phone.</p>
<p>Sky, I spent quite a while chatting to, we got all the way through to the bit where I mentioned a cable. At this stage the agent on the phone said they only supply a dish. My new property is both very old (1800&#8242;s) and listed, so very unlikely this is going to be a success.</p>
<p>Virgin, they were very helpful and their package is really compelling both on price and features. The 3 channel, 1TB Tivo box is a real deal maker. However they need to know what my property is made of, and also need clearance from the Freeholder of the block to go ahead with it all. I have my fingers crossed the Freeholder says &#8216;yes&#8217; and that they can install it with minimum impact on the property.</p>
<p>Hopefully in 3 weeks time I will have a full Broadband + Phone + TV package to rival the best. However the slightest glitch in the process and I will have to go with 12MB copper wire and no HD TV. So cross all your fingers for me, and I will keep you updated on how I get along.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/382/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=382&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/10/19/recently-moved-house/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>Music</title>
		<link>http://royles.wordpress.com/2011/08/20/music/</link>
		<comments>http://royles.wordpress.com/2011/08/20/music/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 10:02:28 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=376</guid>
		<description><![CDATA[Enjoying some of the latest music, there is a trend in some really cool tunes. Much of this is because of the radio stations I listen to on my commute each morning. Alexandra Stan, Mr Saxobeat http://www.last.fm/music/Alexandra+Stan/Mr.+Saxobeat/Mr.+Saxobeat+%28Extended+Version%29 Calvin Harris, Bounce http://www.last.fm/music/Calvin+Harris/Bounce/Bounce+%28Feat.+Kelis+%28Extended+Mix%29%29 Example, Changed the way you kissed me. http://www.last.fm/music/+noredirect/Example/_/Changed+The+Way+You+Kissed+Me<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=376&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Enjoying some of the latest music, there is a trend in some really cool tunes. Much of this is because of the radio stations I listen to on my commute each morning.</p>
<p>Alexandra Stan, Mr Saxobeat <a href="http://www.last.fm/music/Alexandra+Stan/Mr.+Saxobeat/Mr.+Saxobeat+%28Extended+Version%29">http://www.last.fm/music/Alexandra+Stan/Mr.+Saxobeat/Mr.+Saxobeat+%28Extended+Version%29</a></p>
<p>Calvin Harris, Bounce <a href="http://www.last.fm/music/Calvin+Harris/Bounce/Bounce+%28Feat.+Kelis+%28Extended+Mix%29%29">http://www.last.fm/music/Calvin+Harris/Bounce/Bounce+%28Feat.+Kelis+%28Extended+Mix%29%29</a></p>
<p>Example, Changed the way you kissed me. <a href="http://www.last.fm/music/+noredirect/Example/_/Changed+The+Way+You+Kissed+Me">http://www.last.fm/music/+noredirect/Example/_/Changed+The+Way+You+Kissed+Me</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/376/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=376&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/08/20/music/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>Finding locations within distance SQLServer Azure</title>
		<link>http://royles.wordpress.com/2011/07/21/finding-locations-within-distance-sqlserver-azure/</link>
		<comments>http://royles.wordpress.com/2011/07/21/finding-locations-within-distance-sqlserver-azure/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 21:47:22 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=369</guid>
		<description><![CDATA[Managed to work out how to search within a circular buffer, and return the distance, as well as all features sorted by distance. The performance is impressive in Azure. First I needed to create the geography column on the Azure table. update &#60;table&#62; add SP_Geography geography; update &#60;table&#62; set SP_Geography = GEOGRAPHY::Point(Y, X,4326); create spatial index [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=369&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Managed to work out how to search within a circular buffer, and return the distance, as well as all features sorted by distance. The performance is impressive in Azure.</p>
<p>First I needed to create the geography column on the Azure table.</p>
<blockquote><p>update <span style="color:#339966;">&lt;table&gt;</span> add SP_Geography geography;<br />
update<span style="color:#339966;"> &lt;table&gt;</span> set SP_Geography = GEOGRAPHY::Point(Y, X,4326);<br />
create spatial index SIndx_SpatialTable_geography_col1 ON<span style="color:#339966;"> &lt;table&gt;</span>(SP_Geography);</p></blockquote>
<p>Will roll this into a stored procedure, but for now here is the raw SQL.</p>
<blockquote><p>SqlCommand comm = new SqlCommand();<br />
comm.CommandText = &#8220;declare @po geography  = geography::Point(@x, @y, 4326);&#8221; +<br />
<span style="color:#ff0000;">&#8220;declare @bu geography ;&#8221;</span> +<br />
<span style="color:#ff0000;">&#8220;set rowcount @rows;&#8221;</span> +<br />
<span style="color:#ff0000;"> &#8221;</span><span style="color:#ff0000;">set @bu = (select @po.STBuffer(@radius));&#8221;</span> +<br />
<span style="color:#ff0000;">&#8220;select ID, Name, &#8220;</span>+<br />
<span style="color:#ff0000;">&#8220;SP_Geography.STDistance(@po) Distance, &#8220;</span> +<br />
<span style="color:#ff0000;"> &#8220;SP_Geography.STAsText() Obj &#8220;</span> +<br />
<span style="color:#ff0000;">&#8220;from <span style="color:#339966;">&lt;table&gt;</span> where SP_Geography.STIntersects(@bu)=1 order by Distance;&#8221;</span> +<br />
<span style="color:#ff0000;"> &#8220;set rowcount 0&#8243;</span>;<br />
comm.Parameters.Add(new SqlParameter(&#8220;rows&#8221;, rows));<br />
comm.Parameters.Add(new SqlParameter(&#8220;y&#8221;, lon));<br />
comm.Parameters.Add(new SqlParameter(&#8220;x&#8221;, lat));<br />
comm.Parameters.Add(new SqlParameter(&#8220;radius&#8221;, radius));</p></blockquote>
<p>First we create the comment, we then declare a variable of type geography and create a point with EPSG/SRS 4326, in this case the centre of the Bing map I am also rendering. We then create a buffer which we create around the point at a given radius. The rowcount is also dynamic letting us limit the number of returns. We then use an STIntersect on all features in the table against the buffer, ordering all results by distance (so they render form the centre out).</p>
<p>I rolled this into a Web Service with the WebMethod of WithinDistance.  I have also added integrated security between the application and the services, the services require a key which is the hash of a whole load of stuff, including a time dimension and the users id. Resulting in a really nice integration between the web services and the application.</p>
<p>The prototype looks like this, and the points render in realtime as the map is dragged.</p>
<p><a href="http://royles.files.wordpress.com/2011/07/map.png"><img class="aligncenter size-full wp-image-370" title="map" src="http://royles.files.wordpress.com/2011/07/map.png?w=630&#038;h=219" alt="" width="630" height="219" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/369/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=369&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/07/21/finding-locations-within-distance-sqlserver-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>

		<media:content url="http://royles.files.wordpress.com/2011/07/map.png" medium="image">
			<media:title type="html">map</media:title>
		</media:content>
	</item>
		<item>
		<title>Bing Maps and code-behind</title>
		<link>http://royles.wordpress.com/2011/07/19/bing-maps-and-code-behind/</link>
		<comments>http://royles.wordpress.com/2011/07/19/bing-maps-and-code-behind/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 13:18:35 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Bing]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Maps]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=359</guid>
		<description><![CDATA[I really struggled to automatically integrate Bing Maps into ASPX code behind. I found a solution, although I am not sure its the best available. This is how it is implemented. In the page, add a ScriptManager to the top of the page.              &#60;asp:ScriptManager ID=&#8221;ScriptManager1&#8243; runat=&#8221;server&#8221; EnablePageMethods=&#8221;true&#8221;&#62;&#60;/asp:ScriptManager&#62; Then add the div, and script blocks for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=359&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I really struggled to automatically integrate Bing Maps into ASPX code behind. I found a solution, although I am not sure its the best available. This is how it is implemented.</p>
<p>In the page, add a ScriptManager to the top of the page.</p>
<blockquote><p>             &lt;asp:ScriptManager ID=&#8221;ScriptManager1&#8243; runat=&#8221;server&#8221; EnablePageMethods=&#8221;true&#8221;&gt;&lt;/asp:ScriptManager&gt;</p></blockquote>
<p>Then add the div, and script blocks for the map. Note below we are also adding a handler onto the map, for when the map has finished drawing (&#8216;viewchangedend&#8217;). The purpose of this, is when the map has moved, or zoomed, we will make a request for another set of data to overlay on the map.</p>
<blockquote><p>            &lt;div id=&#8217;mainDisplay&#8217; style=&#8221;position:relative; width:800px; height:400px;&#8221;&gt;&lt;/div&gt;</p>
<p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;<a>http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&#8243;&gt;&lt;/script</a>&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>function onviewchange() {<br />
var latlon = map.getCenter();<br />
var resp = PageMethods.MapMoved(latlon.latitude, latlon.longitude, onComplete);<br />
}<br />
function onComplete(result, response, context) {<br />
eval(result);<br />
}</p>
<p>var map = new Microsoft.Maps.Map(document.getElementById(&#8216;mainDisplay&#8217;), { credentials: &#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;});<br />
var attachmapviewchange = Microsoft.Maps.Events.addHandler(map, &#8216;viewchangeend&#8217;, function (e) {onviewchange(e);});<br />
&lt;/script&gt;</p></blockquote>
<p>The PageMethods.XXXX line is the key, what this does is call the code behind method, with the same signature.</p>
<p>Here is the matching code-behind, in this case rendering a pin in the center of the map, each time the map moves. The code is returned to the page, and evaluated. The pin includes the handler to reset the popup and update its location and its title / description. Information on how to do this, is scarce and it took me quite a few attempts. I also found that the line infobox.setLocation(e.entity.getLocation()) does a great job of crashing Visual Studio during debug.</p>
<blockquote><p>[WebMethod]<br />
public static string MapMoved(float lat, float lon)    {</p>
<p>// Do interesting things here, like make a call to a web service &#8230;<br />
javaScript = &#8220;map.entities.clear();&#8221; +<br />
&#8220;var infobox = new Microsoft.Maps.Infobox(map.getCenter(),&#8221; +<br />
&#8220;{title: &#8216;Title&#8217;,&#8221; +<br />
&#8220;description: &#8216;Description&#8217;, &#8221; +<br />
&#8220;visible: false});&#8221; +<br />
&#8220;map.entities.push(infobox);&#8221;;</p>
<p>javaScript += &#8220;var pushpin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(&#8221; + lat + &#8220;,&#8221; + lon + &#8220;), null);&#8221; +<br />
&#8220;Microsoft.Maps.Events.addHandler(pushpin, &#8216;click&#8217;, function(e) { &#8221; +<br />
&#8220;infobox.setOptions({visible:true});&#8221; +<br />
&#8220;infobox.setOptions({title:&#8217; The title &#8216;});&#8221; +<br />
&#8220;infobox.setOptions({description:&#8217; Description Contents &#8216;});&#8221; +<br />
&#8220;infobox.setLocation(e.target.getLocation());&#8221; +<br />
&#8221; }); &#8221; +<br />
&#8220;map.entities.push(pushpin);&#8221;;</p>
<p>return javaScript;<br />
}</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/359/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=359&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/07/19/bing-maps-and-code-behind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>Azure Web Application Working :)</title>
		<link>http://royles.wordpress.com/2011/07/19/azure-web-application-working/</link>
		<comments>http://royles.wordpress.com/2011/07/19/azure-web-application-working/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 13:04:58 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[AzureSQL]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=355</guid>
		<description><![CDATA[Finally managed to setup a fully working Azure application with forms based security. It runs as a WebRole, and connects across to SQLAzure for all user authentication and registration. It was hard work to tie everything together and required quite a few steps to complete. I wanted to capture the key elements in here so an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=355&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Finally managed to setup a fully working Azure application with forms based security. It runs as a WebRole, and connects across to SQLAzure for all user authentication and registration. It was hard work to tie everything together and required quite a few steps to complete. I wanted to capture the key elements in here so an aggregate of all the different bits of information is useful to somebody.</p>
<p>First of all the web.config, this includes some interesting bits to setup the  form validation, email and SQLAzure link. It was also the section that resulted in the most head scratching. It you get this right first, then as you add features to the site they are less likely to break or throw odd exceptions.</p>
<p>Here is the section that sets up the SQLAzure connection string</p>
<blockquote><p>  &lt;connectionStrings&gt;<br />
&lt;add name=&#8221;MyLocalSQLServer&#8221; connectionString=&#8221;Server=tcp:&lt;server&gt;.database.windows.net;Database=&lt;database&gt;;Uid=&lt;user&gt;@&lt;server&gt;;Pwd=&lt;password&gt;;Encrypt=yes;&#8221;/&gt;<br />
&lt;/connectionStrings&gt;</p></blockquote>
<p>Things to watch out for include, the AzureSQL firewall, you will need to enable your development machine, as well as the Azure services. Additionally information on how to setup the database can be found here <a href="http://azuresecurity.codeplex.com/wikipage?title=How%20to%20Use%20ASP.NET%20Forms%20Authentication%20with%20SQL%20in%20a%20Development%20Environment">How To: Use Forms Authentication with Local SQL Membership</a> with the essential resource being the sql scripts here <a href="http://archive.msdn.microsoft.com/KB2006191">Updated ASP.NET scripts for SQL Azure</a>.</p>
<p>Next we add the email configuration for our validation steps, in this case we use Gmail as our SMTP gateway.</p>
<blockquote><p>  &lt;system.net&gt;<br />
&lt;mailSettings&gt;<br />
&lt;smtp deliveryMethod=&#8221;Network&#8221; from=&#8221;<a href="mailto:royles@gmail.com">@gmail.com</a>&#8220;&gt;<br />
&lt;network defaultCredentials=&#8221;false&#8221; host=&#8221;smtp.gmail.com&#8221; port=&#8221;587&#8243; userName=&#8221;&lt;your account&gt;<a href="mailto:royles@gmail.com">@gmail.com</a>&#8221; password=&#8221;&lt;your password&gt;&#8221; enableSsl=&#8221;true&#8221; /&gt;<br />
&lt;/smtp&gt;<br />
&lt;/mailSettings&gt;<br />
&lt;/system.net&gt;</p></blockquote>
<p>Given we now have email setup, the way to configure your login processes is very well covered in this article <a href="http://www.4guysfromrolla.com/articles/062508-1.aspx">Membership, Roles and Profile Part 11</a></p>
<p>Next we enable the forms authentication, defaulting the login to login.aspx</p>
<blockquote><p>    &lt;authentication mode=&#8221;Forms&#8221; /&gt;<br />
&lt;authorization&gt;<br />
&lt;deny users=&#8221;?&#8221; /&gt;<br />
&lt;allow users=&#8221;*&#8221; /&gt;<br />
&lt;/authorization&gt;</p></blockquote>
<p>We add the Membership provider so that the login and registration processes link to our SQLAzure database.</p>
<blockquote><p>    &lt;membership defaultProvider=&#8221;MySqlMembershipProvider&#8221; &gt;<br />
&lt;providers&gt;<br />
&lt;clear/&gt;<br />
&lt;add name=&#8221;MySqlMembershipProvider&#8221;<br />
connectionStringName=&#8221;MyLocalSQLServer&#8221;<br />
applicationName=&#8221;&lt;application name&gt;&#8221;<br />
type=&#8221;System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;<br />
requiresQuestionAndAnswer=&#8221;false&#8221;/&gt; &lt;!&#8211; Switch off the need for security questions, remember to remove the fields in the registration form&#8211;&gt;<br />
&lt;/providers&gt;<br />
&lt;/membership&gt;<br />
&lt;/system.web&gt;</p></blockquote>
<p>The last step is to make sure users can access both the Verify.aspx page and the CSS files by adding locations to exclude these files.</p>
<blockquote><p>  &lt;location path=&#8221;Verify.aspx&#8221;&gt;<br />
&lt;system.web&gt;<br />
&lt;authorization&gt;<br />
&lt;allow users=&#8221;*&#8221;/&gt;<br />
&lt;/authorization&gt;<br />
&lt;/system.web&gt;<br />
&lt;/location&gt;<br />
&lt;location path=&#8221;Brand.css&#8221;&gt;<br />
&lt;system.web&gt;<br />
&lt;authorization&gt;<br />
&lt;allow users=&#8221;*&#8221;/&gt;<br />
&lt;/authorization&gt;<br />
&lt;/system.web&gt;<br />
&lt;/location&gt;</p></blockquote>
<p>In future posts I will go through configuring the Login process, as well as implementing Bing maps, code-behind examples.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/355/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=355&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/07/19/azure-web-application-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>An unproductive day working with oAuth</title>
		<link>http://royles.wordpress.com/2011/07/15/an-unproductive-day-working-with-oauth/</link>
		<comments>http://royles.wordpress.com/2011/07/15/an-unproductive-day-working-with-oauth/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 14:19:16 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[oAuth]]></category>
		<category><![CDATA[Yammer]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=352</guid>
		<description><![CDATA[I have been trying to connect a simple C# client application to Yammer in order to test the oAuth integration.  I thought I was doing well by getting the code so simple as to really understand what is happening.  But I keep hitting &#8216;hard&#8217; problems.  For example, this is all the code, and I think I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=352&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been trying to connect a simple C# client application to Yammer in order to test the oAuth integration.  I thought I was doing well by getting the code so simple as to really understand what is happening.  But I keep hitting &#8216;hard&#8217; problems.  For example, this is all the code, and I think I fully understand it. Here is the C#, basically replicating the specification for oAuth and meeting the requirements of Yammer.</p>
<p>However the Yammer API endpoint (<a href="https://www.yammer.com/oauth/request_token">https://www.yammer.com/oauth/request_token)</a> returns 500?</p>
<p>Don&#8217;t really know where to go from here, falling down at the first hurdle. Also all Google references are now exhausted. My only option appears to be using a 3rd party library. But its such a simple concept, I don&#8217;t really want to use other stuff .. I want to know what I am doing wrong.</p>
<blockquote><p><span style="color:#333333;">        public static void getRequestToken()</span><br />
<span style="color:#333333;">        {</span><br />
<span style="color:#339966;">            // Create the random string</span><br />
<span style="color:#333333;">            string oauth_nonce = Convert.ToBase64String(new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString()));</span><br />
<span style="color:#333333;">            TimeSpan ts = DateTime.UtcNow &#8211; new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);</span><br />
<span style="color:#339966;">            // Get the timestamp in the format required</span><br />
<span style="color:#333333;">            string oauth_timestamp = Convert.ToInt64(ts.TotalSeconds).ToString();</span></p>
<p><span style="color:#339966;">            //http://vimeo.com/api/docs/oauth</span><br />
<span style="color:#339966;">            // Build the base string, being careful to URI encode, and sort the parameters (by alpha)</span><br />
<span style="color:#333333;">            string baseString = &#8220;GET&#8221; + &#8220;&amp;&#8221;;</span><br />
<span style="color:#333333;">            baseString += Uri.EscapeDataString(&#8220;<a href="https://www.yammer.com/api/v1/users"><span style="color:#333333;">https://www.yammer.com/api/v1/users</span></a>&#8220;) + &#8220;&amp;&#8221;;</span><br />
<span style="color:#333333;">            baseString += Uri.EscapeDataString(&#8220;oauth_consumer_key=&#8221; + &#8220;xxxxxxxxxxxxxxxxxxxxxxxxx&#8221;) + &#8220;&amp;&#8221;;</span><br />
<span style="color:#333333;">            baseString += Uri.EscapeDataString(&#8220;oauth_nonce=&#8221; + oauth_nonce) + &#8220;&amp;&#8221;;</span><br />
<span style="color:#333333;">            baseString += Uri.EscapeDataString(&#8220;oauth_signature_method=&#8221; + &#8220;HMAC-SHA1&#8243;) + &#8220;&amp;&#8221;;</span><br />
<span style="color:#333333;">            baseString += Uri.EscapeDataString(&#8220;oauth_timestamp=&#8221; + oauth_timestamp) + &#8220;&amp;&#8221;;</span><br />
<span style="color:#333333;">            baseString += Uri.EscapeDataString(&#8220;oauth_version=&#8221; + &#8220;1.0&#8243;);</span></p>
<p><span style="color:#339966;">             // Hash and build the signature from the base string.</span><br />
<span style="color:#333333;">            string keyToSign = Uri.EscapeDataString(&#8220;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#8221;) + &#8220;&amp;&#8221;;</span><br />
<span style="color:#333333;">            HMACSHA1 hash = new HMACSHA1( new ASCIIEncoding().GetBytes(keyToSign));</span><br />
<span style="color:#333333;">            string oauth_signature = Convert.ToBase64String(hash.ComputeHash(new ASCIIEncoding().GetBytes(baseString)));</span><br />
<span style="color:#333333;">            oauth_signature += &#8220;%26&#8243;;</span></p>
<p><span style="color:#339966;">             // Build the Auth header</span><br />
<span style="color:#333333;">            string header = &#8220;OAuth &#8220;;</span><br />
<span style="color:#333333;">            header += &#8220;oauth_consumer_key=\&#8221;" + &#8220;xxxxxxxxxxxxxxxxxxxxxxxxx&#8221; + &#8220;\&#8221;,&#8221;;</span><br />
<span style="color:#333333;">            header += &#8220;oauth_signature_method=\&#8221;" + &#8220;HMAC-SHA1&#8243; + &#8220;\&#8221;,&#8221;;</span><br />
<span style="color:#333333;">            header += &#8220;oauth_timestamp=\&#8221;" + oauth_timestamp + &#8220;\&#8221;,&#8221;;</span><br />
<span style="color:#333333;">            header += &#8220;oauth_nonce=\&#8221;" + oauth_nonce + &#8220;\&#8221;,&#8221;;</span><br />
<span style="color:#333333;">            header += &#8220;oauth_signature=\&#8221;" + oauth_signature + &#8220;\&#8221;,&#8221;;</span></p>
<p><span style="color:#333333;">            HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(&#8220;<a href="https://www.yammer.com/oauth/request_token"><span style="color:#333333;">https://www.yammer.com/oauth/request_token</span></a>&#8220;);</span><br />
<span style="color:#333333;">            hwr.Method = &#8220;GET&#8221;;</span><br />
<span style="color:#333333;">            hwr.Headers.Add(&#8220;Authorization&#8221;, header);</span><br />
<span style="color:#333333;">            hwr.ContentType = &#8220;application/x-www-form-urlencoded&#8221;;</span></p>
<p><span style="color:#339966;">            // Send it</span><br />
<span style="color:#333333;">            try</span><br />
<span style="color:#333333;">            {</span><br />
<span style="color:#333333;">                HttpWebResponse rsp = hwr.GetResponse()  as HttpWebResponse;</span><br />
<span style="color:#333333;">                Console.Write(rsp);</span><br />
<span style="color:#333333;">            }</span><br />
<span style="color:#333333;">            catch (WebException e)</span><br />
<span style="color:#333333;">            {</span><br />
<span style="color:#339966;">                // Bang with a 500 Error?</span><br />
<span style="color:#333333;">                Console.Write(e);</span><br />
<span style="color:#333333;">            }</span><br />
<span style="color:#333333;">         }</span></p>
<p>&nbsp;</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/352/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=352&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/07/15/an-unproductive-day-working-with-oauth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenLayers Proof of Concept Demo</title>
		<link>http://royles.wordpress.com/2011/07/09/openlayers-proof-of-concept-demo/</link>
		<comments>http://royles.wordpress.com/2011/07/09/openlayers-proof-of-concept-demo/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 16:09:41 +0000</pubDate>
		<dc:creator>royles</dc:creator>
				<category><![CDATA[OpenLayers]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[clusters]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[tag cloud]]></category>
		<category><![CDATA[Visualisation]]></category>

		<guid isPermaLink="false">http://royles.wordpress.com/?p=342</guid>
		<description><![CDATA[I recently built a quick prototype combining CSV to KML conversion, custom layers, customer controls, and clustering / filtering to build a simple interface for visualising a pipeline of concepts. Here are the final mockups of the cluster view and the filter options. Clustering based on similarity of terms in the title. Filtering can be applied [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=342&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently built a quick prototype combining CSV to KML conversion, custom layers, customer controls, and clustering / filtering to build a simple interface for visualising a pipeline of concepts. Here are the final mockups of the cluster view and the filter options.</p>
<p>Clustering based on similarity of terms in the title.<br />
<a href="http://royles.files.wordpress.com/2011/07/cluster1.png"><img class="alignnone size-full wp-image-344" title="cluster" src="http://royles.files.wordpress.com/2011/07/cluster1.png?w=630&#038;h=342" alt="" width="630" height="342" /></a></p>
<p>Filtering can be applied on the name (drop down box), or from the tag cloud that is automatically generated from the title of the features.</p>
<p><a href="http://royles.files.wordpress.com/2011/07/filter.png"><img class="alignnone size-full wp-image-345" title="filter" src="http://royles.files.wordpress.com/2011/07/filter.png?w=630&#038;h=483" alt="" width="630" height="483" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/royles.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/royles.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/royles.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/royles.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/royles.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/royles.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/royles.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/royles.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/royles.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/royles.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/royles.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/royles.wordpress.com/342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/royles.wordpress.com/342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/royles.wordpress.com/342/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=royles.wordpress.com&amp;blog=4435902&amp;post=342&amp;subd=royles&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://royles.wordpress.com/2011/07/09/openlayers-proof-of-concept-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7327e48f7b78ebde83919f0424cc35e8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">royles</media:title>
		</media:content>

		<media:content url="http://royles.files.wordpress.com/2011/07/cluster1.png" medium="image">
			<media:title type="html">cluster</media:title>
		</media:content>

		<media:content url="http://royles.files.wordpress.com/2011/07/filter.png" medium="image">
			<media:title type="html">filter</media:title>
		</media:content>
	</item>
	</channel>
</rss>
