So I have been hearing lately about What3Words and how the emergency services in the UK are using it to locate people. This, and other information I have read about recently has got me thinking. What3Words is a proprietary service, that the emergency services will be paying to use. Now a number of mountain rescue teams in the UK use a service developed by one of their volunteers called SARLOC which appears to have a similar set of requirements, but from what I have read appears much more useful for the mountain rescue teams that use it. Now what I have been thinking, these services both rely on the person that needs to be located to have a smartphone, with location services, and an internet connection. They both require the person to receive a link, and allow the opened web page to see their location. So with these assumptions, how hard is it to build a service that allows an operator to send a personalised link to someone, have that use the smartphone’s location services to get a current location for the user, and share that automatically with the operator?

What I’m going to try and do is build just such a service, share my progress as I go, and share the code on the code repository I built some time ago as I really do need to find a productive use for it.

What are the requirements of such a service?

  • We need to allow the operator to login to show they’re more privileged than normal users
  • The operator needs to be able to generate a unique link to send out to normal users
  • The link sent out needs to query location services to get the location of the phone
  • The link needs to update the service with that location
  • The operator needs to be shown that location automatically
  • The operator needs to be able to see multiple such locations at once
  • The normal users need to be able to only update their own location
  • The normal users need to not be able to see any other location

With those in mind, we need a reasonably simple API, with a login, and some form of state store. Despite the title of this post I don’t actually expect this to be easy. My next steps will be to choose a framework and/or language to build this in, and put together some thing to deploy what I write and host it.

My intent for this project isn’t to build a full commercial service, but to build a proof of concept, and hopefully learn something along the way.

posted at 8:19 pm on 18 Aug 2019 by Craig Stewart

Tags:project open-source sysadmin location-finder