[Info-vax] Expected ratio of ServiceWorker instances to Geolocation Updates

Richard Maher maher_rjSPAMLESS at hotmail.com
Fri Jul 21 19:55:35 EDT 2017


On 20-Jul-17 6:21 PM, Richard Maher wrote:
> For some time I've been arguing with W3C/IETF (and anyone else who'd 
> engage) that ServiceWorkers are the ideal platform to host the 
> Background Geolocation functionality that Ultimate Web Apps need in 
> order to compete on a level playing field with Native Apps. The sticking 
> point is usually the fleeting nature of a ServiceWorkers' lifespan. I 
> have always argued that it would be madness to kill them immediately and 
> most implementations seem to agree. (Firefox being the most aggressive 
> at 30secs see Bug at 
> https://bugzilla.mozilla.org/show_bug.cgi?id=1378587 this behaviour 
> prevails even with heaps of CPU/Memory)
> 
> Anyway, in order to prove that I am right, and the likes of Jake 
> Archibald are very much mistaken, I wrote a little Web App, Source code 
> can be found here: 
> https://drive.google.com/open?id=0B7Rmd3Rn8_hDNW1zSWRoXzBTclU (There is 
> a aaa_readme.txt)
> 
> Now it still needs a bit of work to provide a trip summary page and map 
> the trip on Google maps but I think you'll get the idea and most 
> importantly see the real world, actual, demonstrable relationship 
> between Service Worker Instances and Geolocation updates? (I wanted to 
> get it out before the Europeans disappeared for August :-)
> 
> So have I done something stupid here? Am I imagining that I only get a 
> new Service worker instance when I'm stuck at the lights for an extended 
> period on the way home and position updates are nowhere to be seen? Are 
> my coding skills lamentable and testing skills non-existent?
> 
> If not, then I have no idea why Web Apps are not allowed to satisfy 
> these legitimate and very desirable user requirements. Sure, we'll get 
> user-empowerment, permissions, and discovery right but let's get on with 
> it? The TravelManagerPolyfill.js file is nearly all UA developers have 
> to do!
> 
> Q: Have I understood the ServiceWorker architecture correctly and 
> implemented a valid heuristic interrogation of ServiceWorker 
> instantiation over time?


For those wanting to know where the Java, VMS, and C# relevance is, you 
need to look at the Service Worker code echo.js, in particular: -

/*
  * Even if there are no active client windows we still let Starship
  * Control know where we are so thay can let us know (notify us) of a
  * GeoFence we've just traversed of a bargain to be had at that pub over
  * there.
  */
	function tellFleetManager(payLoad)
	{
		return new Promise((resolve, reject) =>
		{
		fetch(FLEET_MANAGER, {
			method: "POST",
			credentials: 'same-origin',
			headers: {
				'Content-Type': 'application/json'
			},
			body: payLoad
		}).then(response =>
			{
				if (response.ok) {
					resolve(response.json())
				} else {
					var error = new Error(response.statusText)
					error.response = response
					throw error;
				}
			}).catch(function(error) {
				console.log('Fleet request failed', error)
				reject(error);
				});
		})
	}	

This code allows the fleet management C#/Java server to track all 
trucks, pizzas, ski-buddies and plot them as a whole.



More information about the Info-vax mailing list