RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von hobbyquaker » 05.01.2020, 22:36

Bisher habe ich die RedMatic Entwicklung so gestaltet dass Änderungen/Fehlerbehebungen immer ziemlich direkt zu einem neuen Release geführt haben. Dank "Continuous Delivery" ist das bei RedMatic auch ein vollständig automatisierter Prozess, sobald ich Code gepushed habe muss ich nur den Build anstoßen und ein neues Release samt Changelog wird automatisch auf Github veröffentlicht. Das möchte ich auch so beibehalten, allerdings hat mich ein Bug mit dem ich mich heute beschäftigt habe etwas nachdenklich gestimmt ob das für die User wirklich praktikabel ist. Bei mittlerweile über 200 Releases in 21 Monaten stehen damit einfach sehr häufig Updates an, das hat mich auch dazu bewogen hier eine Empfehlung auszusprechen wann Updates durchgeführt werden sollten: https://github.com/rdmtc/RedMatic/wiki/ ... %C3%BChren
Bei diesem Entwicklungsmodell besteht naturgemäß aber leider auch immer die Gefahr dass "plötzlich" etwas "bricht" (wie bei dem erwähnten Bug).

Die Frage die ich mir nun stelle - und für die ich hier um Feedback bitten möchte - ist nun ob das so für den User praktikabel ist oder ob ich ein Entwicklungsmodell einführen sollte dass es einfacher/überschaubarer macht und den Usern möglichst stabile Software bereitstellt. Konkret schwebt mir da vor mich an das u.A. auch von z.B. Node.js genutzte Modell anzulehnen: Gerade Releases sind "Stable", also solche bei denen die erste Ziffer der Versionsnummer eine gerade Zahl ist. Die eigentliche Weiterentwicklung findet auf einem ungeraden Release statt. Exemplarisch: Ich entwickle RedMatic 5.x wie gehabt weiter, irgendwann - wenn ein definiertes Set von neuen Features integriert ist - und die Software gut "abgehangen" ist (über längeren Zeitraum getestet, keine bekannten Bugs mehr) wird daraus RedMatic 6.x. Dort werden dann keine neuen Features mehr integriert, die unterliegenden Module werden nicht mehr aktualisiert, diese Version ist dann quasi eingefroren und erhält - wenn überhaupt - nur noch notwendige Bugfixes. Zeitgleich wird mit der Entwicklung auf einem 7.x Zweig weitergemacht (mit wie gehabt sehr häufigen Releases) und das Spiel geht von vorne los, irgendwann wird aus dem 7.x Zweig dann die stabile 8.x u.s.w.

Klingt jetzt erstmal harmlos, aber es wäre doch nicht unerheblicher Aufwand, der Build/Deploy Prozess und das Git Branch-Handling müsste an das neue Modell angepasst werden, daher dachte ich ich stell das erstmal zur Diskussion bevor ich Aufwand reinstecke. Der Benefit für den User wäre halt dass er weiss: geradzahlige Releases sind stabil(er) - neueste Features gibt es auf der Ungeraden Version. Damit das sinnvoll ist bräuchte es aber auch eine ungefähre Gleichverteilung der User auf den beiden Zweigen, wenn 95% eh immer das neueste haben wollen kann ich mir den Stable-Zweig sparen, umgekehrt aber auch: wenn alle nur auf Stable sind habe ich zu wenige Tester auf dem Entwicklungszweig und bekomm den erst gar nicht stabil ;-)

Was meint ihr dazu?

Hopsen
Beiträge: 27
Registriert: 23.11.2019, 12:00
Hat sich bedankt: 8 Mal
Danksagung erhalten: 2 Mal

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von Hopsen » 05.01.2020, 22:48

Hi,

bislang verfahre ich so, dass ich das Update mache, wenn ich ein neues Release online sehe. Aber du hast natürlich Recht, dass ein zu schnelles online stellen des Updates auch mal nach hinten losgehen kann.
Von daher fände ich eine Variante mit Stable Releases gut und würde mich dann auch an diesen orientieren.

Bei interessanten Features würde ich auch eine unstable Version sicher vorzeitig installieren.

DerAlte
Beiträge: 251
Registriert: 24.10.2019, 01:51
Hat sich bedankt: 12 Mal
Danksagung erhalten: 6 Mal

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von DerAlte » 05.01.2020, 22:58

Ich wäre für die alte Vorgehensweise. Ich weiß jetzt nicht, wie oft es vorgenommen ist, dass durch ein Bug garnichts mehr lief. Aber ich denke nicht oft, oder?

Der oben erwähnte Bug, hat ja auch nicht alles zum Stillstand gebracht, man konnte ja trotzdem die Geräte bedienen und auch mit Siri, auch in anderen HomeKit Apps gab es diesen Fehler nicht, nur in der Home App.

Und bisher, so habe ich es jedenfalls empfunden, wurden Bugs von Dir @hobbyquaker immer recht schnell behoben.

Ich kann deine Arbeit nur loben!

PS: Bist du schon aus meinem Switch Problem schlau geworden? ^^

ThomasRi
Beiträge: 2
Registriert: 05.01.2020, 15:54
Danksagung erhalten: 1 Mal

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von ThomasRi » 05.01.2020, 23:47

Grundsätzlich erst einmal Danke für eure Arbeit.
Dass bei einem Update mal etwas schief laufen kann... ist halt so. Als Windows Benutzer kennt man die Probleme, und man hat oftmals auch noch dafür bezahlt.

Wenn mal was nicht klappt? Dann erst einmal testen ( auf einem zweiten System) und eventuell auf das nächste Update warten...
Homematic begeistert seit 2010; mittlerweile über 50 Geräte
--- ich kenne Linux nur aus dem Duden--- Leider :cry:
Dafür besitze ich aber Durchhaltevermögen und bin verheiratet... und das System ist extrem Frauenfreundlich :D

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von hobbyquaker » 06.01.2020, 00:49

DerAlte hat geschrieben:
05.01.2020, 22:58
PS: Bist du schon aus meinem Switch Problem schlau geworden? ^^
Sorry, hab's heute nicht mehr geschafft...

DerAlte
Beiträge: 251
Registriert: 24.10.2019, 01:51
Hat sich bedankt: 12 Mal
Danksagung erhalten: 6 Mal

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von DerAlte » 06.01.2020, 01:00

Kein Problem.

ptweety
Beiträge: 522
Registriert: 07.01.2017, 16:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 48 Mal
Danksagung erhalten: 66 Mal

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von ptweety » 06.01.2020, 09:38

hobbyquaker hat geschrieben:
05.01.2020, 22:36
wann Updates durchgeführt werden sollten: https://github.com/rdmtc/RedMatic/wiki/ ... %C3%BChren

Was meint ihr dazu?
Ich verfahre schon immer nach dem oben verlinkten Verfahren. Manchmal mache ich aber auch ein Update, um nicht zu viele Releases hinterher zu hängen oder um einfach beim Test zu helfen. Komischerweise erwische ich immer sehr stabile Versionen. :D

Demzufolge ist aus meiner Sicht nichts am Verfahren zu ändern.

peissl.at
Beiträge: 1295
Registriert: 16.05.2010, 12:39
Wohnort: Südwestlich von Graz
Danksagung erhalten: 9 Mal

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von peissl.at » 06.01.2020, 10:48

Hallo hobbyquaker,

ich finde es sehr löblich, dass du die Stabilität der User-Systeme an oberster Stelle stellst.

Ich persönlich setze kein Homematic-Testsystem ein, sondern nutze nur mein (inzwischen umfangreiches) Produktiv-System, auch zum Testen von neuen Funktionen, denn ich bin der Meinung, dass ich nur so ein konstruktives Feedback geben kann, weil ich damit alle bei mir vorhandenen Situationen betrachten kann. Bisher habe ich das nicht bereut, weil mein System alle Tests gut überstanden hat und ich bei den wenigen Problemen dann immer sofortige Hilfestellung erhalten habe.

Grundsätzlich klingt die obige Variante sehr Vernünftig, ich sehe darin jedoch zwei mögliche Nachteile.
  • da sich dein Aufwand vergrößert, schmälert es womöglich deine Ressourcen für neue Funktionen.
  • durch die Stable-Version im Hintergrund, könnten die Vorabversionen etwas dynamischer (=risikoreicher) gestaltet werden. Das gefährdet dann aber womöglich die Systeme der Early-User und Beta-Tester , zu denen ich gehören würde. :wink:
Aber, wie auch immer du dich entscheidest, ich bin dabei...

Sonnige Grüße!
Robert

Matthias K.
Beiträge: 1170
Registriert: 14.02.2016, 12:32
System: Alternative CCU (auf Basis OCCU)
Wohnort: Heidenheim
Hat sich bedankt: 57 Mal
Danksagung erhalten: 225 Mal

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von Matthias K. » 06.01.2020, 11:50

Ich bin zwar "nur" ein User von node-red-contrib-ccu auf einen "vollen" NodeRed, aber:
Ich hab mir mal die Telemetry-Werte angesehen.
So wie es aussieht nutzt doch eh ein großer Teil der User nicht immer die brandaktuelle Version. Mehr als 1/4 ist noch auf 4.x.

Die meisten User belassen es bei einer Version die so funktioniert wie sie es brauchen und aktualisieren nur bei Bedarf.
Die die immer auf der neuesten Version sind wären vermutlich auch die die nachher immer die neueste Development-Version installieren.

Aus meiner Sicht würde sich außer deinem erhöhten Aufwand nichts großartig ändern.

Daher meine Meinung: Lass es so wie es ist, nutze die gesparten Ressourcen lieber für die Weiterentwicklung oder auch einfach mal für was ganz anderes... :wink:

P.S.: Vielen Dank für deinen Einsatz, NodeRed hat dank dir mein Smart-Home sehr bereichert!

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: RedMatic Weiterentwicklung - neues Entwicklungsmodell?

Beitrag von hobbyquaker » 06.01.2020, 15:11

Vielen Dank für Euren Input! Ich denk ich lege das Thema dann (erst mal) wieder auf Eis und gehe weiterhin wie gehabt vor.

Antworten

Zurück zu „RedMatic“