Deutsch English

Laufende Projekte

Wie können wir eine Rollstuhl-Navigation entwickeln, indem wir z.B. ein barrierefreies und responsives Webinterface für die Routing-Engine Graphhopper bauen und besser auf Rollstühle anpassen?

„Es gibt mit Graphhopper eine gute Routing-Engine, die recht frei konfigurierbar und flexibel ist und zudem auch schon von Haus aus ein Rollstuhl-Vehikel (das sind Voreinstellungen) bietet. Allerdings ist Graphhopper eigentlich wirklich nur eine Engine und es gibt leider kein gutes Frontend dafür.

Es gibt zwar ein Demo-Frontend, das ist aber wirklich nur zu Demonstrationszwecken gedacht und dort hapert es an vielen Ecken, unter anderem ist das Frontend (Webinterface) weder responsive noch barrierefrei. Ein Teil der Aufgabe wäre also, ein neues Frontend zu entwickeln, was besser funktioniert. Daneben müsste man noch ein bisschen an der Rollstuhl-Engine selbst verbessern, denn so, wie das jetzt standardmäßig konfiguriert ist, ist sie eigentlich unbrauchbar. Zum Beispiel können keinerlei Steigungen größer als 6 % genommen werden und auch keine Bordsteinhöhen über 3 cm und außerdem sind Wege mit Kopfsteinpflaster bzw. schlechter Oberfläche komplett ausgeschlossen. Das führt dann dazu, dass von dieser Engine überhaupt keine Route gefunden wird. Hier sollte man etwas differenzierter herangehen, zum Beispiel mit Gewichtungen und Penalties, was auch alles innerhalb des Frameworks möglich ist. Graphhopper ist übrigens Open Source und in Java geschrieben, das derzeit mitgelieferte Frontend mit NodeJS.“

„Momentan benutze ich hauptsächlich Google Maps für die Routenplanung. Also ganz einfach auf dem Smartphone. Das soll im Prinzip auch weiter so sein. In einem ersten Schritt brauchen wir nicht mal richtige Navigation, in dem Sinne, dass man auf dem Weg Anweisungen bekommt, wo man abbiegen soll. Es wäre alleine schon hilfreich, wenn man im Vorfeld sich eine Route berechnen lassen könnte, die rollstuhltauglich ist. Genau das kann man mit Graphhopper prinzipiell auch machen: man sagt, von wo nach wo man möchte und die Routing-Engine gibt einem eine entsprechende Wegbeschreibung anhand von Wegpunkten zurück. Das ganze wird dann in einer Karte grafisch dargestellt. Nur genau dieses Interface ist halt ziemlich mies gebaut, wie gesagt auch überhaupt nicht responsive oder barrierefrei. Wenn man es aber auf einem Smartphone einsetzen will, dann bräuchte man eben genau das beides. Außerdem fehlen ein paar relativ wichtige Features, wie zum Beispiel die Möglichkeit, als Startpunkt die aktuelle Position festzulegen und auf der Karte wird auch nicht die aktuelle Position angezeigt. Und die Suche nach Orten ist auch ziemlich umständlich.

Bei der Rollstuhl-Engine geht es um den Algorithmus, der die Wegbeschreibung liefert. Graphhopper benutzt dazu verschiedene Fahrzeug-Profile (zum Beispiel Fahrrad, Pkw, Lkw, Fußgänger – und eben auch Rollstuhl). Die verschiedenen Profile legen fest, welche Bedingungen die Routeerfüllen muss. Fahrräder und Fußgänger dürfen zum Beispiel nicht auf der Autobahn usw.. Für Rollstuhlfahrer gibt es ebenfalls ein solches Fahrzeugprofil, Graphhopper ist also im Prinzip für den Einsatz schon geeignet. Allerdings ist dieses Profil auch ziemlich weltfremd, denn es schließt zum Beispiel Kopfsteinpflaster und Steigungen über 6 % komplett aus. In der realen Welt würde man damit einfach nirgendwohin kommen. Dementsprechend sollte daran auch noch verbessert werden. Das wäre dann eher eine Backend-Programmierung und dafür bräuchten wir jemand, der gut Java kann.

Für das Frontend wäre jemand für UX/UI am besten. Allerdings nicht nur spezialisiert auf Design, sondern auch bestenfalls mit Programmier-Kenntnissen zu JavaScript-Frameworks wie zum Beispiel Angular oder Vue. Ich selbst kann auch mithelfen zu programmieren, bin aber nicht so der Experte in diesem Frameworks und bräuchte auf jeden Fall Leute, die helfen.“

Gesuchte Fähigkeiten:

  • UX/UI & Barrierefreie Gestaltung bestenfalls mit Kenntnissen zu JavaScript-Frameworks wie z.b. Angular oder Vue
  • Unterstützung Frontendprogrammierung
  • Backend-Programmierung: JavaScript

 

🔧 Melde dich als Maker an und entwickle innerhalb der Open Health HACKademy #3 im inklusiven Team diese und andere Challenges!
Mehr erfahren

✏️ Erlebst du selbst eine Herausforderung, für die du mit einem Team eine Lösung finden willst? Dann reiche sie jetzt zum Open Call der Open Health HACKademy 2020 ein.
Mehr erfahren