CFW: Problem mit ftrobopy-Apps im Store beim Release

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 17:19

Es geht mir nicht um die Möglichkeit, firmware-Versionen im manifest anzugeben. Den Teil tatsächlich mal mit Leben zu erfüllen finde ich sinnvoll. Aber:

Bisher stand da "0.9" was im Klartext "benötigt mndestens Firmware 0.9" heissen sollte. Das stimmt ja auch nach wie vor für alle Apps. Jetzt wollt ihr auch eine Maximal-Version per "<" angeben können. Aber das ist m.E. in der Praxis kaum sinnvoll, denn das weiss der App-Entwickler in der Regel ja gar nicht, dass in einer späteren Firmware-Version mal Inkompatibilitäten auftreten werden. Das passiert nur im umgekehrten Fall (wie dem aktuellen), dass ein Framework geändert wird und einem bewusst wird, dass bestimmte Apps damit nicht mehr laufen werden. Aber in dem Fall _alle_ betroffenen Apps anzufassen gibt m.E. wenig Sinn. Das konntet ihr in diesem Fall nur tun, weil die Zahl der Apps überschaubar ist und weil ihr tatsächlich Zugriff auf alle hattet. Aber das ist m.E. kein Modell für die Zukunft. Daher macht eine Angabe wie <X.Y.Z im Manifest m.E. wenig Sinn und ich hätte es nach wie vor gut gefunden, wenn das vor dieser massiven Änderung diskutiert worden wäre.

Ich lasse mich gerne eine besseren belehren. Konkrete Frage also: Was soll ein App-Autor in Zukunft als maximale Firmware-Version im manifest eintragen? Meines Erachtens gibt es keine sinnvolle Antwort auf diese Frage. Er könnte bestenfalls von jedem verwendeten Framework angeben, welche Version er erwartet. Dann kann man bei inkompatiblen Framework-Updates auf Framework-Seite testen, ob es nicht geht oder nicht. Aber das weiss nur jedes Framework für sich, ob die aktuelle Version zur Version xyz, die eine App erwartet, kompatibel ist oder nicht. Aber das endet schnell in einer kompletten Verwaltung aller Abhängigkeiten.

Je länger ich drüber nachdenke, desto simpler finde ich das eigentliche ftrobopy-Problem. Es gibt genau nur einen Grund, warum überhaupt jemand jemals "localhost" oder "127.0.0.1" als Adresse des TXT angeben sollte: Weil sein Code direkt auf einem TXT läuft. Und dann weiss die dort laufene ftrobopy-Version genau, wie sie den TXT ansprechen kann. Warum interpretiert dann die neueste Version von ftrobopy nicht einfach "localhost" und "127.0.0.1" als "auto"? Es ist doch kein Hack, wenn ein Framework erkennt, dass es mit einem lokalen Prozess reden soll und dann eine interne Abkürzung nimmt. Genau so funktionieren viele GUI-Frameworks auf Linux-PCs, wenn sie merken, dass das Display via Localhost angesprochen werden soll. Dann nehmen sie Shared-Memory und andere Tricks und machen erst gar keine TCP-Verbindung zum X-Server auf.

Also nochmal die Bitte, solche massiven Änderungen zu diskutieren, bevor sie einfach durchgezogen werden. Mich frustriert das etwas ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 17:21

richard.kunze hat geschrieben: So arg viel umgebaut ist das gar nicht - das sieht nur so aus, weil halt für alle Apps der 'firmware'-Eintrag angepasst wurde.
Das Stichwort ist alle. Denn dieser Ansatz skaliert m.E. nicht und genau deshalb hätte ich das gerne vorher besprochen. Ihr müsste jedes mal wieder alle Apps anfassen wenn eine nicht-kompatible Änderung in einer einzelnen Api kommt.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von ski7777 » 27 Dez 2016, 17:21

Als App-Autor bzw. Repo-Maintainer weiß man, was wann verändert wurde und kann dem entsprechend reagieren.

Raphael

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 17:26

ski7777 hat geschrieben:Als App-Autor bzw. Repo-Maintainer weiß man, was wann verändert wurde und kann dem entsprechend reagieren.
Jeder App-Autor soll die manifest's aller seiner Apps jedes Mal aktualisieren, wenn ein Firmware-Update kommt? Das ist utopisch ...

Und woher soll der App-Autor wissen, was in der Firmware verändert wurde? Ich wusste bis vor ein paar Minuten nicht, dass alle meine Apps von Eurem Update funktionslos gemacht werden.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 17:45

Also nochmal die ernstgemeinte Frage: Wie muss mein Aufruf von ftrobopy in Zukunft aussehen. wenn er mit allen ftrobopy-Versionen funkionieren soll?

Wie gesagt: Viel einfacher und schöner weäre es, wenn ftrobopy das alleine könnte. Das wäre auch kein Hack, das wäre schlicht elegant, wenn das Framework seine eigenen Möglichkeiten kennt und selbst entsprechend handelt statt diese Entscheidung der Applikation zu überlassen, die erstmal rausbekommen muss, mit welcher ftrobopy-Version sie es zu tun hat.

Ab welcher ftrobopy-Version darf ich denn localhost nicht mehr verwenden? Dann mache ich es einfach daran fest,
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von ski7777 » 27 Dez 2016, 17:48

Es hängt nicht an der ftrobopy Version, sondern daran, dass ab sofort der Hintergrunddienst von fischertechnik abgeschaltet ist und somit eine Verbindung auf localhost:65000 nicht mehr möglich ist. Deshalb schreibt man jetzt einfach bei allen App für die 0.9.3 ftrobopy.ftrobopy('auto' ).

Raphael

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 18:00

Ok. Das mache ich aber nur für Apps, die mir wichtig sind. Ich entferne erstmal alle Apps, für die sich das auf Dauer nicht lohnt. Die websocket-Demo ist schon aus dem Weg.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von richard.kunze » 27 Dez 2016, 18:30

MasterOfGizmo hat geschrieben:Also nochmal die ernstgemeinte Frage: Wie muss mein Aufruf von ftrobopy in Zukunft aussehen. wenn er mit allen ftrobopy-Versionen funkionieren soll?
Hab ich eben als (ungetestetes) Beispiel hier hingeschrieben: https://github.com/ftCommunity/ftcommun ... -269355659

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 19:47

Prima, ich denke ich werde das in Brickly einpflegen. Dann kann ich das als 'kompatibel zu allen Versionen' markieren, oder? Meine eigenen Apps kann ich ja loeschen bzw. anpassen. Aber was ist mit den anderen Autoren? Habt ihr mit denen geklärt, wie sie mit Euren Änderungen umgehen sollen? Zumindest der iolyser verwendet ftrobopy noch und wird nach Eurem Update auch nicht mehr laufen.

Insgesamt haben wir dann noch drei Apps, die ftrobopy verwenden. Das dürfte ja leicht zu handhaben sein.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von ski7777 » 27 Dez 2016, 19:54

Den ioLyser habe ich gefixt

Raphael

Torsten
Beiträge: 308
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von Torsten » 27 Dez 2016, 20:12

Hallo,

den "auto"-Modus hatte ich ursprünglich eingeführt, damit man nicht immer wieder die IP-Adresse in "txt = ftrobopy.ftrobopy('192.168.7.2', 65000)" auf "127.0.0.1" ändern muss, wenn man häufig zwischen dem Online- und dem Offline-Modus hin und her wechselt. Die Unterstützung des "direct"-Modus kam erst später hinzu.

Grundsätzlich ist der "auto"-detect Mechanismus nicht in Stein gemeisselt. Auch mit der von MoG vorgeschlagenen Variante "localhost" als auto-detect zu verwenden könnte ich mich anfreunden.

Auf jeden Fall gibt es zu bedenken, dass der "direct"-Modus noch nicht alle Funktionen unterstützt. So fehlt z.B. noch die Abfrage der ft-IR Fernsteuerung (ist bereits vorbereitet, es fehlt bloss noch ein bisschen Fleissarbeit) und auch das Abspielen von Sounds wird im "direct"-Modus noch nicht unterstützt (das wird etwas schwieriger werden, da es bei mir noch einige Informationslücken im Sound-Protokoll der Motorplatine gibt).

Vielleicht ist es noch etwas zu früh, die Community-Firmware ohne den TxtControlMain-Prozess zu starten ? Ich denke, dass die Entscheidung für den "direct"-Modus im Moment noch sehr bewusst gefällt werden sollte ...

Wir hatten ja auch bereits darüber nachgedacht, einen eigenen Community-"TxtControlMain"-Prozess zu haben (der den TXT z.B. bei schwacher Akku-Ladung herunterfährt). Ein solcher Prozess wird dann ja wieder eine Anpassung des ftrobopy "auto"-Mechanismus nach sich ziehen.

Wie gesagt ... ich bin für Vorschläge offen.

Torsten

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 20:36

Im Repository befinden sich nun noch als nicht-kompatibel mit dem nächsten Release gekennzeichnet: Brickly (das fixe ich noch, das ist m.E. die einzige App, die zur Zeit aktive User hat und aktiv entwickelt wird), der iolyzer (den hat Raphael gefixt), der mp3-Player (der ist m.E. falsch gekennzeichnet) und telegram von Raphael.

Damit kann das Update kommen. Und dann können wir ja schauen, was von den alten Apps überhaupt noch jemanden interessuert und was es wert ist, angepasst zu werden.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 20:38

Torsten hat geschrieben:Ein solcher Prozess wird dann ja wieder eine Anpassung des ftrobopy "auto"-Mechanismus nach sich ziehen.
Dann wäre jetzt sicher ein guter Moment für ähnliche Änderungen, weil im Repository kaum Programme drin sind, die die ftrobopy benutzen. Aber das wird sich ggf. ja auch wieder ändern.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von ski7777 » 27 Dez 2016, 20:39

Der MP3 Player geht im Moment auf keiner Version warum auch immer.
Telegram entferne ich jetzt überall.

Raphael

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von Lars » 27 Dez 2016, 20:59

Hallo zusammen,
Torsten hat geschrieben:den "auto"-Modus hatte ich ursprünglich eingeführt, damit man nicht immer wieder die IP-Adresse in "txt = ftrobopy.ftrobopy('192.168.7.2', 65000)" auf "127.0.0.1" ändern muss, wenn man häufig zwischen dem Online- und dem Offline-Modus hin und her wechselt. Die Unterstützung des "direct"-Modus kam erst später hinzu.

Grundsätzlich ist der "auto"-detect Mechanismus nicht in Stein gemeisselt. Auch mit der von MoG vorgeschlagenen Variante "localhost" als auto-detect zu verwenden könnte ich mich anfreunden.
Nö, bitte nicht. "localhost" ist eine symbolische Adresse, deren Bedeutung sozusagen weltweit bekannt und standardisiert ist. Die Verwendung eines neuen Begriffes war an dieser Stelle absolut richtig.
Torsten hat geschrieben:Auf jeden Fall gibt es zu bedenken, dass der "direct"-Modus noch nicht alle Funktionen unterstützt. So fehlt z.B. noch die Abfrage der ft-IR Fernsteuerung (ist bereits vorbereitet, es fehlt bloss noch ein bisschen Fleissarbeit) und auch das Abspielen von Sounds wird im "direct"-Modus noch nicht unterstützt (das wird etwas schwieriger werden, da es bei mir noch einige Informationslücken im Sound-Protokoll der Motorplatine gibt).
Interessant wäre eine Liste der "funktionalen Defizite" im Verhältnis zum Werkslieferumfang von Fischertechnik. Wie sieht es beispielsweise mit der Kommunikation zwischen mehreren TXT-Controllern aus? Kann ich einen weiteren TXT-Controller über die 10-polige Erweiterungsschnittstelle anbinden? Fände ich auch wichtiger als Sound.
Torsten hat geschrieben:Wir hatten ja auch bereits darüber nachgedacht, einen eigenen Community-"TxtControlMain"-Prozess zu haben (der den TXT z.B. bei schwacher Akku-Ladung herunterfährt). Ein solcher Prozess wird dann ja wieder eine Anpassung des ftrobopy "auto"-Mechanismus nach sich ziehen.
Dann sollte man dafür wiederum einen neuen Begriff einführen, und sei es ganz einfach "auto2".

In der professionellen Framework-Entwicklung geht man daher API-weise vor. Wenn man etwas Neues will, liefert man auch ein neues API dazu oder auch einfach mal einen neuen Aufruf mit zusätzlichen Parametern. Die bisherigen werden weiterhin unterstützt, bis sich die neuen soweit verbreitet haben, daß an den alten expressis verbis oder auch mutmaßlich niemand mehr Interesse hat. Manchmal kann man die alte Funktionalität auch auf der neuen basierend reproduzieren, etwa wenn man generalisiert hat.

Mit freundlichen Grüßen
Lars

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 21:10

ski7777 hat geschrieben:Der MP3 Player geht im Moment auf keiner Version warum auch immer.
Telegram entferne ich jetzt überall.
Ok, dann entferne ich ihn.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von MasterOfGizmo » 27 Dez 2016, 21:22

Lars hat geschrieben: Nö, bitte nicht. "localhost" ist eine symbolische Adresse, deren Bedeutung sozusagen weltweit bekannt und standardisiert ist.
Mir war nicht klar, dass "auto" mehr ist als nur "local" in diesem Fall. Als Ersatz für "auto" macht es in der Tat wenig Sinn, wenn das noch alle möglichen anderen Versuche unternimmt. Ich dachte "auto" probiert nur den lokalen "Direct"-Modus und fällt dann auf das echte "Localhost" zurück, wenn das nicht klappt. Da hätte m.E. "localhost" gut gepasst, weil es dann ja in der Tat genau das bedeutet hätte, mit der Besonderheit, dass der TXT unter bestimmten Umständen direkt auf die Hardware zugegriffen hätte.

Sound wird in 0.9.3 dann auch nicht mehr unterstützt? Schade. Dann nehme ich Brickly gleich auch noch aus dem Repository. Das verwendet Sound und das würde die Leute nur verwirren, wenn sie dann nichts hören würden.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von richard.kunze » 27 Dez 2016, 22:20

ski7777 hat geschrieben:Der MP3 Player geht im Moment auf keiner Version warum auch immer.
Der fliegt beim Directory-Scan auf die Nase, weil es jetzt auch Verzeichnisse gibt die er nicht lesen darf (/media/sdcard/overlay im speziellen Fall). Sollte man denke ich im MP3-Player reparieren - dass irgendeine Applikation immer alles lesen darf ist eigentlich eher nicht die Regel...

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von richard.kunze » 27 Dez 2016, 22:21

MasterOfGizmo hat geschrieben:Sound wird in 0.9.3 dann auch nicht mehr unterstützt? Schade.
Huh? Als ich das gestern das letzte mal probiert hatte lief die Radio-App noch prima...

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: CFW: Problem mit ftrobopy-Apps im Store beim Release

Beitrag von Lars » 27 Dez 2016, 22:27

Hallo zusammen,

es könnte sich auch lohnen, die Speicherung von Konfigurationsdaten wie beispielsweise IP-Adressen, für Bestimmte Zwecke genutzte Ein- und Ausgänge sowie deren Konfiguration zu standardisieren.

Mit freundlichen Grüßen
Lars

Antworten