Stumblefish: a BeaconDB stumbler for Sailfish OS

Join The Motorcycle Fish on his mission to improve location fix times!

Stumblefish is a Sailfish OS location report collector for Geosubmit-compatible services. You can use it to make quick fixes more accurate around your location, both for you and everyone else near you.

It collects GNSS-backed Wi-Fi, cell tower, and optional BLE beacon observations, stores reports locally, and can upload them to a configurable submission endpoint. BeaconDB is the default endpoint. It has a background daemon that runs when the app is closed, that can either keep your location fix to continuously collect data, or opportunistically use your location when another app turns it on.

The reports it sends to BeaconDB aren’t very personally identifying, as anyone in the same place as you would produce the same data and there are no accounts or client ids.

It is heavily inspired by NeoStumbler. GitHub - mjaakko/NeoStumbler: New stumbler application for contributing data to geolocation services · GitHub . Many thanks to them for a great tool.

You can download it from Chum, OpenRepos or off of my GitHub repo. Source is here.

Any resemblance between The Motorcycle Fish and Mickey Rourke is purely coincidental. The Motorcycle Fish does not do it for Johnny. That was the other one.

38 Likes

Use it since a few weeks. Really like it! Its a lot fun to fill the gaps in the beaconDB :wink:

1 Like

Been using it for a while (and you actually beat me to writing that app!). Thanks!

4 Likes

Very well-done app, thanks a lot!

Lovely that you have a daemon with useful dbus API - I’m planning to piggyback on that!

Would it be possible to show the BeaconDB data on the map as well?

Like beaconDB map

5 Likes

I would like that to! And another thing… is it meaningful to upload data from the same place multiple times?

1 Like

Yes I think that data gets reinforced each time it gets repeated. But you’d have to ask them.

2 Likes

Showing the beacondb coverage wasn’t trivial when I had a look. But I didn’t look very closely.

1 Like

Looking at the network requests on the map page, it would seem the api is something like this:

GET https://basemap.beacondb.net/tiles/base.json

and this contains a tiles service like
https://basemap.beacondb.net/tiles/base/{z}/{x}/{y}.mvt

But I never studied all this map tile business so this may be irrelevant information.

2 Likes

Yeah, those are some weird protobuf vector tile files. I was thinking I’d wait until they start publishing data dumps and look at it again.

4 Likes

It definitely feels like the data gets reinforced. I have now collected data few weeks and I get all the time better and faster fix.

2 Likes

Nice project! I like that it stores reports locally and lets you choose when to upload them. I’ll give it a try and hopefully contribute some useful data to BeaconDB.

Thanks… I’ve done the same thing, but wasn’t assure of the outcome.

1 Like

First day of holiday. Walking to and from railway stations gave some nice additions. The grandchildren liked the paths on the map

3 Likes