Hey, for anyone who was wondering what I have been up to in the last year or so, other than playing through
very old Clonk scenarios: I have been working on an Android app more or less the past year and I am getting close to a first release.
I am writing this in English because I am just gonna copy the text that I wrote as an announcement in the openstreetmap forum
Though, curiously enough, it might be more interesting for you guys than for the people in that forum, because the app is aimed at "OSM newcomers". Here it goes:
Osmagent is a tool for surveyors that doesn't require any knowledge about the tagging schemes in OpenStreetMap and also doesn't require the surveyor to return home after the survey, launch JOSM and spend an equal amount of time inputting the data into the database:
The app searches for incomplete or extendable data in the user's vicinity and presents the user with a map of "quests" (like i.e. in Mapdust) that each are solvable by answering a simple question while surveying it. Basically, take the concept of
Mapdust and
Maproulette, add the ability to solve them on-site and you got
osmagent. :D
The data input by the user is then
directly added to the OSM database, making it available for others immediately and also eliminating the need for editing tools to insert the info later when back from the survey.
Some examples of what the app might ask:* What is the name of this road / shop / place / bus stop / etc. ?
* What are the opening hours of this shop / place / etc.?
* How many lanes does this road have?
* What is the surface / smoothness of this road? (User selects which photo fits the best)
* Does this road have a sidewalk?
* How many storeys does this building have?
* etc. ... many more
The IdeaThe idea for the project came to me when I realized how inefficient and time-consuming a GPS survey is:
* regardless of which
mapping technique I used, it always boiled down having to spend several hours to "process" the GPS trace in front of the PC
* During a survey, I had no clue how well-surveyed the area already was because many details like road surfaces, building heights, etc. are not shown on the default (offline) map I use during a GPS survey. Also, house numbers might generally be defined, but missing for only one street or a few houses. So, often I noted down information that was already there. Also recording any possible information that might be missing takes a lot of time and a survey starts to feel tedious. Wouldn't it be nice if someone already collected everything that is missing for me?
* I like to contribute to the OSM, but I realized that many others also like to contribute while only few have the leisure to acquaint themselves with how to survey and even less are able to program tools and apps that help. So I can better contribute to the OSM in helping others to contribute.
The NameI had the idea for the name when I overheard someone saying something along the lines of that "google has their agents [who survey these things]" when I was impressed on seeing the Google indoor maps of certain shopping centres. Well, with this app, anyone can be an agent for OpenStreetMap!
I realize that "agent" might carry a negative undertone for some people, so I am not set on this name yet. I thought of
osmscout, but this name is already taken. Another name that recently crossed my mind is
mapcomplete (leaned towards "achievement complete"). Let me know what you think.
Features*
decentralized: The app only communicates with OSM and Overpass, no third server involved. Consequently, you do not need any other account than your OSM account.
*
data economic: The app downloads sparse data from Overpass and only that which it needs to display the quests
*
offline-usage: Sync-only-on-Wifi option. You can solve the quests offline, when you return to some online-place, the OSM changes are automatically uploaded, conflicts are resolved automatically. You can download the quests for an area beforehand.
*
oauth: The answers you give are created as atomic commits with reasonable comments and source tags in your name
*
Mu: For each quest, you have the possibility to leave a public note instead of answering the question, i.e. if app asks for the opening hours of the shop but in reality the shop does not exist anymore. A note at a location blocks any other quests, so other users are not bothered about an unanswerable question at that position as long as it is not solved. Alternatively, they can just hide the quest for themselves.
*
Answering notes: The other way round, users may also answer on other people's notes
*
3D Map rendering: I am using
Tangram-ES to render the map, which is capable of rendering the buildings in 3D and also apply
all kinds of shaders to the map. Other than that the map may look cool, it also means that it would be possible to directly display the answer the user gave on the map (i.e. the building height)
State of developmentSee here:
https://github.com/westnordost/osmagentOf the quests, currently implemented are only "road name", "shop opening hours" and "contribute to note" as proof-of-concepts, I am still working on the base system.
What's missing on the base system is the logic when the system should download quests and upload the changes the user made. Also, since the app is making direct changes to the DB in the name of the user, I want to write more tests before I make it available.
But that's it, pretty much, what is missing for a first release.
Tell me your ideas for further quest(ions) the app might ask the user and the user may answer on-site. :)
Also, if you want to contribute somehow to the app itself, you are very welcome (also without Android programming knowledge)!