<?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>Richard Dutton &#187; Javascript</title>
	<atom:link href="http://www.dutton.me.uk/category/software-development/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dutton.me.uk</link>
	<description>Software Engineering, Photography, Travel, Stuff...</description>
	<lastBuildDate>Sat, 13 Feb 2010 08:45:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Personal Route Logging with MobileMe&#8217;s Find My iPhone</title>
		<link>http://www.dutton.me.uk/2009/09/27/personal-route-logging-with-mobilemes-find-my-iphone/</link>
		<comments>http://www.dutton.me.uk/2009/09/27/personal-route-logging-with-mobilemes-find-my-iphone/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 15:16:13 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[find my iphone]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[google maps api]]></category>
		<category><![CDATA[mobileme]]></category>

		<guid isPermaLink="false">http://www.dutton.me.uk/?p=276</guid>
		<description><![CDATA[Although I&#8217;m struggling to achieve a happy co-existence between Google&#8217;s Calendars and Contacts and my MobileMe subscription (still fighting dupes and funny syncs with the wrong numbers being associated with the wrong contacts etc&#8230; but that&#8217;s for another blog post!), one part of MobileMe I was keen to do something with was their &#8220;Locate My [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.apple.com/mobileme/whats-new/"><img class="alignright" title="Find My iPhone" src="http://images.apple.com/mobileme/whats-new/images/find_iphone_map_20090909.png" alt="" width="299" height="318" /></a>Although I&#8217;m struggling to achieve a happy co-existence between Google&#8217;s Calendars and Contacts and my MobileMe subscription (still fighting dupes and funny syncs with the wrong numbers being associated with the wrong contacts etc&#8230; but that&#8217;s for another blog post!), one part of MobileMe I was keen to do something with was their &#8220;Locate My iPhone&#8221; feature. Regular apps aren&#8217;t allowed to run in the background on the iPhone, making any form of auto-updating tracking application all a bit &#8220;manual&#8221;  (e.g. Google Latitude on the iPhone), Apple have provided the ability to get the location of your iPhone automatically, but as it&#8217;s <a href="http://www.apple.com/mobileme/whats-new/" target="_blank">officially</a> being touted as a feature to use when you&#8217;ve lost your iPhone it&#8217;s tucked away within the &#8220;Account Settings&#8221; section of the MobileMe web page.</p>
<p>This was screaming out to be screen-scraped and <span id="more-276"></span>developer Tyler Hall has stepped up to the plate with <a href="http://clickontyler.com/blog/2009/06/sosumi-a-mobileme-scraper/" target="_blank">Sosumi &#8211; A MobileMe Scraper</a>. Using Sosumi is literally a case of including the class in your PHP, instantiating it with your MobileMe username and password and calling its locate method which returns an object containing the current latitude, longitude and result accuracy, it&#8217;s as simple as that!</p>
<p>At the moment I&#8217;ve got a cron job on my server hitting this every five minutes and logging to a database. If the data hasn&#8217;t changed since the last logged entry, a counter is incremented and timestamp_last is set. A very simple Google Map displays these locations as points on a map but I&#8217;ve got loads of ideas of stuff to play about with, such as:</p>
<ul>
<li>Plot the reported accuracy of each location as a circle on the map, more Google Maps fiddling.</li>
<li>Modify which points are mapped based on time and date ranges through the webpage, some PHP + AJAX experience.</li>
<li>Store locations of common places I visit, then for each point logged (taking into account the accuracy range) I can programatically work out where I am.  Could then auto-generate &#8220;Richard is at work&#8221;, &#8220;Richard is at home&#8221;, etc&#8230; reports for my blog/twitter/facebook etc&#8230; =).</li>
</ul>
<p>Bit sad I know, but it seemed too good for a total sync-monkey like myself and I&#8217;ll never pass up an opportunity, however contrived, for a PHP mash-up!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dutton.me.uk/2009/09/27/personal-route-logging-with-mobilemes-find-my-iphone/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>DoshTracker Update #2 &#8211; Ext JS and Google Maps API Integration</title>
		<link>http://www.dutton.me.uk/2009/03/06/doshtracker-update-2-ext-js-and-google-maps-api-integration/</link>
		<comments>http://www.dutton.me.uk/2009/03/06/doshtracker-update-2-ext-js-and-google-maps-api-integration/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 08:38:31 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Doshtracker]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[google maps api]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.dutton.me.uk/?p=154</guid>
		<description><![CDATA[Shea Frederick on the extjs blog has produced a component which extends Panel and integrates with the Google Maps API here allowing you to display google maps anywhere you can use a Panel, that includes windows, viewports and layouts. This is great for the DoshTracker development as I can use this code to form the [...]]]></description>
			<content:encoded><![CDATA[<p>Shea Frederick on the extjs blog has produced a component which extends Panel and integrates with the Google Maps API <a href="http://extjs.com/blog/2008/07/01/integrating-google-maps-api-with-extjs/" target="_blank">here</a> allowing you to display google maps anywhere you can use a Panel, that includes windows, viewports and layouts. This is great for the DoshTracker development as I can use this code to form the basis of the mapping displays, saving me a lot of code hacking and fiddling.</p>
<p>The issues I am having at the moment revolve around Google&#8217;s geocoding of UK postcode data. For those who don&#8217;t know, geocoding is the process of turning an address into longitude and latitude location information which can then be displayed on a map. It can be a bit hit or miss, especially in the UK where the physical area covered by a single postcode can vary widely but prior to Google providing this feature in its API, the only way of achieving this was to buy a horrendously expensive license from the Royal Mail (who <strong>own</strong> our postcodes, <a href="http://gisconsultancy.com/blog/politics/the-royal-mail-paf-that-old-chestnut" target="_blank">apparently</a>?!?!?) making this an unfeasible option for DoshTracker.</p>
<p>It appears that the results you get back through the API functions are sometimes different to those you&#8217;d get typing in the same postcode into maps.google.com, a fact that they confirm in their <a href="http://googlemapsapi.blogspot.com/2007/07/uk-geocoding-now-available-in-maps-api.html" target="_blank">original press release</a> when they state that &#8220;(the) geocoder is not using the same resources as maps.google.com and may not return the same results&#8221;,  but hats off to them anyway for providing the feature in the first place. For privacy reasons, I don&#8217;t intend on displaying either the full postcode or a map at a sufficient zoom level to work out the precise location of notes entered into the system, so it may be that the accuracy provided by Google will suffice, but I&#8217;m designing the system to allow me to use other geocoding services in future.</p>
<p>In order to do this, I&#8217;ve separated the geocoding from the actual map display. A lot of code I&#8217;ve seen so far calls the geocoding functions when drawing the map in order to set the map center dynamically. This is unnecessary for me as DoshTracker will be using maps to display previously entered locations and so I plan to only geocode the hit&#8217;s location when the new note or hit is added to the system and then to store that information in the database. This not only reduces the number of calls to the Google Maps API (reducing the chances of me exceeding their acceptable policies) but also means that I can substitute the geocoding component in the future with only minimal code changes.</p>
<p>I&#8217;m just ironing our a few bugs in the display but I&#8217;ll be adding a new tab to the <a href="http://www.doshtracker.co.uk" target="_blank">DoshTracker homepage</a> over the weekend to allow you guys to test the geocoder. I&#8217;ll be logging the geocoded results to a database for use in the eventual system so please feel free to geocode all of your common locations and let me know what you think. I&#8217;m particularly interested in feedback on the map zoom level and the accuracy of the results you get.</p>
<p>Update (13/03/2009): The most up to date version of this component is now being hosted <a href="http://code.google.com/p/ext-ux-gmappanel/" target="_blank">here</a> at Google Code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dutton.me.uk/2009/03/06/doshtracker-update-2-ext-js-and-google-maps-api-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
