<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>John Pollard's Technical Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/john_pollard/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/john_pollard/feed.xml</link>
    <description>See http://blog.bravelocation.com for more up to date information</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:23:57 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Porting old ASP/Access code to PHP/MySQL</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/porting-old-aspaccess-code-to-phpmysql</link>
      <pubDate>Sun, 06 Jan 2013 06:08:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2013/01/06/porting-old-aspaccess-code-to-phpmysql/</guid>
      <description><![CDATA[I've been trying to rationalise my websites a bit recently, and in particular finally put into...]]></description>
      <content:encoded><![CDATA[<p>
	<p>I've been trying to rationalise my websites a bit recently, and in particular finally put into mothballs what was probably my first <a href="http://www.yeltzland.net">website</a>.</p>
<p>The site was first written in about 1999(!), and some of the code hasn't changed very much since then. The only part that is still really being used is a football prediction game called "Fantasy Island" - like fantasy football but a bit crap :-)</p>
<p>For me this was an interesting exercise in brushing up on my extremely rusty PHP skills, learning some new things about MySQL and looking back at some very old code. In particular there are a couple of things of note ...</p>
<ol>
<li>I've learnt a lot about coding in the last 14 years, as some of the old code is pretty ropey. In particular the way I (and hopefully everybody) think more about potential security issues is definitely a good thing.</li>
<li>PHP is surprisingly similar to ASP Classic</li>
</ol>
<p>The 2nd point is quite interesting, in particular given the slightly dismissive attitude that I've heard about PHP sometimes from people who were quite happy to develop in a very similar way not that long ago. Clearly it is easy to write "spaghetti code" in PHP and ASP, but unstructured code isn't a feature of any language, but more a function of the developer writing the code.</p>
<p>You can see the results of my handywork at <a href="http://www.yeltz.co.uk/fantasyisland/">http://www.yeltz.co.uk/fantasyisland/</a>, and once I've done a final tidy up and fixed any bugs found now it's live I may share the code somewhere.</p>
<p>There were a couple of gotchas that tripped me up as I was doing the migration that I'll share here in case someone else hits them too.</p>
<h4>DateTime-&gt;add() is not supported in PHP 5.2</h4>
<p>I wanted to use a DateTime object to find a day 60 days from now, and on my dev box I was running PHP 5.4, so using the <a href="http://uk1.php.net/manual/en/datetime.add.php">add() function</a> seemed logical.</p>
<p>However what I didn't realise until later was that the server I've ported the code to is only running PHP 5.2.17, and a close look at the documentation showed the add() function was only supported in 5.3.0 and above.</p>
<p>The solution was to use the pretty self-explanatory following code:</p>
<div class="CodeRay">
  <div class="code"><pre>$twoMonthsInterval = new DateTime();
$twoMonthsInterval-&gt;modify('+60 day');</pre></div>
</div>

<p>Not as clean, but it works :-)</p>
<h4>Use TINYINT(1) for boolean fields in MySQL</h4>
<p>I had all sorts of issues which to be honest I didn't really understand when trying to retrieve data from a table that I'd set as a BOOL field in the database.</p>
<p>According to the <a href="http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html">documentation</a> it's just a synonym for a TINYINT(1) field but when fetching the info via PDO I was getting incorrect values for some reason.</p>
<p>Anyway, directly setting the value to TINYINT(1) and setting/getting the 0 or 1 values directly fixed all of my issues.</p>
	
</p>

<p><a href="http://blog.bravelocation.com/porting-old-aspaccess-code-to-phpmysql">Permalink</a> 

	| <a href="http://blog.bravelocation.com/porting-old-aspaccess-code-to-phpmysql#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>Bedside Clock v3.0.1.0 for WP7 release notes</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/bedside-clock-v3-0-1-0-for-wp7-release-notes</link>
      <pubDate>Fri, 09 Nov 2012 21:56:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/11/09/bedside-clock-v3-0-1-0-for-wp7-release-notes/</guid>
      <description><![CDATA[A minor, mainly bug fix release to our&nbsp;Bedside Clock for WP7&nbsp;app has finally made it...]]></description>
      <content:encoded><![CDATA[<p>
	<p>A minor, mainly bug fix release to our&nbsp;<a href="http://www.bravelocation.com/bedsideclock">Bedside Clock for WP7</a>&nbsp;app has finally made it through the release process into the wild.</p>
<p>This change should hopefully fix some of the very occasional crashes being reported by the <a href="https://dev.windowsphone.com/en-us">WIndows Phone Dev Center</a>&nbsp;when the local weather forecast is being loaded.</p>
<p>Other than a few minor cosmetic changes - the settings page now follows the UI guidelines a bit better - it's still basically the same app as before.</p>
<p>Next step - which is still work in progress - is to make a Windows Phone 8 specific build using the improved features of the new OS.</p>
<p>If you see any issues with the update, feel free to drop us a line at <a href="mailto:feedback@bravelocation.com">feedback@bravelocation.com</a>..</p>
<p>&nbsp;</p>
	
</p>

<p><a href="http://blog.bravelocation.com/bedside-clock-v3010-for-wp7-release-notes">Permalink</a> 

	| <a href="http://blog.bravelocation.com/bedside-clock-v3010-for-wp7-release-notes#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>From Bing To Skype</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/from-bing-to-skype</link>
      <pubDate>Tue, 28 Aug 2012 11:08:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/08/28/from-bing-to-skype/</guid>
      <description><![CDATA[After working on Bing for as long as it's been in existence - I was there back in the "Windows...]]></description>
      <content:encoded><![CDATA[<p>
	<p>After working on <a href="http://www.bing.com">Bing</a> for as long as it's been in existence - I was there back in the "Windows Live Search" days - I've now taken a position with the <a href="http://www.skype.com">Skype</a> team in London.</p>
<p>It will be a big change for me, and I'll really miss working with some of the smartest people I've ever met. However, I'm definitely ready to try something new and I'm very excited to move to Skype at what's a very exciting time.</p>
<p>I'll hopefully be learning lots of new skills and techniques - and reacquainting myself with some old ones! - so I'm also hoping I'll have some interesting things to post on here too.</p>
	
</p>

<p><a href="http://blog.bravelocation.com/from-bing-to-skype">Permalink</a> 

	| <a href="http://blog.bravelocation.com/from-bing-to-skype#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>It's been a while...</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/its-been-a-while</link>
      <pubDate>Sun, 15 Jul 2012 02:06:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/07/15/its-been-a-while/</guid>
      <description><![CDATA[... as for various reasons I've not been posting on here for a while - mainly because I've been...]]></description>
      <content:encoded><![CDATA[<p>... as for various reasons I've not been posting on here for a while - mainly because I've been sating my writing urges on a couple of separate blogs:</p>
<ul>
<li><a href="http://blog.bravelocation.com" title="Brave Location blog">Brave Location blog</a> - my personal technical blog where I've been letting an expectant world know what I've been up tp</li>
<li><a href="http://www.somethingnew365.com" title="Something New Every Day">Something New Every Day</a> - where I tried to do something new every single day of 2011</li>
</ul>
<div>However I thought that at least for my technical blog I should start cross posting them on here just in case they were of value to anyone.</div>
<div></div>
<div>For now, I'll just list some of the post that I've done in the last few months:</div>
<div>
<ul>
<li><a href="http://blog.bravelocation.com/version-3-of-bedside-clock-app-shipped" title="Version 3 of Bedside Clock shipped">Version 3 of Bedside Clock shipped</a></li>
<li><a href="http://blog.bravelocation.com/a-whole-load-of-useful-dev-resources">A&nbsp;whole load of useful dev resources</a></li>
<li><a href="http://blog.bravelocation.com/shipped-weight-tracker-facebook-app">Shipped Weight Tracker Facebook app</a></li>
<li><a href="http://blog.bravelocation.com/moving-from-mercurial-to-git">Moving from Mercurial to Git</a></li>
<li><a href="http://blog.bravelocation.com/making-a-jquery-slideshow">Making a JQuery slideshow</a></li>
<li><a href="http://blog.bravelocation.com/updating-my-chrome-extension-to-manifest-vers">Updating my Chrome extension to manifest version 2</a></li>
<li><a href="http://blog.bravelocation.com/adventures-in-posterous-template-design">Adventures in Posterous template design</a></li>
</ul>
<div>Enjoy!</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Adventures in Posterous template design</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/adventures-in-posterous-template-design</link>
      <pubDate>Sun, 15 Jul 2012 01:34:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/07/15/adventures-in-posterous-template-design/</guid>
      <description><![CDATA[I've got several blogs than run on Posterous - including this one - but to be honest the default...]]></description>
      <content:encoded><![CDATA[<p>
	<p>I've got several blogs than run on Posterous - including this one - but to be honest the default templates are all a little dull. Therefore I thought I'd have a go at building my own fully customised template.</p>
<p>Now as you can see I'm no designer, but I am reasonably pleased with the results so far with just a few remaining minor glitches.</p>
<p>There are some obvious limitations on what you're allowed to put in your Posterous blog template, the main one being no additional JavaScript references are allowed - either to an external file or inline.</p>
<p>This is fair enough for security reasons, but that means the dynamic features of the <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> framework I'm using don't work - for example trying to use a dropdown in the top nav bar now fails. Unfortunately this means the navbar doesn't really match the one on the main <a href="http://www.bravelocation.com">BraveLocation website</a>, but I don't think there is anything to be done about that.</p>
<p>The other main problem which I haven't solved yet is the injection of the Posterous control at the top right of the page messes up the size and hence the alignment of the top navbar is slightly off. More irritating than anything else, and I can live with that as my CSS skills aren't strong enough to bother seeing if I can solve it.</p>
<p>Aside from those small issues, overall it's really nice this blog now at least resembles the main website, and for me I'm pretty happy with the way both look.</p>
	
</p>

<p><a href="http://blog.bravelocation.com/adventures-in-posterous-template-design">Permalink</a> 

	| <a href="http://blog.bravelocation.com/adventures-in-posterous-template-design#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>Updating my Chrome extension to manifest version 2</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/updating-my-chrome-extension-to-manifest-version-2</link>
      <pubDate>Sat, 14 Jul 2012 05:34:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/07/14/updating-my-chrome-extension-to-manifest-version-2/</guid>
      <description><![CDATA[I got an email from Google saying I needed to update the manifest for my "Bing Translate" Chrome...]]></description>
      <content:encoded><![CDATA[<p>
	<p>I got an email from Google saying I needed to update the manifest for my "<a href="https://chrome.google.com/webstore/detail/hogdcbncicoifbkfdofpejkkckgkbjig">Bing Translate</a>" Chrome extension - which turned out to be slightly trickier than I thought.</p>
<p>According to the <a href="http://code.google.com/chrome/extensions/manifestVersion.html">depreciation guide</a>, developers need to update the manifest file that describes the extension properties to version 2 reasonably soon - although to be honnest without looking I have absolutely no idea what version Chrome is currently on.</p>
<p>You can see all the code on <a href="https://github.com/bravelocation/BingTranslateChromeExtension">GitHub</a> if you are interested, but the trickiest change was to do with the improved security model to help prevent cross site scripting attacks. In particular my code calls the Bing Translate API in a JavaScript call to <a href="http://api.microsofttranslator.com">http://api.microsofttranslator.com</a>, which I now had to specifically enable in the manifest file.</p>
<p>The line I had to add to the manifest was:</p>
<p><code>"content_security_policy": "script-src 'self' https://api.microsofttranslator.com; object-src 'self'",</code></p>
<p>... a detailed explanation of which can be found on the <a href="http://code.google.com/chrome/extensions/contentSecurityPolicy.html">Chrome Extensions documentation site</a></p>
<p>The key point to note is that this only works for https secure websites, but fortunately the Translator API also works via <a href="https://api.microsofttranslator.com">https://api.microsofttranslator.com</a>, so once I'd figured that out everything worked again.</p>
<p>If you are one of the users of this slightly useful tool, please go to Tools-&gt;Extensions menu and click on "Update Extensions now" to get the updated v1.1.</p>
	
</p>

<p><a href="http://blog.bravelocation.com/updating-my-chrome-extension-to-manifest-vers">Permalink</a> 

	| <a href="http://blog.bravelocation.com/updating-my-chrome-extension-to-manifest-vers#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>Making a JQuery Slideshow</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/making-a-jquery-slideshow</link>
      <pubDate>Sat, 09 Jun 2012 08:25:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/06/09/making-a-jquery-slideshow/</guid>
      <description><![CDATA[I've been trying to learn more about JQuery recently, and had an opportunity to try to figure out...]]></description>
      <content:encoded><![CDATA[<p>
	<p>I've been trying to learn more about <a href="http://www.jquery.com">JQuery</a> recently, and had an opportunity to try to figure out how to make a slideshow on my friend <a href="http://www.josiemccoy.co.uk">Josie's web site</a>.</p>
<p>Josie has been trying to show how she paints her fantastic pictures by taking a photo every hour during the creation process. We've been thinking for a while on how best to show this on the website, and decided on making a slideshow to animate the images as there are over 60 in the set!</p>
<p>Searching on the web, there are <em>a lot</em> of JQuery slideshows out there of differing quality, so I was very happy when I found a <a href="http://snook.ca/archives/javascript/simplest-jquery-slideshow">fantastic article</a> by Jonathan Snook, that not only documented a simple but effective slideshow, but also explained how it worked.</p>
<p>You can see the complete code in the slideshow at <a href="http://www.josiemccoy.co.uk/gallery/hourlypictures.aspx">http://www.josiemccoy.co.uk/gallery/hourlypictures.aspx</a>, but basically it can all be done in a couple of lines of code which reorders the stack of images (which have been all placed on top of each other) dynamically.</p>
<p>I amended the code slightly by adding in a "pause" and "play" button via a simple boolean variable, and am pretty happy with the results.</p>
<p>I added the code to Gist if you want to use, improve, extend - and it turns out Posterous will automatically embed inline if I just include the Gist URL:</p>
<p><p><a href="https://gist.github.com/2901473">https://gist.github.com/2901473</a></p>&nbsp;</p>
<p>Jonathan's code is very elegant, so as well as coming up with a pretty simple solution I also learnt a lot about image handling and transitions in JQuery.</p>
<p>Just for fun, here's the completed picture of LeeLoo - Milla Jovovich from The Fifth Element:</p>
<p><img src="http://www.josiemccoy.co.uk/gallery/images/hourlyphotos/60.jpg" height="296" alt="" width="495" /></p>
	
</p>

<p><a href="http://blog.bravelocation.com/making-a-jquery-slideshow">Permalink</a> 

	| <a href="http://blog.bravelocation.com/making-a-jquery-slideshow#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>Moving from Mercurial to Git</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/moving-from-mercurial-to-git</link>
      <pubDate>Wed, 06 Jun 2012 13:28:06 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/06/06/moving-from-mercurial-to-git/</guid>
      <description><![CDATA[For a while now I've been keeping my personal code repositories on BitBucket - which I'm really...]]></description>
      <content:encoded><![CDATA[<p>
	<p>For a while now I've been keeping my personal code repositories on <a href="http://www.bitbucket.org">BitBucket</a> - which I'm really happy with - and using <a href="http://mercurial.selenic.com/">Mercurial</a> as my source control tool of choice.</p>
<p>However since Bitbucket started also supporting Git - and that's what all the cool kids seem to be using nowadays - I'd thought I'd switch all my code over to Git to see what all the fuss is about.</p>
<h2>Converting from Mercurial to Git</h2>
<p>There are plenty of tools that in theory should help to export Mercurial changelist details to Git. However most of them didn't seem work very well on Windows, and the couple of things I tried didn't really work, so I was a bit stymied.</p>
<p>It's also slightly surprising that BitBucket don't offer tools to do Mercurial-&gt;Git the conversion, but to be honest I haven't drilled into the details and maybe it's not so straightforward?</p>
<p>After pondering for a bit, I decided to recreate my existing Mercurial repositories in Git by manually creating a new Git repository, then simply adding in the latest version of all the files.</p>
<p>There's an obvious drawback in what I did - I lost all of the change history of the existing Mercurial projects. However I decided there was really little of value for me as I'm really using Bitbucket just as an offsite backup right now, so it was OK to make the switch.</p>
<h2>Using Git for Windows</h2>
<p>The main reason I decided to take the plunge and move to Git was the release of what is a great new <a href="http://windows.github.com/">GitHub for Windows</a> app released recently.</p>
<p><a href="http://haacked.com">Phil Haack</a> - ex-MSFT and now at GitHub - has a great blog post about <a href="http://haacked.com/archive/2012/05/21/introducing-github-for-windows.aspx">what GitHub for Windows does</a>, and another one about <a href="http://haacked.com/archive/2012/05/30/using-github-for-windows-with-non-github-repositories.aspx">how to get it working for non-GitHub repositories</a>, obviously useful for getting setup with the BitBucket repositories.</p>
<p>Other than a few issues with initialising the local repositories using the drag and drop functionality from Explorer which intermittently crashed the program - I think it was because they were initially empty - it all worked very smoothly.</p>
<p>The tool is very simple to use, and much easier than the command-line utilities I was used to in Mercurial, although power tools are there under the covers if necessary.</p>
<p>If you're using Git on Windows already I'd definitely recommend trying out the GitHub for Windows app, and a couple of days in I'm very happy I've made the move from Mercurial.</p>
<h2>My first project on GitHub</h2>
<p>Now I was all set, I decided to release my "<a href="https://chrome.google.com/webstore/detail/hogdcbncicoifbkfdofpejkkckgkbjig">Bing Translate to English Chrome Extension</a>" on <a href="https://github.com/bravelocation/BingTranslateChromeExtension">GitHub</a>, just in case anyone was interested in how it worked or wanted to extend how it works. In the unlikely event that's you, feel free to <a href="mailto:johnp@bravelocation.com">drop me a line</a> as I'm very happy to help in any way I can.</p>
	
</p>

<p><a href="http://blog.bravelocation.com/moving-from-mercurial-to-git">Permalink</a> 

	| <a href="http://blog.bravelocation.com/moving-from-mercurial-to-git#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>A new app a month? Who was I kidding!</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/a-new-app-a-month-who-was-i-kidding</link>
      <pubDate>Mon, 04 Jun 2012 09:17:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/06/04/a-new-app-a-month-who-was-i-kidding/</guid>
      <description><![CDATA[At the start of the year I set myself the ambitious task of trying to ship an app a month for the...]]></description>
      <content:encoded><![CDATA[<p>
	<p>At the start of the year I set myself the ambitious task of trying to ship an app a month for the whole of 2012.</p>
<p>Seeing as it's the start of June and I can just about at a stretch say I've "shipped" two projects I think we can safely say this isn't going to happen.</p>
<p>I've been extremely busy as ever in my <a href="http://www.bing.com">day job</a>, and to be honest there just aren't enough hours in the day - well not enough I'm willing to spend! - to be able to ship something of quality every single calendar month.</p>
<p>Therefore I'm calling a halt to this fruitless quest, more to take the pressure off me so I can get on with doing some interesting things without any artificial deadlines in place.</p>
<p>I have been doing a few quite interesting bits and pieces in the last few months I will share on here, and for certain try to blog more regularly on what I'm up to.</p>
<p>&nbsp;</p>
	
</p>

<p><a href="http://blog.bravelocation.com/a-new-app-a-month-who-was-i-kidding">Permalink</a> 

	| <a href="http://blog.bravelocation.com/a-new-app-a-month-who-was-i-kidding#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
    <item>
      <title>Shipped Weight Tracker Facebook App</title>
      <link>https://docs.microsoft.com/archive/blogs/john_pollard/shipped-weight-tracker-facebook-app</link>
      <pubDate>Sun, 26 Feb 2012 09:51:00 GMT</pubDate>
      <dc:creator><![CDATA[John Pollard]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/john_pollard/2012/02/26/shipped-weight-tracker-facebook-app/</guid>
      <description><![CDATA[It's now nearly at the end of February and it's abundantly clear that it's really hard to keep...]]></description>
      <content:encoded><![CDATA[<p>
	<p>It's now nearly at the end of February and it's abundantly clear that it's really hard to keep shipping apps at the rate of one a month whilst working in the evenings :-(</p>
<p>Anyway, what I have done this month - which I'm going to claim in a loophole sort of way - is shipped my <a href="http://weighttrackerapp.appspot.com/">Weight Tracker Facebook App</a></p>
<p>The app is very simple; it uses Facebook's Open Graph to record your weight in pounds on the date you specify. I've also added a page where you can retrieve all your entries so you can see the progress of your diet (or not), and use the <a href="http://code.google.com/apis/chart/">Google Chart Tools</a> to make a nice graph of the figures.</p>
<p>Why it's a bit of a cheat in the app-per-month stakes is I did most of the work a few weeks ago, but had to wait for Facebook to approve the Open Graph extensions before the world could see the results on my timeline - and of course use the app themselves if they want. After one false start where I hadn't registered the correct icons for the app on the developer website, it went live this week.</p>
<p>The Open Graph development environment was pretty straightforward to both use and setup once I'd read through the <a href="http://developers.facebook.com">documentation</a>. The whole point of the app was really to learn about the capabilities of the platform, but also to make sure I keep sharing information about my ongoing diet!</p>
<p>I also like the way it was pretty easy to add in summary views on the data, so I can see both the latest weight and the lowest weight on my <a href="http://www.facebook.com/johnpol">Facebook timeline</a> with very little extra effort.</p>
	
</p>

<p><a href="http://blog.bravelocation.com/shipped-weight-tracker-facebook-app">Permalink</a> 

	| <a href="http://blog.bravelocation.com/shipped-weight-tracker-facebook-app#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]></content:encoded>
    </item>
  </channel>
</rss>