<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<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>location &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/location/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Fri, 27 Mar 2026 16:09:46 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>location &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Why is it so hard to passively stalk my friends' locations?]]></title>
		<link>https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/</link>
					<comments>https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 15 Apr 2026 11:34:45 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[FourSquare]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[location]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=68114</guid>

					<description><![CDATA[I feel terribly guilty when I visit a new city, post photos of my travels, only to have a friend say &#34;Hey! Why didn&#039;t you let me know you were in my neck of the woods?&#34;  Similarly, if I bump into an old acquaintance at a conference, we both tend to say &#34;If only I&#039;d known you were here, we could have had dinner together last night!&#34;  I do enjoy the serendipity of events like FOSDEM - randomly…]]></description>
										<content:encoded><![CDATA[<p>I feel terribly guilty when I visit a new city, post photos of my travels, only to have a friend say "Hey! Why didn't you let me know you were in my neck of the woods?"</p>

<p>Similarly, if I bump into an old acquaintance at a conference, we both tend to say "If only I'd known you were here, we could have had dinner together last night!"</p>

<p>I do enjoy the serendipity of events like FOSDEM - randomly seeing a mate and expressing the joy of spontaneity. But I also like arranging to meet up in advance.</p>

<p>At the moment, my strategy is sending a blast on social media saying "I'm visiting [this city] next week, anyone fancy a beer and a natter?" I've met friends all over Europe, Australia, and New Zealand that way.  <a href="https://shkspr.mobi/blog/2025/06/meeting-my-fedifriends-afk/">It mostly works</a>.  But I can't help feeling it is inefficient and prone to missing connections.</p>

<p>I even wrote my own code to auto-post FourSquare checkins to my other social media sites.</p>

<p>Here are my ideal scenarios. Imagine something built in to Signal / WhatsApp / Whatever app you already use.</p>

<h2 id="plan-in-advance"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#plan-in-advance">Plan In Advance</a></h2>

<p>I tell my app that I'm going to Barcelona from 14th - 19th February and am happy to meet any of my friends.</p>

<p><em>✨Background Magic✨</em></p>

<p>My friend Alice has also planned a trip to Barcelona around those dates. She gets a ping saying that one of her friends is going to be in the same city. Does she want to know more?</p>

<p>So far, so <a href="https://en.wikipedia.org/wiki/Dopplr">Dopplr</a>.</p>

<p>My friend Bob lives just outside of Barcelona. He's set his "willing to travel" settings to be about 30 minutes, so also receives a ping.</p>

<p>I don't know that either of them have seen the notification until they decide they want to meet.</p>

<h2 id="spontaneous-fun"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#spontaneous-fun">Spontaneous Fun</a></h2>

<p>I step off the train in Manchester, England England.  Perhaps the app notices I'm away from home, or maybe I press the "Anyone Around?" button.</p>

<p>On a map I can see friends who have shared their rough location. I decide to message Chuck to see if he's free for a chat.</p>

<p>Dave notices my location is now within his preferred travel distance. He gives me a ring.</p>

<p>A bit like how FourSquare used to be - but with less precision.</p>

<h2 id="downsides"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#downsides">Downsides</a></h2>

<p>The above is very much the "happy path". It doesn't look at any of the knotty problems or grapple with the UI that would be needed to make this work.  But we know the technology for sharing location is viable - so what are the social issues that make this so difficult?</p>

<h3 id="social-awkwardness"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#social-awkwardness">Social Awkwardness</a></h3>

<p>"Oh, fuck, Edgar's location says he's in town. Can we pretend to be out of the country?"</p>

<p>Alternatively, "Huh, I know at least a dozen people who live in Skegness. Why aren't any of them responding to me?"</p>

<p>Social pressure and awkwardness are hard problems. No one wants to use the app that makes you feel like a friendless loser.</p>

<h3 id="privacy"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#privacy">Privacy</a></h3>

<p>Do you <em>want</em> your friends knowing your every movement? I'm sure some people do, but most probably don't. It's possible to sketch out some vague controls:</p>

<ul>
<li>Only send a notification if I push this button.</li>
<li>Don't send alerts if I am within this radius of my home / work.</li>
<li>Fuzz my location to the city / state / country level.</li>
</ul>

<h3 id="danger"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#danger">Danger</a></h3>

<p>Is it a risk to let people know vaguely where you are? Is meeting up with (semi-) strangers from the Internet a smart life choice? Is having an app stalk you across the globe giving too much data to advertisers?</p>

<p>Does that creep from work abuse the system to keep popping up whenever you're out with friends?</p>

<h2 id="technology"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#technology">Technology</a></h2>

<p>I said the technology exists for this, and that was sort of true. Every device has GPS &amp; an Internet connection. Storing a log of friends and sending them a message is a solved problem.</p>

<p>But is it solved in a decentralised and privacy preserving way?</p>

<p>No one wants to give all this power to one company. Google will build it and kill it. Facebook will sell your secrets to dropshippers. A funky start-up will be acquhired by Apple &amp; restricted to iOS devices.</p>

<p>My location is fuzzed to an acceptable degree of imprecision and then sent… where? To all my friends directly? To a central server? Can <a href="https://en.wikipedia.org/wiki/K-anonymity"><em>k</em>-anonymity</a> help?</p>

<p>Is this a separate app? Everyone seemed to leave FourSquare after they buggered around with it. Perhaps it is just a feature in existing apps?</p>

<h3 id="whats-already-there"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#whats-already-there">What's Already There?</a></h3>

<p>Messaging apps like Signal, Telegram, and WhatsApp allow you to share your location with one or more friends.</p>

<p>To me, it feels a bit weird to manually send a dropped pin to some / all of my contact. It also doesn't let you share "tomorrow I will be in…"</p>

<p>Using "Stories" is the common way to share an update with all contacts - but none of them let you automatically share your location in a story.</p>

<p>FourSquare's Swarm app allows you to check in to a "neighbourhood". But there's no obvious way of saying "London" or "Manchester" - and I'm not sure how close to an area you need to be to get an alert that your friend is there.</p>

<h2 id="whats-next"><a href="https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/#whats-next">What's Next?</a></h2>

<p>I don't want to build this. Trying to get everyone I know to adopt a new app isn't going to happen. With the fragmentation of messaging and the lack of interoperability, this is likely to remain an unsolved problem for some time.</p>

<p>So here's my strategy.</p>

<ul>
<li>Get back in to using FourSquare. Most of my friends seemed to stop using it back in 2017 when it was split into Swarm. But a few are still on there.</li>
<li>Manually post a story on Mastodon, BlueSky, Facebook, WhatsApp, Signal, and Telegram saying "Visiting Hamburg next week. Anyone want a beer?"</li>
<li>Hope that something better comes along.</li>
</ul>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=68114&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/04/why-is-it-so-hard-to-passively-stalk-my-friends-locations/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Some Short Thoughts On Smart Tags]]></title>
		<link>https://shkspr.mobi/blog/2021/05/some-short-thoughts-on-smart-tags/</link>
					<comments>https://shkspr.mobi/blog/2021/05/some-short-thoughts-on-smart-tags/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 10 May 2021 11:01:34 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ble]]></category>
		<category><![CDATA[Chipolo]]></category>
		<category><![CDATA[location]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=38919</guid>

					<description><![CDATA[So Apple have released some BlueTooth tags. As per their standard operating procedure, the rest of us have been using them for years, but now Apple has &#34;invented&#34; them they are suddenly interesting.  Here&#039;s my review from 5 years ago of the Chipolo BlueTooth tag. Amusingly, Apple have decided to go with a user-replaceable battery - unlike many of their other devices. I wonder why they didn&#039;t go…]]></description>
										<content:encoded><![CDATA[<p>So Apple have released some BlueTooth tags. As per their standard operating procedure, the rest of us have been using them for years, but now Apple has "invented" them they are suddenly interesting.</p>

<p>Here's my review from <em>5 years ago</em> of <a href="https://shkspr.mobi/blog/2016/04/review-chipolo/">the Chipolo BlueTooth tag</a>. Amusingly, Apple have decided to go with a user-replaceable battery - unlike many of their other devices. I wonder why they didn't go for wireless charging - <a href="https://shkspr.mobi/blog/2016/06/tintag-unboxing-and-review/">like the TinTag had a few years ago</a>?</p>

<p>Anyway, the Apple involvement adds three significant things:</p>

<ol>
<li>Better directional navigation. Rather than just telling you how far away from the thing you are, it tells you roughly <em>where</em> the thing is.</li>
<li>Improved community features. Having everyone with an iThing being able to find your lost puppy is a game-changer. Companies like Chipolo could never get that traction by themselves.</li>
<li>Higher price. Because Apple.</li>
</ol>

<p>The first two are genuinely useful. First generation tags were able to give you distance and play a little noise. Good for Apple on innovating. With <a href="https://www.emarketer.com/content/iphones-gaining-us-market-share-losing-uk">40% of the UK having an iDevice</a> there's a good chance that someone will walk by your dropped keys.</p>

<p>But the price...</p>

<p>I used the Chipolo and TinTag for a long time - but I couldn't justify the cost. I just don't lose my keys that often. Having them on my luggage was vaguely useful when disembarking from an aeroplane - but hardly essential. In any case, you still want a physical tag with something written on it for people who don't have the right app.</p>

<p>I used <a href="https://shkspr.mobi/blog/2015/10/ibeacon-business-cards/">Physical Web Tokens</a> which also suffered from the same flaw - overpriced and inaccessible to the majority of people</p>

<p>Is £25 a reasonable price for insurance if you ever lose your bag, keys, or pet? Maybe. And I'm sure the PR teams will shortly begin churning out feel-good stories about how lost dogs were reunited with distraught owners thanks to the magic of Apple.</p>

<p>But do people lose valuable stuff that often? I want to know where I put the spare HDMI cable. Or which cupboard has the nutmug. Or who borrowed my favourite mug. No one is bunging a pony down for that.</p>

<p>I long for the world envisaged by Cory Doctorow in his book <a href="https://craphound.com/makers/Cory_Doctorow_-_Makers_A4.pdf">Makers</a> - where smart tags are cheap as dirt and ubiquitous.</p>

<blockquote><p>“One of the big barriers to roommate harmony is the correct disposition of stuff. When you leave your book on the sofa, I have to move it before I can sit down and watch TV. Then you come after me and ask me where I put your book. Then we have a fight. There’s stuff that you don’t know where it goes, and stuff that you don’t know where it’s been put, and stuff that has nowhere to put it. But with tags and a smart chest of drawers, you can just put your stuff wherever there’s room and ask the physical space to keep track of what’s where from moment to moment.</p>

<p>...</p>

<p>He reached for his computer and asked it to find him the baseball gloves. Two of the drawers on the living-room walls glowed pink. He fetched the gloves down, tossed one to Lester, and picked up his ball.</p></blockquote>

<p>We're a little way off that dream at the moment. <a href="https://shkspr.mobi/blog/2020/06/gadget-review-ysshui-ntag215-nfc-tags/">RFID tags are getting pretty cheap</a> - but they're short range. You'd need a network of high-powered sensors in a room to be able to do basic location finding.</p>

<p>So, a hearty well-done to Apple for getting in to the physical location game. Let's hope it re-energises the sector and drives the cost down to ubiquity.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=38919&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/05/some-short-thoughts-on-smart-tags/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Why does my remote control need to know my location?]]></title>
		<link>https://shkspr.mobi/blog/2019/02/why-does-my-remote-control-need-to-know-my-location/</link>
					<comments>https://shkspr.mobi/blog/2019/02/why-does-my-remote-control-need-to-know-my-location/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 21 Feb 2019 12:09:28 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=31518</guid>

					<description><![CDATA[Here&#039;s an interesting user-hostile pattern which could easily be avoided if programmers and business-people thought like regular humans.  I have a Pioneer / Onkyo sound system. It&#039;s pretty nice and comes with a (not too crappy) Android app to let me remote control it.  One day, the app updated itself. The changelog was the usual bland &#34;bug fixes and improvements&#34; message, but when I opened it,…]]></description>
										<content:encoded><![CDATA[<p>Here's an interesting user-hostile pattern which could easily be avoided if programmers and business-people thought like regular humans.</p>

<p>I have a Pioneer / Onkyo sound system. It's pretty nice and comes with a (not too crappy) Android app to let me remote control it.</p>

<p>One day, the app updated itself. The changelog was the usual bland "bug fixes and improvements" message, but when I opened it, this happened:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/02/Pioneer-App-Location.jpeg" alt="Allow Pioneer Remote App to access this device's location?" width="680" height="518" class="aligncenter size-full wp-image-31520">

<p><em>Why</em> does a remote control need to know my location?  I assumed it was for some marketing bollocks, so I refused permission. Then the app refused to work.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/02/Pioneer-App-Location-Refused.jpeg" alt="Authority to access is required to play/display the contents and to get network information in App info." width="680" height="523" class="aligncenter size-full wp-image-31519">

<p>Let's ignore the grammatical atrocities in the pop-up. Something that was working fine and is now broken because the app developer didn't think that people would dare refuse their demand for sensitive data.</p>

<p>I complained, along with several other users.  A few weeks later, they published an update:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/02/pioneer-fs8.png" alt="What’s New Change the permission indication of Device’s Location to be indicated only when needed. * In case of use Android 4 or 5, the permission indication will be indicated when install this App or update to the latest version. * Why Device's location is needed? Answer: In order to set-up your wireless devices which are located around you, SSID and Access Point info is needed. There is no other purpose to use the information of Device’s Location." width="624" height="621" class="aligncenter size-full wp-image-31521">

<p>The new app works even if I don't give it permission to track me. Result!</p>

<h2 id="cause-1"><a href="https://shkspr.mobi/blog/2019/02/why-does-my-remote-control-need-to-know-my-location/#cause-1">Cause #1</a></h2>

<p>The first mistake was Pioneer / Onkyo. They should pop up a message saying "Hey, we would like your location so that we can..." and then let the user make an informed choice as to whether to grant that information.</p>

<p>If the user refuses, gracefully degrade and provide some other way to accomplish the task manually.</p>

<h2 id="cause-2"><a href="https://shkspr.mobi/blog/2019/02/why-does-my-remote-control-need-to-know-my-location/#cause-2">Cause #2</a></h2>

<p>Google, in its wisdom, has tied "Location" into things like BLE Scanning and WiFi scanning.  The excuse is that you can use these things as a <em>proxy</em> for location. That is, if I know you are near access point X your location is probably near Y.</p>

<p>I appreciate that. But is there a better way to request the permission? "Allow WiFi scan? This might share your location." That's probably not the best way to word it - but the current situation just confuses and upsets customers.</p>

<p>This is a <a href="https://issuetracker.google.com/issues/37065090">much</a> <a href="https://issuetracker.google.com/issues/37074104">complained</a> <a href="https://issuetracker.google.com/issues/71551252">about</a> problem with Android.  And one which won't be fixed anytime soon by Google.</p>

<h2 id="permission-to-speak-freely"><a href="https://shkspr.mobi/blog/2019/02/why-does-my-remote-control-need-to-know-my-location/#permission-to-speak-freely">Permission to speak freely</a></h2>

<p>In the bad old days of Nokia, apps <em>constantly</em> asked for permission. It was a running joke that the web browser app would ask for permission to connect to the net, and then ask if you <em>really</em> wanted to connect to a secure website.</p>

<p>You think I'm joking? This was a common experience on Symbian:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/04/Symbian-Secure-Connection-prompt.jpeg" alt="A pop-up asking if the user wants to connect to https." width="640" height="360" class="aligncenter size-full wp-image-28201">

<p>Android and Apple were meant to free us from this drudgery. With their carefully curated walled gardens, and double-checked apps, there was no need to bother the user with requests for permission.</p>

<p>Then this happened:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/04/Legit-App-Permissions.png" alt="A long list of unnecessary permissions requested by a dodgy flashlight app." width="480" height="800" class="aligncenter size-full wp-image-28202">
App developers abused that trust and started cramming in needless permissions in order to exploit the user.</p>

<p>Users don't want to have to think about this. App stores don't want to police the apps they stock. Developers don't want to put friction in the user journey. Regulators don't want data being shared without consent. Users say they want to manage their permissions, but don't really understand the consequences.</p>

<p>What a mess!  Perhaps I should find some AA batteries for the physical remote instead...?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=31518&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/02/why-does-my-remote-control-need-to-know-my-location/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Get your Google Location History the hard way… Again!]]></title>
		<link>https://shkspr.mobi/blog/2015/09/get-your-google-location-history-the-hard-way-again/</link>
					<comments>https://shkspr.mobi/blog/2015/09/get-your-google-location-history-the-hard-way-again/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 02 Sep 2015 12:17:03 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[location]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=21334</guid>

					<description><![CDATA[Last year, I wrote about how to extract Location History from Google.  Once again, Google have changed their URLs to make it even harder to get one&#039;s current location out of their data-greedy hands.  It used to be the case that Latitude gave that information - but they killed it.  Then they promised it in Google+ - but never delivered.  Now they offer you a data-dump which they will email to you. …]]></description>
										<content:encoded><![CDATA[<p>Last year, I wrote about <a href="https://shkspr.mobi/blog/2014/04/extracting-your-own-location-information-from-google-the-hard-way/">how to extract Location History from Google</a>.  Once again, Google have changed their URLs to make it even harder to get one's current location out of their data-greedy hands.</p>

<p>It used to be the case that Latitude gave that information - but they killed it.  Then they promised it in Google+ - but never delivered.  <em>Now</em> they offer you a data-dump which they will email to you.  Hardly convenient if you want a single day!</p>

<p><em>sigh</em></p>

<p>Recently <a href="https://www.google.com/maps/timeline">Google released Timeline</a> - an interactive way to view where you've been.  It also offers the ability to download a single day's worth of location tracks as KML.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/09/Google-Timeline-KML-fs8.png" alt="Google Timeline KML-fs8" width="589" height="465" class="aligncenter size-full wp-image-21335">

<p>With a little bit of fiddling, we can get the direct URL. Strap in, it's going to get rough!</p>

<p>In order to get today's date (2015-09-02) the URL needs to be:</p>

<p><code>https://www.google.com/maps/timeline/kml?authuser=0&amp;pb=!1m8!1m3!1i2015!2i8!3i2!2m3!1i2015!2i8!3i2</code></p>

<p>That URL format is… unique…</p>

<p>Here's how it breaks down:</p>

<p><code>pb=!1m8!1m3!1i<strong>YYYY</strong>!2i<strong>MM</strong>!3i<strong>DD</strong>!2m3!1i<strong>YYYY</strong>!2i<strong>MM</strong>!3i<strong>DD</strong></code></p>

<p>Where <strong>MM</strong> is a <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date" rel="nofollow">Javascript style zero-based month</a>.  (Why is the first month "0" but the first day "1"? <a href="https://twitter.com/0xabad1dea/status/605553613558173696">Because</a> <a href="http://stackoverflow.com/questions/2552483/why-does-the-month-argument-range-from-0-to-11-in-javascripts-date-constructor">fuck</a> <a href="https://web.archive.org/web/20200924204658/https://twitter.com/benjaminpearson/status/7348991893">you</a>, <a href="http://programmers.stackexchange.com/questions/179285/why-does-javascript-treat-days-and-months-differently">that's</a> <a href="https://web.archive.org/web/20200924204704/https://twitter.com/Latish/status/634795697460514816">why</a>!)</p>

<p>One thing to note, when you get the KML file, the timestamps are in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601 format</a> (Yay!) but are set to West Coast USA time (Boo!)
<code>2015-09-02T12:15:37.836-07:00</code></p>

<p>Annoying, but not the end of the world.  How do you get the data into your app?</p>

<p>You <strong>can't</strong>.</p>

<p>There's no authorised API access for this.  You can't do the OAuth dance.  The only way is via cookie-jacking.</p>

<p>Sign in to Google via your web browser.  Open up your web inspector in Chrome or Firefox.  Load the KML URL and choose "<a href="http://www.lornajane.net/posts/2013/chrome-feature-copy-as-curl">Copy as cURL</a>"
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/09/Cookie-Jacking-fs8.png" alt="Cookie Jacking-fs8" width="1024" height="299" class="aligncenter size-full wp-image-21338"></p>

<p>You'll end up with a command like:</p>

<pre>curl 'https://www.google.com/maps/timeline/kml?authuser=0&amp;pb=!1m8!1m3!1i2015!2i8!3i2!2m3!1i2015!2i8!3i2'
 -H 'Host: www.google.com'
 -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0'
 -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
 -H 'Accept-Language: en-GB,en;q=0.5'
 --compressed
 -H 'DNT: 1'
 -H 'Cookie: --------------'
 -H 'Connection: keep-alive'</pre>

<p>You can use that command - or steal your own cookie - for use in your app.  Your cookie will likely expire after a set time - whereupon you'll have to reauthenticate.</p>

<p>What a faff!  Come on, Google. Rather than pissing about with your logo, why not build something that works properly? I dare ya!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=21334&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/09/get-your-google-location-history-the-hard-way-again/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
	</channel>
</rss>
