Giter Club home page Giter Club logo

osm-photos's Introduction

OSM Photos

Note: This project is still in its conceptional stage. There is no app that you can use yet. I am looking forward to your feedback and ideas (see below).

What is OSM Photos

A photo uploader for Wikimedia Commons and OpenStreetMap

The main purpose of the app is to make it easier to upload photos of buildings, monuments etc. to Wikimedia Commons and link them to the corresponding objects in the OpenStreetMap database, making them available for OSM apps as well as Wikimedia Projects and external users of Wikimedia Commons content. Contributing should be so easy that it can be realized while walking down a street.

A OSM photo viewer

OSM Photos can also be used to view photos from Wikimedia Commons on a map. Instead of showing photos as pins or thumbnails at the location where the photos were taken, OSM photos highlights the object (e.g. building, monument) that is shown on the photo. This makes it easier to find for example all photos of a certain building without the need to look at all photos that were taken near the building to see whether the building is the subject or not.

Why do I need a new app for that?

Uploading photos of OSM objects

At the moment finding objects that need photos, take and upload photos to Commons and link them to OSM is a complicated process with at least two apps involved:

  1. Use an OSM app, inspect the object to see if it already has an wikimedia_commons tag.
  2. If not, open Commons app, take a photo, add descriptions, find and add fitting categories, upload.
  3. Copy file name.
  4. Open an OSM editor, add the file name as wikimedia_commons tag. Upload.

With this the OSM Photos app, the workflow will be much more convenient:

  1. A map will show you at a glance which objects already have wikimedia_commons tags and which don't.
  2. Select an object that needs a photo, press a button and upload a photo. You are done.

The app will automatically add fitting descriptions and categories to the Commons page of the file. It will then add the wikimedia_commons tag to the OSM object and upload that change to the OSM database.

Viewing photos of OSM objects

There are already apps for viewing photos of OpenStreetMap objects like Osmand or OsmAPP. But with OSM Photos it will also be possible to see photos of additional kinds of objects, like unnamed buildings, streets, trees etc. Other apps also don't have an option to filter the map to only show those objects that have an image.

How can I help?

As this project is still in its conceptual stage, I need help in the following areas:

Programming

I don't need pull requests yet, but if you have ideas how the app could best do what it should do, any help would be appreciated. Especially people familiar with Commons API and OSM API would be a big help.

UX and features

If you have ideas how the app should behave to be as helpful and easy to use as possible for Wikimedia and OSM contributors, please contribute your ideas. Feature requests are also welcome.

Design

If you are a designer and have ideas how this app could be designed, I would be grateful for your ideas. The difficult task is that this app is intended for Wikimedia and OpenStreetMap contributors, so the app should, if possible, have a design where both of these user groups can feel at home.

License

Copyright (C) 2022 Michael Brandtner

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

osm-photos's People

Contributors

discostu36 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

osm-photos's Issues

Make project translatable

Before adding strings to the project, I need to make sure that these can be easily translated to other languages by contributors.

Save OSM changes in app

Changes to wikimedia_commons tags (#10) should be saved in the app for upload at a later point. An indicator should show how many changes are pending. Users can decide when they want to upload them.

Create and upload changeset

When the user decides to upload, the changes in wikimedia_commons tags (#11) should be added to a changeset and then be uploaded to OSM. The app should make sure that linked images or categories do already exist.

Manually edit `wikimedia_commons` tag

After login to OSM (#9) has been added, the object modal (#6) should have an input field to manually add or edit the value for the wikimedia_commons tag. This will be the foundation for the later automatic editing for the tag.

Choose which features are notable enough

For example a photo for each bike stand, or each bench is probably too much for wikimedia. So where is the line? Should we maintain a list of tags that are worthy, or a list of unworthy? A list of worthy seems safer, but it's going to be a big one.

Add attribution

In the photo gallery of an object, an automatically created attribution should be shown.

Share location with app

Later, it should be possible to share location (coordinates) with the app and to open geo: links with it.

Accessibility (A11Y)

I must think about how I can make sure that my app as accessible as possible. This is a topic I don't know much about, so any help would be appreciated.

Add filter to map

A filter menu should be added to show different types of objects on the in the data layer (#3):

Which kinds of objects are relevant enough should be dicussed in a separate issue (#31).

Query overpass and add as layer

Query Overpass for all buildings inside the viewport and add them as a layer to the map (#2).

Color codes:

  • buildings without wikimedia_commons and without image tag should be colored red.

  • buildings with image tag only should be colored orange

  • buildings with wikimedia_commons tag should be colored green

  • Write query and save response

  • Render response as layer on the map

  • We need to find out at what zoom levels the query can be activated without a timeout.

  • We need to find out if it is possible to circumvent IP quota

standard profile & persona

IDEA :
when we take pictures we may have to add to the pictures some categorizations that would be added in matadata picture, for this some standard profiles would be helpfull : such like the OSM features

The persona would help to quickly switch from one profile to another

Take wikidata-Tag into account

At a later stage the viewer should also look for the wikidata-Tag and query if a Wikimedia Commons category or image is attached to the Wikidata object and show them if that is the case.

The editor should semi-automatically add wikimedia_commons tags in such cases.

quality & type of pictures

When taking pictures we may have a lot that do not have the same quality nor usage :

  • photo-annotation while walking, or in a train, car... : short term storage if the note is closed
  • photo-checking : just to proove that an objetc still exist (recycling, waste basket, fire_hydrant...) : may be usefull to see the object change from one year to another
  • photo-illustration : that king of picture is mostly taken for re-use purpose (wikimedia, website, and long term storage)

The app could suggest a way to take picture :

  • this note doesn't have picture and is not solved could you add a picture
  • this object doesn't have a picture and is important for the OSM community
  • this object already has a picture (monument, statue...) : could you take a wide picture, narrow picture, artist name detail... [step by step]

Add gallery to modal

A gallery with all wikimedia_commons images linked from the object should be shown in the modal (#6).

Create a prototype

I have decided to make a prototype of the app with Adobe XD. This will make it easier for others to understand the goals of the project and also help me to refine my concept before actually translating it into code.

Add object modal

When an object on the data layer (#3) is selected, a modal should be opened with information about the item:

  • Name

  • Type (e.g. "Apartment building")

  • Address

  • OSM ID (with Link)

  • Button for uploading photos

  • For type, maybe presets from an OSM editor could be used

  • For address, an Nominatem request could be used (if there are no address tags at the object)

Create top menu bar

A navigation element needs to be added that shows log-in status, pending changes and access to settings.

Compare Commons and OSM data

At a later point, a QA mode could be added. It could compare Commons categories with OSM data and ask the user about missing or inconsistent data. For example:

The photo of this building is in the Wikimedia Commons category Brick buildings in New York City. Do you want to add building:material=brick to the OpenStreetMap object?

Make sure this app doesn't violate ODbL

When automatically creating image description pages from OpenStreetMap data, I have to make sure that the app doesn't violate the ODbL license of that data.

Maybe a way could be to add a template to the image description page like

The original description page of this file was created automatically from OpenStreetMap data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).

But I don't know if that is enough.

Add photo feature

Add photography feature. This is only the basic implementation without upload functionality.

  • Create button in the object modal (#6) that triggers photo intent with choice between choosing from gallery and launching photo app
  • Decide where photos should be stored and if this should be handled differently when photo came from gallery or from photo app (see below)
  • Decide file naming scheme. (See below)

Share images with app

It should be possible to share an image from other Android apps with OSM Photos. The app should then ask the user which object the picture belongs to.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.