Revolutionizing Field Mapping (with FMTM): Part 2

Posted by spwoodcock on 11/29/2023

See pt1 of this series here.

First Release

We have been running various versions of FMTM for some time now, but released our first official version not long ago: v0.1.0.

FirstRelease

See the excellent release notes written by Susmina Manandhar, product manager for FMTM, for further details of features, bug fixes, and improvements.

Just to reiterate what a wonderful team of devs we have working on the project: @varun2948, @nrjadkry, @Sujanadh, @NSUWAL.

Special thanks for @JoltCode, an volunteer, who helped to modernise our frontend build tools. And to @robsavoye for his work on osm-fieldwork and osm-rawdata that underpin FMTM, plus guidance from the start.

Try it out!

I have been working to ease the installation process for organisations that need to run FMTM.

You can run a version of FMTM yourself with two commands!

curl -L https://get.fmtm.dev -o fmtm.sh

bash fmtm.sh

You will be prompted with a command line interface

Although HOT will endeavour to run a ‘global’ instance of FMTM, in a similar vein to Tasking Manager currently, my main goal is that FMTM is so simple to deploy, that a workflow such as this can be envisioned:

  1. Requirement for field mapping arises.
  2. Organisation spins up an instance of FMTM.
  3. Project manager creates a project, divides tasks.
  4. Team goes out to map the features.
  5. Data is validated, conflated with existing OSM data, and exported / uploaded.
  6. FMTM instance is shut down.

Technical aside / mad idea section:

To run FMTM, currently all you need is a server and a domain name.

In the future, this could be streamlined even further with a technology such as Headscale, creating a virtual private mesh network for mappers to connect to.

HOT could potentially run the Headscale control plane, so all project managers would need to do is run FMTM on their laptop/pc, configure the VPN for their users, then connect phones to the VPN (using an easy mobile app) for mapping!

Mobile First

We realised during various test with end users, that the UI was far from ideal to operate via mobile phone.

Significant updates have been made to the UI design, adopting a mobile-first approach to ease field usage for mappers on the ground.

MobileView

We now also support map geolocation and orientation.

The project creation workflow has also undergone significant upgrades.

ProjectCreation

MBTile Output

Often mapping must be undertaken in areas with limited connectivity.

To still use a basemap to locate yourself, the MBTile format is useful. MBTiles can be generated directly in FMTM for download and use within ODK Collect.

MBTiles

Note: we are working with the developers of ODK Collect to make the process of loading MBTiles into the app a more seamless process.

Improved Deployment Process

As mentioned, HOT plans to maintain a series of FMTM servers for usage by the public.

In our newly improved deployment process, this is as follows:

The purpose behind having a staging server open to the public is to gather feedback and run public tests of new features.

Those wishing to use FMTM for a critical project should use the production server.

However, if you wish to have the latest features on FMTM as quickly as possible (the development pace is quite fast), but are willing to encounter the occasional bug, then feel free to use the staging server (and please provide feedback!).

The staging version should be updated every two weeks.

The stable version should be released every month.

Get Involved

Contributing to FMTM with code, documentation, or ideas would be very welcome!

Software developers, technical documentation writers, software testers, or anyone with a general interest - feel free to get in contact.

Future Posts

This was an update on some of the latest features of FMTM and future plans.

There is much that I could not cover, so please check Github for the latest updates!

I plan to make future posts about developments, technical deep dives, and usage of FMTM’s features.

See you next time.