Coder Social home page Coder Social logo

munichways / munich-ways-app Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 2.0 2.77 MB

Mobile App in Flutter for iOS and Android. Bicycle Map MunichWays

License: Apache License 2.0

Kotlin 0.08% Dart 98.77% Shell 0.06% Ruby 0.82% Swift 0.24% Objective-C 0.02%
android bicycle flutter ios map radentscheid radlvorrangnetz

munich-ways-app's People

Contributors

dhilliger avatar svendroid avatar thomas-munichways avatar uvelogs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

munich-ways-app's Issues

Kompassanzeige bei Kartendrehung

Bei Drehung der Karte wir eine Kompassnadel angezeigt. Bei Klick auf den Button wird die Karte wieder nach Norden ausgerichtet und der Button verschwindet

grafik

Darkmode hinzufügen

Idee: Im Dialog Fahrradnetz auswählen zusätzlich eine Auswahl für Tag-/Nach-Modus anbieten

  • Radiobutton Tag-Modus (Standard aktiv)
  • Radiobutton Nacht-Modus (zeigt eine dunkle Karte)

Refresh Button entfernen

Dieser wird eigentlich nicht benötigt. Entweder entfernen oder weniger prominent positionieren.

Wie und Wo wird das Fortschritt des Laden dann angezeigt?

Graue Strecken ausblenden

Seit Montag gibt es die neue Streckenkategorie grau, die eine Lücke bzw. eine Planung einer Strecke darstellt. Diese Kategorie soll in der App ausgeblendet werden, da sie zur Navigation nicht hilfreich ist.

Bildschirmsperre ausschalten

Feedback von Alexander Pichler

ich möchte als User nicht immer meinen Code eingeben müssen, wenn ich den Bildschirm wieder einschalte.
Das ist auf dem Fahrrad sehr schwierig und während der Fahrt gefährlich.

Bei Koomot ist es so gelöst, dass die App fragt, ob sie die Geräteeinstellungen ändern darf.

  • Bildschirm kann ohne Entsperrung (Muster, PIN, Fingerabdruck) wieder angeschaltet werden solange die App läuft.

Icon iOS

Stephan Bartling:

Das Icon könnte/sollte größer sein und hat auch ein Kreuz im Hintergrund. Absicht?

Vielleicht haben wir das Falsche Logo für facebook und Instagram erwischt, das hat größere Ränder.
MunichWays_Logo_rund_FB

Kartenausrichtung in Fahrtrichtung - Button Aktuelle Position

Wir möchten wie andere Navi-Apps von fester Nord-Süd Ausrichtung auf freie Richtungswahl wechseln. Dann könnte das Icon auf das Kompass-Symbol wechseln. Googlemaps macht es etwas anders als andere Navi-Apps. Komoot hat es sehr gut gelöst:

  • Das Positionssymbol zeigt auf dem Kreis ein Dreieck, das immer in die Fahrtrichtung zeigt.
  1. Tracking plus Karte in Fahrtrichtung (Initial / default)
  • Tracking: Position wird getrackt
  • Kartenausrichtung: in Fahrtrichtung
  • Button Symbol: Kompass blau (=Positionstracking aktiv) und zeigt senkrecht nach oben
  1. Tracking plus Karte nach Norden: User klickt auf das blaue senkrechte Kompass Symbol (1. Fahrtrichtung nach 2. Nordausrichtung)
  • Tracking: Position wird weiter getrackt
  • Kartenausrichtung: fix nach Norden
  • Button Symbol: Kompass blau aber zeigt nun schräg nach rechts oben
  1. User klickt auf das blaue schräge Kompass Symbol (von 2. Nordausrichtung nach 1. Fahrtrichtung )

  2. User klickt auf das blaue senkrechte Kompass Symbol (von 1. Fahrtrichtung nach 2. Nordausrichtung )

  3. kein Tracking plus Karte manuelle Ausrichtung: User bewegt die Karte manuell auf dem Display

  • Tracking: Position wird nicht mehr getrackt
  • Kartenausrichtung: Karte bleibt fix in manuell eingestellter Position
  • Button Symbol: Kompass Symbol ist grau und zeigt nach rechts oben
  1. User klickt auf das graue Kompass Symbol (5. nach 2.)
  • Tracking: Position wird wieder getrackt
  • Kartenausrichtung: Karte zeigt fix nach Norden
  • Button Symbol: Kompass blau und zeigt nun schräg nach rechts oben

Positionsanzeige immer zentriert

Use Case

Ich als User möchte während der Fahrt immer meine aktuelle Position sehen.

Tasks

  • wenn der User auf den Positions-Button klickt, dann bleibt die aktuelle Position im Zentrum des Displays. Die Karte wandert während der Fahrt mit.
  • wenn User die Karte mit dem Finger verschiebt, dann wird die Positionszentrierung aufgehoben.

Detailansicht zusätzliche Felder

Ist:

  • Name
  • Strecke
  • Ist-Zustand
  • Soll-Zustand
  • Kategorie
  • Link

Wunsch (wie Carto):

  • Straßenansicht klick mich! (Feld Bild, ggf. nur als Text mit Mapillary-Link. ggf. ohne "klick mich" weil in der App intuitiv erkennbar)
  • Name
  • Strecke
  • IST - Situation
  • Happy Bike Level (1. Streichkandidat, falls es zu viel wird)
  • SOLL - Maßnahmen
  • Maßnahmen-Kategorie
  • Beschreibung (2. Streichkandidat, falls es zu viel wird)
  • munichways_id
  • Status-Umsetzung
  • Bezirk (Feld BA)
  • Links

Logo ersetzen

Logo durch angepasstes Logo ersetzen.
siehe Slack App Channel.

Navigation / Routengenerierung

Ich würde mir eine Navigation basierend auf den Bewertungen im RadlVorrang Netz wünschen.

Nach einer ersten Rechereche wäre ein Versuch mit Graphhopper (https://github.com/graphhopper/graphhopper) einer guter erster Schritt. Die Routenfindung wäre dann im Backend, aber den Geocoder hoste ich ja auch schon auf einem Server.

Tutorial wie man das angehen könnte:
https://discuss.graphhopper.com/t/can-someone-make-a-video-tutorial-of-how-to-create-customize-a-routing-profile-or-walk-through-the-process-in-much-greater-written-detail/5189/2

radlvorrangnetz_app_V04.geojson

MW_RV_Strecke ist das neue Feld für hervorzuhebende gute Strecken im Ist-Zustand. Das bisherige Feld Netztyp ist der Plan-Stand, hat aber heute teilweise längere stressige Abschnitten.

Ist:
Layer "RadlVorrang-Netz", Filter Netztyp 1 oder 2

Soll:
Layer: "IST RadlVorrang MunichWays", Filter: MW_RV_Strecke ungleich "-" (das stellen wir in der Masterliste sicher, ggf. auch not NULL und nicht leer)
Layer Beschreibung: "Ausgesuchte RadlVorrang-Strecken von MunichWays. Mit dem Rad stressfrei durch München auf Wegen weitestgehend abseits vielbefahrener Straßen."

Ziel anvisieren

Die Idee ist, dass eine komplette Routen-Navigation zu komplex ist. Wenn während der Fahrt meine aktuelle Position mit dem Ziel durch eine dünne Linie verbunden ist, kann ich mich jederzeit orientieren und meine Fahrt beliebig am Ziel ausrichten.

Ich als User möchte zu einem Zielort fahren, zum Beispiel Freunde in einem Restaurant treffen.

  • Ich gebe das Ziel in das Suchfeld ein und wähle die Zieladresse aus / klicke auf ein Suchergebnis. --> issue #5 (Suchfeld)
  • das Suchergebnis wird in der Karte angezeigt, z.B. wie bei Google Maps als Fahne --> issue #5 (Suchfeld)

Tasks

  • wenn ich auf das angezeigte Ziel klicke erscheint eine Auswahl "Als Ziel auswählen"
    image

  • meine aktuelle Position und das Ziel wird mit einer dünnen blauen Linie verbunden

  • wenn ich nochmal auf das Ziel klicke erscheint eine Auswahl "Ziel abwählen"

Verbesserung Detailanzeige

Detailanzeige bei Klick auf Strecke: Ist: Name, Beschreibung, Ist, Soll, Kategorie

  • Vorschlag: Name, Strecke, Ist-Situation, Soll-Maßnahmen, Beschreibung
  • Link aus Kategorie property parsen
  • Links aus Links property parsen
  • Nett wäre, wenn nur Feldüberschriften mit Inhalt angezeigt werden, also nicht Überschrift plus - als Inhalt.

Deutlichere Linien

Bei einem größeren Zoom werden die Linien, besonders gelbe und rote, schwer erkennbar.
Besonders bei Sonnenschein ist die Orientierung mit der App auf dem Rad schwierig.

mögliche Optionen / Ideen

  • Linien dicker zeichnen
  • Hintergrundkarte blasser zeigen
  • gepunktete Linien durchgehend (Sichtbarkeit geht vor optischer Unterscheid der Layer
  • sattere/dunklere Farben wählen

Text Layer RadlVorrang MunichWays

Ist:
"Radentscheid München Ziel 2. Es ..."
Soll:
"Ausgesuchte RadlVorrang-Strecken von MunichWays. Mit dem Rad stressfrei durch München auf Wegen weitestgehend abseits vielbefahrener Straßen."

Verbesserung Gesamtnetz / Radnetz Auswahl

  • als ich die Layer Gesamtnetz/Radvorrangnetz an/ausgeschaltet habe, war ich erst zu ungeduldig und habe einen Fehler vermutet. Aber es dauert nur etwas lange bis der Haken gesetzt wird, wenn ich mit dem Finger darauf klicke. Wenn ich allerdings etwas länger drauf klicke passiert nichts oder es wird an und gleich wieder abgeschaltet.

  • Der Standard Use Case ist App einschalten und losfahren. Dazu sollten als Default beide Netze aktiv sein.

Layer "Alle Strecken" schnell an und ausschalten

Case for Action:

  • Benutzer:innen suchen in der Regel zunächst eine längere Route zum Ziel auf den Hauptstrecken (Layer "RadlVorrang MunichWays)
  • Am Anfang oder am Ender der Route werden alle Strecken zugeschaltet, um im Gesamtnetz Strecken für die ersten bzw. letzten Meter zu finden. (Layer "Alle Strecken")
  • dann werden "Alle Strecken" wieder ausgeschaltet, weil es sonst zu unübersichtlich auf dem kleinen Handydisplay wird.
  • Derzeit ist das ein und ausschalten vom Layer "Alle Strecken" recht umständlich und nicht so leicht zu finden.

Ist:

  • Layer "Alle Strecken" ist beim Start aktiviert
  • zum ausschalten: klick auf das Layer Icon unten rechts und dann klick auf den kleinen Haken bei "Alle Strecken" (greift leicht zeitverzögert)

Soll:

  • Layer "Alle Strecken" ist beim Start deaktiviert
  • Auf dem Hauptbildschirm einen An-Aus Slider "Alle" anbieten. Damit wird das Netz alle Strecken an und ausgebendet.
  • ich denke die bisherigen Möglichkeiten können entfallen oder es wird unverändert in das Menü verschoben. Z.B. zwischen Menüpunkt Karte und Info einen Punkt "Fahrradnetz auswählen"
  • der An-Aus Slider "Alle" könnte im Header untergebracht werden, der Schriftzug "MunichWays könnte dafür entfallen

Linien Style anpassen

  • Radlnetz: durchgezogene Linie
  • Gesamtnetz: gestrichelte Linie
  • Wo kann der Nutzer erkenn was die Linienstyles bedeuten? Legende oder Radnetzauswahl Beschreibung anpassen?

Info / Legende ins Hauptmenü verschieben

Die Legende oben rechts soll woanders integriert werden und nicht das "I" als Info-Symbol verwenden, weil schon im Hauptmenü anders verwendet.

Lösung: die "Legende" mit den "i"-Symbol ins Hauptmenü verschieben


Original Feedback:
Erstes Feedback von iOS Nutzern 👍

Stephan Bartling, [30.11.20 16:20]

  1. Zwei Info i mit unterschiedlichen Bedeutungen. Die Legende hatte ich rechts oben erst nicht gefunden. Kann man ein passendes Icon evtl. Auf der Karte schweben lassen?
  2. Wenn das MunichWays Fremde anschauen, können die die Netze auseinanderhalten? Was bedeutet das für sie/mich als Radler?
  • Wenn das dann gut raus kommt, ist das eine wunderbare App wenn man sich in der Stadt mit dem Radl orientieren will!
  • Sie ist wie Google. Einfach, aufgeräumt, nicht überladen!
  1. erledigt mit #34

Radnetz neu laden: zur Karte wechseln

Menu - Einstellungen - Radnetz neu laden:
Wenn ich auf das Papierkorb-Symbol drücke, ist nur eine kaum sichtbare Animation zu sehen. Dann denke ich immer das hat nicht geklappt oder die Funktion ist nicht aktiviert.
Danach gehe ich immer zurück zur Karte, das sollte automatisch passieren.

Lösung:
Radnetz neu laden:

  • nach drücken auf "Radnetz neu laden" Menü verlassen und zur Karte wechseln

geojson alternativ vom Google Drive laden

Problem:
Die geojson Datei wird wöchentlich aktualisiert und kann aus verschiedenen Gründen einmal nicht geladen werden können

  • falsches Format hochgeladen
  • Fehler in der Datei
  • ftp Server nicht erreichbar (zuletzt passiert im August 2022 weil Zertifikat ungültig)

Lösung:
Die geojson Datei soll bei Problemen als Default von einem andern Ablageort geladen werden. Dort würden wir immer die letzte funktionierende Version ablegen.

  • Google Drive (Machbarkeit zu prüfen)
  • Server von Sven
  • Server von Michael Hälsig
  1. laden wie bisher von https://www.munichways.de/App/radlvorrangnetz_app_Vnn.geojson
  2. wenn Fehler dann laden von einem alternativen Ablageort, zum Beispiel \MunichWays_Dateien_geteilt\RadlVorrang-Netz\Download Freigabe Verzeichnis: https://drive.google.com/drive/folders/1u4Q1dyMuB1n0j2_YgQxiK_xfLVC1VYE9?usp=sharing

gesamtnetz_V02.geojson: nur noch eine Datei

Ist:

  • radlvorrangnetz.geojson: netztyp in ('1_RadlVorrang', '2_Rad-Vorrang-Netz-Gesamt')
  • gesamtnetz.geojson: netztyp in ('3_Kfz-Hauptstraßen', '4_Gesamtnetz')

Soll:

  • .gesamtnetz_V02.geojson: Alles
    Darstellung in der App:
  • Netztyp_ID 1, 2: RadlVorrang-Netz (durchgezogen)
  • Netztyp_ID: 3,4: Gesamtnetz (gepunktet)

Hintergrund: In Carto haben wir schon vor einiger Zeit alles in einer Tabelle gesamtnetz zusammen gespeichert. Es ist mehr Aufwand es in zwei Dateien zu exportieren.

Standortserviceaktivierung nicht bei jeder Kartenbewegung abfragen

Problen / wie testen

  • gehe zu Handy Einstellungen und deaktiviere die Standort Freigabe (Samsung S8: Einstellungen > biometrische Daten und Sicherheit -> Standort: aus)
  • starte die MunichWays App
  • Bei jeder Bewegung der Karte kommt die Meldung: "Aktiviere für dein Gerät die Standortermittlung...."

Original Meldung:
Wenn man das GPS und die Standortermittlung gerade mal nicht freigeben möchte, nervt es massiv, dass die App bei jeder Berührung des Displays immer wieder neu die Bestätigung bzw. Ablehnung haben möchte.
Viele Grüße
Andreas
[email protected]

Soll

  • Die Meldung nur einmal beim Start der App anzeigen und wenn der User auf den Standort Button klickt.

Sucheergebnisse merken

Wenn ich auf die Suche klicke, werden im Suchfeld die zuletzt verwendeten Suchergebnisse zur Auswahl angezeigt.

Suche: starten bei klick auf "OK"

gemeldet von Eva Mahling

Ist:
Die suche startet nicht, wenn ich auf der Tastatur auf "OK" / "Enter" klicke.
Erst wenn ich nach noch auf das pfeilsymbol in der Suchleist klicke startet die Suche.

zusammen mit dem Default Text "keine Ergebnisse vorhanden..." dachte ich die Suche funktioniert nicht.

Soll:
die Suche startet sowohl mit klick auf "OK" / "Enter" auf der Tastatur als auch wie bisher auf das Pfeilsymbol

Karte neu Laden prominenter anbieten

Problem

Die Kate wird wöchentlich im FTP-Verzeichnis aktualisiert. Neuerungen und Fehlerkorrekturen werden in der App erst sichtbar, wenn die Karte neu geladen wird. Das passiert nicht automatisch bei jedem Start.
Man kann unter dem Menü Info "Radlnetz löschen" klicken. Das ist nach Feedback mehrerer die Anwender*innen aus 2 Gründen etwas unklar.

  1. Unter "Info" wird so eine Funktion nicht erwartet
  2. Der Titel "Radnetz löschen" schreckt manche ab

Lösung

  1. Funktion verschieben als 3. Hauptpunkt im Menü oder als einzigr Funktion unter einem neuen 3. Hauptmenüpung "Einstellungen"
  2. Umbenennen von "Radnetz löschen" in "Radnetz neu laden"

html oder Links in der Ist-Beschreibung auflösen

Beispiel Sonnenstraße

Beispiel Ist Beschreibung:
Sehr schmaler Radweg 2x1 Parkstreifen und 2x3 Fahrspuren für Kfz-Verkehr. "(spitze Klammer auf) a href="https://www.mapillary.com/map/im/Ul83PGNDp5CQwNSJpT_buA" target="_blank"> Straßenansicht </a (spitze Klammer zu)"
Straßenansicht

Es wäre schön, wenn im Popup der Link als Text "Straßenansicht" erscheinen würde.
Dann wäre es identisch mit unserer Desktop-Version in Carto:
https://usocialmaps.carto.com/builder/dfd7b295-73a7-4dfe-85e6-933dd7fe5787/embed?state=%7B%22map%22%3A%7B%22ne%22%3A%5B48.13727259859895%2C11.559248077360282%5D%2C%22sw%22%3A%5B48.14156118137324%2C11.572208511320242%5D%2C%22center%22%3A%5B48.139416934768064%2C11.565728294340262%5D%2C%22zoom%22%3A17%7D%7D

see AppWerft/MunichWays#21

Suche: default Seite leer statt "keine Ergebnisse..."

IST:
sowohl beim ersten Aufruf der Suchfunktion als auch falls die Suche kein Ergebnis findet kommt der gleiche Text:
"Keine Ergebnisse vorhanden.
Bitte gebe einen Suchbegriff z.B. eine Straße in München ein.."

Soll:
beim ersten Aufruf:
"Bitte gebe einen Suchbegriff z.B. eine Straße in München ein.."

Falls kein Ergebnis gefunden wird:
"Keine Ergebnisse vorhanden.
Bitte überprüfe den Suchbegriff."

Strecken_Link

Neues Feld in Version radlvorrangnetz_app_V07.geojson einführen: Strecken_Link
Inhalt wie bei Kategorie_Link mit html und Link zur Strecke auf der Homepage

Feld "Strecke" durch Feld "Strecken_Link" ersetzen. Text bleibt bei "Strecke"

  • widget.details.streck.url einführen

Fixed Header schlecht lesbar

Die oberste Zeile mit Uhrzeit und Akkuzustand ist zu sehr transparent. ich kann die Schrift schlecht lesen.

Andere Navi Apps haben ähnliche Probleme, es ist je Gerät etwas unterschiedlich (weiße oder schwarze Schrift).
Bike Citizens hat es mit einem hellblauen Hintergrund gut gelöst, OSMAnt mit einem weniger transparenten grau.

Weniger Hintergrund-Transparenz unserer leicht grauen Headerzeile könnte eine Lösung sein.

Suche ausgefallen

  • Suchbegriff eintippen
  • Suche starten
    --> Dauerschleife, kein Suchergebnis

Suchfeld

User Story: unbekanntes Ziel finden

  • Ich als User möchte mit dem Rad zu einer Verabredung in ein Restaurant in Schwabing. Ich kenne die Adresse aber in diesem Viertel kenne ich mich aber nicht aus.
  • Ich möchte das Ziel finden und als Zielort sehen.
  • Dann fahre ich los, in meinem Viertel kenne ich mich noch aus. Ab Stadtmitte orientiere ich mich an den Farben der Strecken in der App. In Schwabing orientiere ich mich am Zielort.

Tasks

  • eine Lupe als Suchsymbol anzeigen.

  • Wenn man es anklickt erscheint ein Eingabefeld.

  • Ich gebe das Ziel in das Suchfeld ein und wähle die Zieladresse aus / klicke auf ein Suchergebnis.

  • das Suchergebnis wird in der Karte angezeigt, z.B. wie bei Google Maps als Fahne
    image

  • Der Focus fliegt zum Suchergebnis.

Out of Scope

  • Ziel anvisieren --> issue #16

Offen

  • Wie kann man dann den Zielort löschen? Vielleicht indem man den Text im Suchfeld löscht, indem man rechts am Suchfeld auf das Kreuz klickt.

Datenverbrauch verbesseren

Das Radlvorrangnetz ist mittlerweile ziemlich groß: 5.6 MB
Diese werden bei jedem Start erneut heruntergeladen.

Das dauert lange und ist auch Datenverschwendung.

Wie können wir das verbesseren?

  • unnötige Infos aus dem geojson entfernen?
  • Daten cachen und nur jede Woche herunteladen?

Erforderlich Felder:
siehe https://github.com/MunichWays/Carto/wiki/Feldbeschreibung-dataset

  1. Entwurf, zu prüfen:
    radlvorrangnetz_app_V03.geojson (mittlerweile haben wir schon V04)
    relevante Felder für die App aus radlvorrangnetz_masterliste plus Geom aus radlvorrangnetz

rv.cartodb_id, rv.the_geom , rvm.strassenansicht_klick_mich , rvm.name, rvm.strecke, rvm.ist_situation, rvm.happy_bike_level, rvm.soll_massnahmen, rvm.massnahmen_kategorie_link, rvm.beschreibung, rvm.munichways_id , rvm.status_umsetzung , rvm.bezirk_link, rvm.links , rvm.netztyp , rvm.plan_netztyp_id , rvm.farbe , rvm.rsv_strecke , rvm.alternative , rvm.viel_Kfz , rvm.bild , rvm.mapillary_link , Mapillary_Img_ID , rvm.bezirk_region , rvm.bezirk_nummer, rvm.bezirk_name , rvm.massnahmen_kategorie , rvm.Prio_Gesamt , rvm.Neuralgischer_Punkt , rvm.kategorie_id , rvm.status_id , rvm.netztyp_id , rvm.rsv_boolean, now() last_updated

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.