Am Freitag gab es bezüglich der 2. Oberfränkischen Muckmeisterschaft auf dem Hofer Volksfest einen kleinen Beitrag, zu finden in der Mediathek von TVO.
Nein, es gibt kein „neues“ Muckturnier-Programm. Es gibt nur deutliche Erweiterungen des Funktionsumfangs (demnächst gibt es Version 3.1 :-) Und nein, ich bin nach wie vor in keiner Landjugend und war auch noch nie in einer (wenngleich ich – zumindest meiner Meinung nach – ziemlich viel mit der Organisation zu tun habe). Aber zumindest haben sie schön auf das Leuchtschild mit „muckturnier.org“ gefilmt.
Nur um das hier auch nochmal zu sagen: Die Voranmeldung für das Turnier ist unter muckturnier.org/volksfest zu finden. Wir sehen uns spätestens dort :-)
Die neue Version bringt abgesehen von einem neuen Versionierungsschema vor allem die Möglichkeit mit, mehrere Rechner für die Anmeldung und Auswertung per LAN oder WLAN zu vernetzen, was vor allem für große Turniere eine deutliche Erleichterung bedeutet.
Muckturnier kann jetzt Netzwerk
Die 1. Oberfränkische Muckmeisterschaft auf dem letztjährigen Hofer Volksfest war bis dahin das mit einigem Abstand größte Muckturnier, was mit dem Muckturnier-Programm ausgewertet wurde. Auch bedingt durch die vielen Karter ging es nicht mehr nur um die Auswertung, sondern vor allem auch um die Anmeldung: Mehr als 100 Voranmeldungen und zusätzlich die Anmeldungen vor Ort wollten organisiert werden.
Es wurden zwei Rechner zur Anmeldung benutzt, um lange Schlangen zu vermeiden. Dank der kurz vorher eingeführten Markierungen klappte die Anmeldung und auch das Zusammenführen der beiden Datenbanken – aber nicht Endbenutzer-geeignet. Auch der Vergleich der Ranglisten der beiden Rechner (doppelte Buchführung um Eingabefehler zu finden) funktionierte dank der Prüfsummen-Funktion; auch hier eröffnete sich aber defintiv noch Raum nach oben.
Sowas gehört sich mit Netzwerk gemacht. Nur wie?! Mit Netzwerk hatte ich programmiertechnisch noch nie zu tun … asynchrone Kommunikation zwischen mehreren Teilnehmern? Aber so schlimm war es gar nicht ;-) Nach etwas (und etwas mehr) Einarbeitung und viele, viele Zeilen Code später gibt es nunmehr zwei Server-Client-Funktionen:
Anmeldungsnetzwerk: Ein Rechner fungiert als Server, an dem sich mehrere Clients anmelden können. So können mehrere Rechner für die Anmeldung genutzt werden, und alle Änderungen an der Paar- bzw. Spielerliste werden immer automatisch an alle Rechner geschickt. Alle Beteiligten sehen immer den aktuellen Stand.
Ranglistennetzwerk: Ein Rechner ist der Server, mehrere Clients können die Server-Rangliste anfragen. Ein Client vergleicht dann die Server-Rangliste mit seiner eigenen und zeigt etwaige Unterschiede an.
Verbesserungen am Windows-Installer
Der Windows-Installer legt jetzt Registry-Einträge an, mit denen die Deinstallation über die Windows-Softwareverwaltung möglich wird. Bei einem Upgrade wird die vorher installierte Version jetzt automatisch deinstalliert, damit keine veralteten Dateien übrigbleiben. Weiterhin wird bei einem Downgrade eine Warnung angezeigt.
Es wird jetzt automatisch das Installations-Zielverzeichnis der zuletzt installierten Version ausgewählt, sofern es eine alte Installation gibt.
Installer und Uninstaller sind jetzt mit eigenen Icons, Bildern und Willkommensseiten deutlich schicker :-)
Weitere Änderungen
Verbesserung: Wenn jetzt eine Spielstand-Spin-Box angeklickt wird, dann wird der bisher eingegebene Text (also der aktuelle Spielstand) komplett markiert, so dass eine Eingabe den bisherigen Spielstand überschreibt (und man den alten nicht erst löschen muss).
Neu: Es kann jetzt eine Standardmarkierung („Automatische Markierung“) ausgewählt werden, mit der alle neuen Paare/Spieler nach dem Anmelden markiert werden. Standardmäßig ist keine Markierung, also „(unmarkiert)“ gesetzt.
Bugfix: Wenn markierte Anmeldungen ausgeblendet sind und dann die ganze Paar-/Spielerliste gelöscht wird, dann werden die entsprechenden Markierungen jetzt automatisch wieder eingeblendet, damit beim nächsten Benutzen die jeweilige Markierung nicht (unerwarteterweise) auf „ausgeblendet“ gesetzt ist und der oder die markierte(n) Eintrag/Einträge „verschwinden“.
Bugfix: Das Programm konnte zum Absturz gebracht werden, wenn man in der „Markierung“-Spalte auf der Paare- bzw. Spielerseite den Namen einer Markierung editiert hat. Die ganze Spalte sollte natürlich gar nicht erst editierbar sein, und das ist jetzt der Fall.
Bugfix: Wenn man ein Paar bzw. einen Spieler umbenennt oder löscht, dann wird ein evtl. angezeigtes Suchergebnis wieder korrekt wiederhergestellt und aktualisiert, anstatt die Suche zu beenden und wieder die komplette Liste anzuzeigen.
Neu/Bugfix: Es gibt jetzt unter Windows einen „Kontexthilfe“-Menüeintrag, da Windows es nicht zulässt, das Kontexthilfe-Fragezeichen neben Minimier- und Maximier-Buttons in der Fenstertitelleiste anzuzeigen. Damit kann die Kontexthilfe jetzt auch unter Windows aufgerufen werden.
Das Muckturnier der JU Leupoldsgrün ist die Wiege des Muckturnier-Programms. Hier wurde die Idee dafür geboren, hier kam 2011 die erste Beta-Version zum Einsatz, und 2012 dann Version 0.1 – und auch jetzt wird das Turnier nach wie vor mit dem Muckturnier-Programm ausgewertet.
Am Freitag, den 22. März ist es wieder so weit: Die JU Leupoldsgrün veranstaltet ihr alljährliches Muckturnier im Schützenhaus in Leupoldsgrün. Die Anmeldung startet um 18.00 Uhr, los geht es um 19.00 Uhr. Für 100 Karter ist Platz. Das ist immer eine sehr schöne Veranstaltung, die man sich nicht entgehen lassen sollte!
Die Versionierung von Muckturnier bedarf einer Überarbeitung. Ein durchdachtes und auch oft benutztes System zur Versionierung ist das Semantic Versioning. An das wird die Versionierung von Muckturnier ab dem nächsten Release angelehnt (nicht ganz so, wie es da steht, aber prinzipiell).
Die Sache ist eigentlich ganz einfach: Der erste Teil der Versionsnummer („Major“) wird hochgezählt, wenn es grundlegende Änderungen gibt. Der zweite Teil („Minor“) bei Funktionserweiterungen bzw- änderungen, und der dritte („Patch“) bei Bugfixes und ansonsten unverändertem Funktionsumfang.
Schluss mit „Null Punkt“
Seit fast sieben Jahren hat das Muckturnier-Programm jetzt die Versionsnummer „0.“, obwohl es einige grundlegende Änderungen gab, und das Programm seit Jahren produktiv eingesetzt wird.
Laut dem „Semantic Versioning“ ist Version Null für die initiale Entwicklungsphase gedacht. Sobald ein Programm produktiv eingesetzt wird, sollte es als Version 1.0 (oder wie die coolen Kids heutzutage sagen: „1.0.0“) vorliegen. Das hätte also schon längst passieren sollen, denn abgesehen vom Produktiveinsatz mag man es vermutlich mittlerweile durchaus als „stabil“ bezeichnen.
Wenn das nächste Release noch die neue Netzwerkfunktionaliät mitbringt (Anmeldung der Spieler an beliebig vielen Rechnern gleichzeitig und Vergleich von Ranglisten übers Netzwerk, bereits zu bestaunen in git master), kann man denke ich auch langsam von „Feature Completeness“ sprechen.
Die Null muss also weg. Da es aber zum einen da draußen durchaus Entwickler gibt, die mit dem Brustton der Überzeugung ihren ersten einigermaßen lauffähigen Brocken Code mit dem Titel „1.0“ ins Internet schmeißen und zum anderen schon sehr, sehr viel Entwicklungsarbeit in das Muckturnier-Programm eingeflossen ist, denke ich, dass „Version 1.0“ für das nächste Release nicht unbebdingt angemessen wäre.
Lassen wir einfach zwei Versionsnummern aus
Es gab seit Version 0.1 zwei fundamentale Codebasis-Änderungen: Die ersten Versionen waren in PHP, JavaScript und HTML programmiert und wurden mittels eines HTTP-Servers und Webbrowsers angezeigt. Dann gab es ein komplettes Rewrite nach Python und PyQt, und schließlich ein weiteres Rewrite für die jetzt aktuelle C++/Qt-Version.
Hätte ich damals (dem „Semantic Versioning“ folgend) eine „für den Produktiveinsatz bereite“ Version 1.0 getaggt, dann wären wir jetzt folgerichtig bei Version 3.0, oder – wenn man den Sprung von Qt 4 zu Qt 5 während der Python-Phase mitzählt – sogar schon bei Version 4.0. Aber man muss es ja nicht übertreiben.
Um dem Muckturnier-Programm nicht den „ungetestete, neue Software“-Anstrich der Version 1.0 zu verpassen, und der tatsächlichen Entwicklungshistorie Rechnung zu tragen, wird auf die Version 0.7.7 von Muckturnier jetzt einfach Version 3.0 folgen, und ab dann wird die Versionsnummer vernünftig hochgezählt.
Nur für den Fall, dass sich einer wundert, wo die Versionen 1.0 und 2.0 abgeblieben sind ;-)