Skip to content

Microgrant Proposal: StreetComplete as an entry point to OpenStreetMap #34

@westnordost

Description

@westnordost

Microgrant Proposal

Individual/Group Details

  • Name: Tobias Zwick
  • Group: -
  • Location: Hamburg, Germany
  • Contact Details: osm@westnordost.de

Project Title

StreetComplete as an entry point to OpenStreetMap

Project Overview

(I am basically resubmitting my idea from the first Microgrants 2020, I believe the reason why it was not selected was rather to limit the number of funded projects per grantee to one rather than it not perceived as a good idea).

StreetComplete's main target audience are beginners, people who contribute casually and are thus likely not deeply integrated in the OSM community (yet). Due to app's simplicity of use, it acts a bit like a springboard, an entry point to OpenStreetMap.

Five years ago, I implemented the achievement system in the app: Users that regularly contribute are awarded links to OSM introductions, community platforms, other editors and to projects that show how OSM data is used. The ulterior motive here was to make users that discovered StreetComplete introduce them into the community and ecosystem at large.

More can be done in this regard. In a nutshell, in the order of importance:

  1. Notify users of upcoming events from OSM calendar in their vicinity

  2. Make use of the osm-community-index to direct users to local community channels based on their geo-location

  3. Notify users of a new edition of weeklyOSM to keep them up-to-date

About you

I am the creator and maintainer of StreetComplete and have been doing this pretty much as exclusively in the past years.

I have previously been awarded an OSMF microgrant: Map Maintenance with StreetComplete

Objectives and Impact

The main objective is community building.

Promoting (local) community channels and local events fosters that people might socialize about the common hobby OpenStreetMap, which in turn creates stronger longer lasting bounds within OSM.

A secondary objective is to show activity to users, to show that something is happening and that the user is not alone. Notifications about nearby events and to a lesser degree reading what else is new in OSM can do that.
OSM mapping otherwise feels quite lonely as one doesn't usually interact with other mappers, often only interacts with others when there are edit conflicts, notes or changeset comments. (Dealing with a problem caused by another or being notified of being the cause of a problem is not best starting point for interaction, though.)

Lastly, establishing weeklyOSM as a recurrent news source can build habits, and this in turn can help to create a longer lasting tie to OpenStreetMap in general.

Grant Amount Requested (In EUR)

My asking amount is 5500€. It is entirely development cost, no travel costs, hardware costs etc.

This is about 31 € per hour before value-added tax, given the estimations for the tasks below:

  1. Notify of community events (7-9 days)
  • use OsmCal API to query for events regularly
  • persist events in local database and clean up info of past events
  • filter events near to user's location the app didn't notify about yet
  • in-app notification logic and animated UI to see event
  • setting to turn off notifications (and thus also regularly querying it)
  • (OPTIONAL:) screen in which all upcoming events are shown and can be filtered by distance and create own events. It's unlikely that this can be realized to its full potential because there's no API for creating an event nor to confirm to participate in one, both require separate OAuth authentication.
  1. List local community channels (8-11 days)
  • parse methods of communication, community resources, localizations, feature geojsons. Optionally as a separate multiplatform library (so it could be used by other Java and Kotlin projects)
  • put it all together into a reasonable data structure
  • build script that fetches current osm-community-index data from repo
  • build script that fetches and converts icons for different methods of communication or create own icons
  • logic to query entries by current location
  • screen that shows a list of community channels at user location, if possible highlighted by locality

(🤔... so much effort to show a simple list of community channels, it would be more cost-effective if there was a simple web page that would show that, but there isn't...)

  1. Notify of new weeklyOSM (4 days)
  • query RSS feed to find the latest publication date regularly
  • persist latest publication date the app did notify the user about
  • in-app notification logic and animated UI for new weeklyOSM edition (link to website)

In total: 19-24 days. (1-6 days more than my original estimation from 2020 because this time I got more into detail with the estimation.)

No other funding sources will be deployed on the project.

It needs to be funded because the feature(s) are out of scope of the usual functionality of StreetComplete. So, these features have a quite low priority for me as the maintainer of StreetComplete, but for the OSMF they might be more important, because they promote OSM community building (see the section #Objectives and Impact) which aligns with their mission.

Implementation Plan

See the points in Grant Amount Requested. There are three features each quite separate from each other.

I will not work full time on this, plus there will have to be some downtime for a feedback loop to happen after things got released, so I estimate it to be finished after about 3-4 months after I start working on it. Time-wise I'd give priority to the migration to iOS but I have no doubt that I'd easily be able to complete it well within the maximum time-frame of the microgrant.

Community engagement

The community will be engaged as usual in StreetComplete development. New releases will usually get a topic in the discussions board which users can comment and I expect a certain feedback loop to happen.

I already created the tickets #1797, #1796, #1798 (five years ago) on which people can comment and the implementation will be posted as a PR.

SLA and maintenance and sustainability:

Once merged to master, the features will continue to be maintained by me as the maintainer of StreetComplete. This is pretty well covered by the monthly donations I get from users, no worries there. The APIs of osm-community-index, OsmCal and WeeklyOSM look pretty stable, so I don't expect a lot of maintenance effort anyway.

Evaluation and Success Metrics

First of all, if all the features are implemented and released, and users will not be alienated by those features, that's already some success. I expect some feedback from users about how I implemented those features. To measure the success of the objectives would be hard to measure, as it is aiming at the long term. 🤷

Risks

  • Alienating users: Too aggressive promotion of local community channels, events and weeklyOSM might alienate StreetComplete users, especially if the are implemented as system notifications (I don't plan that, though, for this reason). I will have to be cautious about this and provide easy ways to unsubscribe from those.

  • Under-estimation of effort to make use of osm-community-index or OsmCal. This might lead to that part not coming to pass at all, as the low hourly rate proposed leaves very little wiggle room and the nature of the funding no room for re-negotiation, I believe.

Conflict of Interest

Development of StreetComplete (towards an iOS/Multiplatform version) is currently funded by the NLNet foundation, but the features proposed here don't conflict with that goal, i.e. are orthogonal to that.

Recommendations: from Community and possibly from Working Groups

See the endorsements from the Microgrants 2020 proposal.

See also the 👍s and comments given on the related StreetComplete tickets #1797, #1796, #1798.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions