Vorstellung von meinem kleinen Verwaltungsprogramm

D

Deleted 178502

Guest

Update 13.11.2011: Download verfügbar, Version 0.5.3

Hallo liebe Bikergemeinde,

seit einiger zeit bin ich dabei, ein kleines Verwaltungsprogramm zu programmieren, in dem Trainings und Touren etc. eingetragen werden können.
Orientieren tu ich mich ziemlich stark am Garmin Connect, was sicherlich sehr viele hier kennen werden.
Richten soll sich das programm eigtl. hauptsächlich an Leute, die kein GPS-Gerät ihr Eigen nennen, aber dennoch einige Extras wie z.B. "Ziele" anlegen zu können oder einfach eine bessere Übersicht über ihre Aktivitäten haben wollen.

Natürlich kann man auch von GPS-Geräten erstellte Dateien importieren, die gewisse Daten automatisch auslesen.
Momentan werden die Formate TCX und GPX unterstützt.
Ich kenne die Formate von Garmin relativ gut, mich würden jetzt mal andere Dateiformate von anderen Herstellern interessieren, es wäre als gut, wenn mir da mal jemand was schicken könnte (natürlich anonymisiert), oder verwenden andere Hersteller wie beispielsweise Sigma auch das TCX-Format?
Ich möchte da nicht allzu sehr ins Detail gehen, ich würde mir erstmal wünschen, dass einige ihre Formate hier schreiben, für die sie sich einen automatischen Import wünschen würden.

Einige Features, die bereits jetzt funktionieren und implementiert sind:

- Fahrradprofile für verschiedene Fahrräder, die alle ihre eigenen Statistiken haben, die detailliert abgerufen werden können.

- Aktivitätsliste (klar, sonst wärs sinnlos :D). Aktivitäten können wie oben erwähnt entweder manuell eingetragen werden oder aber aus Dateien importiert werden. Das ganze soll soweit gehen, dass alle gängigen Formate unterstützt werden, in ferner(?) Zukunft soll jedoch ein Import direkt vom Gerät aus möglich sein. Wenn die Aktivität aus einer Datei importiert wird, ist es natürlich auch möglich, sich gewisse Profile und Graphen anzeigen zu lassen, z.B. ein Höhenprofil, Graph für Trittfrequenz, Geschwindigkeit, Herzfrequenz usw. (vorrausgesetzt, die Daten werden vom Gerät erfasst und werden in der Datei gespeichert).

- komfortable Update-Funktion um die Aktualisierung auf eine neuere Version möglichst einfach zu gestalten.

- Ziele können erstellt werden, ebenfalls bekannt von Garmin Connect. Ihr wählt den Zeitraum, die Dauer und den Typ aus, mit jeder neuen Aktivität wird diese dem Ziel aut. zugerechnet. (bisher Aktivitäten, Kalorien, Höhenmeter, Distanz, Dauer).

- Wettervorhersage (Daten von Google Weather)

- Fahrradkomponenten mit Wartungsintervallen

- Extras


ToDo-Liste:


  • Optionsmenü, um alles etwas anpassen zu können, Farben, Positionen von Elementen, Standardprofile etc.
  • mehrere Dateiformate unterstützen, was zwar relativ "einfach" ist, aber unheimlichen Aufwand bedeutet, da minimale Änderungen im Format reichen, um den ganzen Einleseprozess neu zu programmieren
  • Import direkt vom Gerät bzw. eine Suche nach den unterstützten Formaten auf der Festplatte/Wechseldatenträger.
  • Falls ein Event importiert wurde und genaue Daten vorliegen, wird es wohl bald auch möglich sein, diese Bilder und die Aktvittät auf eurer Facebook Seite zu posten.
  • ......schickt mir eure Vorschläge per PN oder hier im Thread ;)
Jetzt würde ich mir wünschen, dass Ihr einfach postet, was ihr von so einem Programm haltet, würdet ihr es nutzen? Was wünscht Ihr euch?

Screenshots:

Screenshots sind auf der entsprechenden Seite auf meiner Homepage zu finden: Screenshots

Konstruktive Kritik, Anregungen, Wünsche sind herzlichst Willkommen!

MfG Sascha
 
Zuletzt bearbeitet von einem Moderator:
Hallo liebe Bikergemeinde,
Konstruktive(!!!) Kritik, Anregungen, Wünsche sind herzlichst Willkommen!
MfG Sascha

Bevor hier nur Wale*hit stehen bleibt: Ich finde es gut was Du da machst. Ich könnte zwar persönlich nichts damit anfangen, aber der "Freie Markt".

Ein paar Denkanstöße: Was ist daran besser als an z.B. Endomondo/DataCenter/etc. sowie den 1000 Apps für Iphone und Android?

1. Punkt: Man muss seine Daten nicht preisgeben, weil alles offline (bitte nicht schlagen für dieses Wort ;-)) geschieht.
 
find die initiative auch gut, hab leider keine verwendung dafür und kann nix dazu sagen.
ich hoffe vorhandene interessenten haben evtl. schon auf anderem wege rückmeldung gegeben.
 
So,
mehr als eine Woche ist vergangen und ich habe noch ein bisschen dran weitergebastelt. Riesen große sichtbare Neuerungen gibt es nicht, da ich dieses mal hauptsächlich "unter der Oberfläche" gebastelt habe und den Speicherverbrauch vermindert habe etc.
Momentan bei 216 importierten Aktvitäten einen Speicherverbauch von 1 MB, mit Extras sind es 25 MB, was glaube ich trotzdem ziemlich okay ist. Aber nicht zu viele technische Details, das ist glaub nicht so interessant.

- Ich habe einen "Splashscreen" eingebaut, der einem beim Programmstart anzeigt, wie viel MB bereits geladen wurden (daraus bastle ich später noch eine Anzeige, die die Restdauer anzeigt, aber das stelle ich vorerst mal hinten an).
- Die CPU-lastigsten und somit auch die zeitintensivsten Operationen in extra Threads gepackt, sodass das Programm direkt ohne Verzögerung startet.
- Es werden nun GPX und TCX Dateien ausgelesen, das CRS Format habe ich vorerst wieder rausgeschmissen, da das scheinbar nicht mehr so verbreitet ist?
Aus den TCX und GPX Dateien werden auch alle Informationen ausgelesen, sofern diese denn verfügbar sind.
Für neue Dateiwünsche bin ich weiterhin offen.
- "Berichte" können angezeigt werden, entweder in einem Zeitraum oder innerhalb eines beliebigen Zeitintervalls.

Morgen und übermorgen habe ich nicht allzu lange Zeit, aber ab Donnerstag bastle ich wieder dran weiter. Für Vorschläge bin ich weiter offen.
Als nächstes werde ich wohl eine einfache Unterstützung für USB-Geräte einbauen, d.h. eine Erkennung, ob ein USB-Gerät mit Massenspeicher angeschlossen ist, falls ja, Suche nach den bekannten Formaten starten.

Ein paar Denkanstöße: Was ist daran besser als an z.B. Endomondo/DataCenter/etc. sowie den 1000 Apps für Iphone und Android?
Prinzipiell eine sehr gute, aber auch sehr schwierige Frage. Für mich als Hobbyentwickler ist es natürlich schwer, jemanden von meinem Programm zu überzeugen, da es in "Konkurrenz" zu Programmen/Portalen steht, die von einem Team von Software-Ingenieuren entwickelt und betreut wird.
Diese Frage kann man aber genauso gut allen möglichen Herstellern in sämtlichen Branchen stellen, Wieso sollte VW einen weiteren Golf bringen, wo es doch schon viele gute Vorgängermodelle und gute Autos von der Konkurrenz gibt?
Vielleicht gefällt ja tatsächlich dem ein oder anderen was in meinem Progrämmchen besser, als in einem der 1000 anderen, wer weiss.:love:
Ziel ist es natürlich auch, das Niveau der anderen zu erreichen und durch eigene Ideen evtl. besser als die anderen zu sein :D
Für mich ganz speziell ist es naürlich eine Übung fürs Studium und das gewissen, einige Sache, die eben von Teams entwickelt werden, ich auch hinbekommen habe.

Hier jetzt mal 3 neue Screenshots:

- Graphen von importierten Daten
Das Blanko-Feld wäre normalerweise die temperatur, diese wird im GPX Format allerdings nicht mitgespeichert, künftig wird geprüft, welche Graphen verfügbar sind und die Übersicht dementsprechend angepasst.
- Bericht
Nur ein paar Werte, weitere werden natürlich folgen ;)
- Splashscreen
leider eine Grafik aus dem Internet, ich kann einfach kein Photoshop, wäre schön, wenn da vielleicht jemand nen schönes Bildchen/Logo beisteuern möchte :)

Ein Mod möge bitte den Schreibfehler in der Überschrift ändern, bei dem Ottfried Fischer musste ich ja echt noch lachen, aber danach, sind wir mal ehrlich....:heul:

Bei Neueigkeiten melde ich mich, Rechtschreibfehler könnt ihr mir diesmal per PN mitteilen, ich werds ändern.
MfG Sascha
 
Für mich ganz speziell ist es naürlich eine Übung fürs Studium und das gewissen, einige Sache, die eben von Teams entwickelt werden, ich auch hinbekommen habe.

Ich finde Du bist auf dem richtigen Weg, ausser dass Du vielleicht Dein Programm auch in anderen Foren (rennrad-news z.B., die Sonntagsfahrer interessieren sich mehr für die genaue Auswertung als ein MTBiker der nur Spass haben will) vorstellen solltest, wo Du hoffentlich mehr Feedback bekommst.
Hier fehlen einfach die Sportler, die das Potenzial erkennen könnten.
 
nicht schlecht, was du da so quasi nebenbei bastelst!
ich finde den gedanken auch super, daß alles offline gespeichert ist und du nicht jedes mal irgendwas auf fb oder irgendeinem hersteller-online-portal veröffentlichen mußt.

zu der darstellung der importierten daten hätte ich einen verbesserungsvorschlag:
imho erleichtert es die auswertung ungemein, wenn die daten übereinander angezeigt werden. also nur liniendiagramme und alles in ein diagramm rein. dann ist auch das problem mit dem leeren feld gelöst ;)

was für mich noch interessant wäre, wäre eine linux version. bzw. läuft dein programm zumindest mit wine?
 
nicht schlecht, was du da so quasi nebenbei bastelst!
ich finde den gedanken auch super, daß alles offline gespeichert ist und du nicht jedes mal irgendwas auf fb oder irgendeinem hersteller-online-portal veröffentlichen mußt.

zu der darstellung der importierten daten hätte ich einen verbesserungsvorschlag:
imho erleichtert es die auswertung ungemein, wenn die daten übereinander angezeigt werden. also nur liniendiagramme und alles in ein diagramm rein. dann ist auch das problem mit dem leeren feld gelöst ;)

was für mich noch interessant wäre, wäre eine linux version. bzw. läuft dein programm zumindest mit wine?

Die Diagramme untereinander wäre kein Problem, nur in einem gehts kaum, da ja die Achsen total unterschiedliche Werte haben.
Unter Wine wird es nicht laufen, da es mit C# und somit mit dem .NET Framework programmiert wurde und das meines Wissens nach nicht unter Linux/WIne läuft.
 
wie gesagt - ich persönlich würde es so übersichtlicher und einfacher zu interpretieren finden.
die x-achse ist ja für alle werte durch fahrzeit bzw. ~strecke vorgegeben. für jedes diagramm eine y-achse zu skalieren sollte ja dann auch möglich sein.
dann noch eine option, um nur ausgewählte werte anzeigen und vergleichen zu können.

bei den gesamtkilometern im bericht würde auch eine anzeige auf 2 dezimalstellen nach dem komma reichen ;)
 
bei den gesamtkilometern im bericht würde auch eine anzeige auf 2 dezimalstellen nach dem komma reichen ;)

Jo, das ist ein Relikt gewesen, einmal muss ich die Strecke nur auslesen, weil in der Datei das drin steht und einmal muss ich das aus den koordinaten berechnen und deshalb kamen die vielen nachkommastellen zustande, ist jetzt aber behoben ;)
 
So,
kleines Update:

Neue Übersicht

Hast du sowas gemeint? Das weisse Feld wären wieder die Temperaturen, diese sind jedoch im eingelesenen Dateiformat nicht verfügbar gewesen.
Bei fehlenden Daten wird künftig ein Hinweis stehen und eine Option zum vergrößern ebenfalls.
Die karte nebenan war die größte Hürde heute, momentan kann man zwischen Google Maps (Hybrid und Satellit), Bing (Hybrid und Satellit) und der OpenCycleMap wechseln.
Morgen gehts weiter, jetzt geht nichts mehr ;)
 
Habe ich es überlesen oder hast Du noch nichts zur Linuxkompatibilität geschrieben?

Ja, hast du:
Unter Wine wird es nicht laufen, da es mit C# und somit mit dem .NET Framework programmiert wurde und das meines Wissens nach nicht unter Linux/WIne läuft.

Im nächsten Leben schreib ich es in Java, aber da muss ich grad ein masterMind fürs Studium programmieren und ich hasse es :lol:
 
das ist so nicht ganz richtig.

mit wine ist es dank winetricks sogar relativ einfach das .net framework zu installieren und somit auch c# anwendnungen zu benutzen (natürlich nicht alle und nicht immer problemlos...wine halt ;) ).

dank mono braucht man wine aber garnicht um die meisten c# anwendungen unter linux zum laufen zu bringen. alle features der "echten" .net laufzeitumgebung bietet mono allerdings nicht aber die wichtigsten.

wieso magst du denn kein java wenn du c# magst? die beiden sind sich doch sehr sehr ähnlich. ok c# bietet noch einige neuere konzepte und bequemlichkeiten aber so krass, dass man es gleich hassen muss ist es ja nun nicht ;)
 
das ist so nicht ganz richtig.

mit wine ist es dank winetricks sogar relativ einfach das .net framework zu installieren und somit auch c# anwendnungen zu benutzen (natürlich nicht alle und nicht immer problemlos...wine halt ;) ).

dank mono braucht man wine aber garnicht um die meisten c# anwendungen unter linux zum laufen zu bringen. alle features der "echten" .net laufzeitumgebung bietet mono allerdings nicht aber die wichtigsten.

wieso magst du denn kein java wenn du c# magst? die beiden sind sich doch sehr sehr ähnlich. ok c# bietet noch einige neuere konzepte und bequemlichkeiten aber so krass, dass man es gleich hassen muss ist es ja nun nicht ;)

Dass C# Anwendungen überhaupt auf Linux laufen, wusste ich nicht, man lernt nie aus :)
Und Java, ich weiss einfach nicht so recht, ich kann mich damit absolut nicht anfreunden. Natürlich ist Java sehr ähnlich zu C# oder C++, eine typische OO-Sprache halt, aber dennoch ist es langsam, braucht Speicher ohne Ende usw.
 
naja jeder hat so seine vorlieben...ich komm z.b. nicht so recht mit c/c++ klar aber liebe java (wie man vllt. merkt ;) ) deshalb kann ich es auch nicht so stehen lassen, dass java generell langsamer ist als c/c++ ;) es kommt immer auf die anwendung und umgebung an. im gegensatz zu c/c++ programmen die ja vorher komplett kompiliert werden und daher für eine ganze reihen von systemen optimiert werden müssen, wird java (wie auch c#) just-in-time kompiliert. das ermöglicht es halt, dass jit-compiler von solchen sprachen bytecode erzeugen kann, der genau auf das system auf dem das programm gerade läuft optimiert ist.

auch kommt es auch immer auf die funktionen an, die verwendet werden. arrays werden z.b. in der regel in c schneller sein als in java, dafür werden collections in der regel in java schneller sein...

zwischen java und c# besteht eigentlich auch in der performance wenig unterschied. beide werden ja zuerst in eine "intermediate language" übersetzte (java bytecode bzw. common intermediate language), die dann entweder ahead-of-time oder just-in-time kompiliert bzw. interpretiert werden. ein paar unterschiede gibt es hier aber natürlich auch ;)

beim speicher hast du erstmal recht, java erzeugt zunächst deutlich mehr overhead als c/c++. was aber je nach anwendung (und entwickler) durch die automatische garbage collection wieder wett gemacht werden kann.

naja wie dem auch sei jeder hat so seine lieblinge und alle haben ihre daseinsberechtigung und anwendungsgebiete ;)

achso und zu deinem projekt: find ich gut, hab ich mir auch schonmal überlegt. ist dann aber daran gescheitert, dass ich dank meiner faulheit meine tourdaten wohl nie pflegen würde ;)
 
Mir würden in so einem Programm evtl. noch gefallen, wenn man auch biketechnische Daten verwalen (sorry,es mußte sein :D) könnte. Z.B.:Einkauf von Ersatzteilen, Haltbarkeit der Teile(km), Bezugsmöglichkeiten, Links mit Reparaturhilfen ...
 
@Grobi-Stollo:

Sehr gute Idee, das werde ich einbauen. Wird dann wohl dem fahrradprofil hinzugefügt, also einzelne Teile, mit Wartungsintervallen und entsprechenden nachrichten, falls diese wieder gewartet werden sollten (Dauer, Distanz usw).
 
@Grobi-Stollo:

Sehr gute Idee, das werde ich einbauen. Wird dann wohl dem fahrradprofil hinzugefügt, also einzelne Teile, mit Wartungsintervallen und entsprechenden nachrichten, falls diese wieder gewartet werden sollten (Dauer, Distanz usw).

Also damit wird es richtig interessant!
Kann das dann so laufen, das das Programm mir automatisch ein Feedback anhand der automatisch addierten Kilometer gibt?
Heißt, ich vermerke, "heute Kette gekauft, erinnere mich nach 1.000 km"? So ist es gemeint, denke ich?
 
Also damit wird es richtig interessant!
Kann das dann so laufen, das das Programm mir automatisch ein Feedback anhand der automatisch addierten Kilometer gibt?
Heißt, ich vermerke, "heute Kette gekauft, erinnere mich nach 1.000 km"? So ist es gemeint, denke ich?

Genau. Ich werde das in Komponenten unterlegen, bei denen man dann das Wartungsintervall einstellen kann, zusätzlich noch ein gewisser Spielraum. kette beispielsweise 1000km, Spielraum +-10% (wirklich nur als Beispiel).
Es wird angezeigt, wie viel noch fehlt und wenn es soweit ist, geht ein Fenster auf.

Addiert werden ohnehin Kilometer und Zeit, das reicht eigtl. schon für alle Komponenten.
 
Gib unbedingt Bescheid, wenn du das soweit hast - klingt super!
Noch eine Frage - möglicherweise habe ich es übersehen - wird den .gpx schon unterstützt?
 
Zurück
Oben Unten