Universelle Open Source Navigation für Android: AndRoad

Mittwoch, 16. März 2011 22:16

Eigentlich bin ich nur zufällig auf AndRoad gestoßen. Ich war auf der Suche nach einer Fahrrad-Navigationssoftware, oder zumindest Kartensoftware die mir folgendes bietet:

  1. Karte (vorzugsweise OpenStreetMaps) mit Cache und ggf. Preloading (falls man mal in einem Gebiet ohne Netz oder im Ausland unterwegs ist)
  2. Routing (GPX-Datei laden, Route anzeigen) um vorgegebene Routen abfahren bzw. folgen zu können
  3. Logging um eine Statistik über den zurückgelegten Weg anfertigen zu können
  4. Tacho und wenn möglich noch weitere Details wie Durchschnittsgeschwindigkeit, Höhe, Steigung, zurückgelegte Höhenmeter
  5. Bonus: Fahrrad-Routing (wie Naviki)

Zuerst fand ich OruxMaps. Super Teil! Hab die Software auch schon einige Male genutzt. Für mich als Fahrradfahrer optimal. Hat alles was ich brauche, zumindest sofern ich auf vorher geplanten Routen fahre. Denn das was fehlt ist Punkt 5. Und das kann sehr ärgerlich sein, wenn man mitten im Wald steckt und den fahrradfreundlichsten Weg zu einem bestimmten Punkt suchen möchte. Also habe ich mich etwas über OruxMaps informiert, ob es vielleicht möglich wäre die fehlende Funktionalität in irgendeiner Form zu erweitern. Leider ist OruxMaps nicht Open Source und das Vorhaben daher nur über die Entwickler selber möglich. Plan also verworfen.

Als nächste stieß ich auf AndNav2. Sah mir auf den ersten Blick auch gar nicht schlecht aus. Bot mir immerhin die Punkte 1, 3 und 5. Ein richtiges Navi soll ja auch erstmal nicht verkehrt sein, vor allem wenn es explizites Fahrrad-Routing anbietet. Leider waren die Kommentare im Android Market alles andere als positiv: instabile Software, schlechtes Routing und zu allem Überfluss keine Updates mehr seit sehr langer Zeit. Kein gutes Zeichen. Doch ein bisschen Nachforschung brachte hervor, dass AndNav2 von seinem Author als Open Source freigegeben wurde. Weil dieser allerdings scheinbar seit einiger Zeit inaktiv ist, haben andere Mitentwickler einen Fork erstellt und diesen teilweise weiterentwickelt. Dieser Fork heißt nun AndRoad und ist um einige Funktionalitäten im Gegensatz zu der letzten „stabilen“ AndNav2-Version erweitert. Leider ergaben meine ersten Tests dieser erweiterten Version, dass sich die Software in einem absolut miesen Zustand befindet, obwohl sie von der Architektur her sehr gut durchdacht und sauber entwickelt ist. Perfekt um die fehlende Funktionalität hinzuzufügen.

Also zuerst mal einige Fehler, vor Allem im grafischen Bereich behoben. Darunter fielen viele Fehler in den Layouts, sowie im Head-Up-Display des Routings. Soweit läuft die Software nun erstmal recht stabil. Einige Probleme treten immer mal wieder auf, wenn man den Bildschirm dreht. Werde ich mir wohl irgendwann mal anschauen müssen. Eine Schwierigkeit hierbei ist, dass die Kartenanzeige selber auf einer externen Bibliothek namens osmdroid aufbaut. Sofern der Fehler in dieser Bibliothek liegt, dann müsste sich der Entwickler dieser Bibliothek darum kümmern. Sollte aber auch kein größeres Problem darstellen, da diese Bibliothek ebenfalls Open Source ist.

Um das Routing, vor allem im Bereich Fahrrad, zu verbessern, wäre es optimal das Routing von Naviki verwenden zu können. Theoretisch sollte dies wohl möglich sein, denn bisher verwendet AndRoad sowieso nur Online-Routing. Dabei wird eine Route vom Server angefragt und dieser gibt in XML-Form die detaillierten Routen-Anweisungen zurück. Naviki selber macht das intern auch, allerdings ohne Anweisungen. Dabei wird nur eine „blanke“ Route zurückgegeben. Damit könnte AndRoad derzeit erstmal nix anfangen. Wobei ich diese Funktionalität auch gerne noch erweitern würde, um auch „einfache“ Routen, also GPX-Dateien verwenden zu können, die keine Routing-Anweisungen beinhalten.

Es gibt also noch viel zu tun … ich werde weiter berichten. Außerdem könnt ihr bei Github beobachten was sich in meinem Fork von AndRoad so tut.

Thema: AndRoad, Android | Kommentare (2)

Erste Gehversuche mit dem Android SDK: FreeSMS-App

Freitag, 25. Februar 2011 10:10

Nachdem ich ja nun seit dem 9. Februar mein neues Android-Handy habe, musste ich ja unbedingt mal ausprobieren was das Android SDK taugt. Und ich muss sagen: Ich bin begeistert. Ist zwar am Anfang alles nicht ganz so einfach, aber man macht echt schnell Fortschritte. Mein Ziel dabei war es eine kleine App zu basteln um über FreeSMS-Anbieter einfach SMS verschicken zu können. Hintergrund ist, dass ich derzeit nur eine Internet-Flat am Handy habe und mir aber gerne die Kosten für die SMS sparen möchte, sofern ich ab und zu mal eine schicke. Das Problem bei diesen Anbietern ist nur, dass man sehr lange und umständlich über die Homepages der Anbieter navigieren muss um die SMS verfassen zu können und dann noch nichtmals die Nummern aus der Kontaktliste verwenden kann, sondern diese erst kopieren, abschreiben oder auswendig lernen muss. Das ist echt nervig.

Nun, Abhilfe schafft nun diese kleine App: FreeSMS. Sie basiert auf Plugins, kann also um beliebige Anbieter erweitert werden. Außerdem gibt es die Möglichkeit Captchas zu lösen, sofern der Anbieter dieses verlangt (und das ist bei eigentlich allen mir bekannten Anbietern der Fall). Um den Anbieter nicht komplett leer ausgehen zu lassen bei dieser App gibt es auch die Möglichkeit vom Anbieter selber Werbung schalten zu lassen, die zwangsläufig gezeigt wird, bevor oder während die SMS versendet wird. Auch ein Zwangsklicken auf einen Banner kann durch ein Plugin gefordert werden.

Hier zwei Screenshots der App:

Nachteil der ganzen Aktion ist derzeit, dass es keinen mir bekannten Anbieter gibt, der die Nutzung über externe Programme (also dieser App) in den Nutzungsbedingungen nicht explizit verbietet. Also werde ich nicht drumherum kommen die bekanntesten Anbieter einmal per Email anzuschreiben, ob sie Interesse hätten ein Plugin für die App zu schreiben oder schreiben zu lassen. Wäre eine tolle Sache, ich sehe dem aber eher skeptisch entgegen. So lange wird es wohl auch noch keine offizielle Version geben, da ich mich mit (unerlaubten) Plugins nicht in Schwierigkeiten bringen möchte.

Thema: Android | Kommentare (0)

Studienarbeit abgeschlossen

Dienstag, 11. Januar 2011 15:00

Endlich geschafft: Mit meinem Abschlussvortrag hab ich meine Studienarbeit nun schließlich abgeschlossen. Wen es interessiert, das Thema der Arbeit war „Regelbasierte syntaktische Veränderung von ausführbaren UML2-Aktivitätsdiagrammen auf Sensorknoten am Beispiel von SunSPOTs“.
Eine kurze Zusammenfassung des Inhalts:

Programmierung von Sensorknoten ist ein aktuelles Forschungsthema, mit dem sich, im Zuge des ACOOWEE-Projekts, auch der Lehrstuhl beschäftigt. Dort wird ein Framework entwickelt, welches die Steuerung von Sun SPOTs (Sensorknoten der Firma Sun Microsystems) per UML2-Aktivitätsdiagrammen erlaubt. Bisher wurden diese Diagramme mit Hilfe des UML2-Tools Papyrus entworfen, anschließend durch XML-Transformation (XSLT) in ein RDF-basiertes, eigenes Format des Frameworks konvertiert und schließlich eingelesen und ausgeführt. Bei diesem Ablauf bestand zu keiner Zeit die Möglichkeit Änderungen an einem Diagramm zur Laufzeit innerhalb des Frameworks durchzuführen.
Mit dieser Arbeit wurde eben diese Möglichkeit geschaffen. UML2-Aktivitätsdiagramme lassen sich, mit einer eigens zu diesem Zweck entwickelten Regelsprache, verändern. Diese Veränderungen sind jedoch auf syntaktische Änderungen beschränkt. Durch die Funktionsvielfalt der Regelsprache ist es allerdings möglich sogar sehr komplexe Auswahl- und Ersetzungsszenarien zu behandeln.
Durch Generalisierung lassen sich universelle UML2-Aktivitätsdiagramme erstellen, welche von jedem Sensorknoten spezialisiert werden können. Außerdem können Veränderungen an der Umgebung angepasst, sowie kleinere Fehler korrigiert werden, ohne dabei das komplette Diagramm verändern und neu konvertieren zu müssen. Durch eine einfache Schnittstelle steht dem Programmierer die Neuerung an jeder Stelle des Frameworks, ohne größeren Programmieraufwand, zur Verfügung.

Veröffentlicht ist die Arbeit bei OPUS der Uni-Bibliothek. Die Abschlusspräsentation gibt es hier zum Download.

Thema: Uni | Kommentare (0)