Da wir nun der Veröffentlichung von DMXControl 3.2.1 entgegen streben, haben wir wieder über Dinge wie Feature Freeze, Betatest, Release, Bugtracker etc. in der News geschrieben. Doch wie geht das eigentlich, eine DMXControl 3 Version zu veröffentlichen? Wo fängt die Entwicklung an, wie wird DMXControl 3 erzeugt und was ist für die Veröffentlichung nötig? Die neue Version ist Grund genug, uns einmal den Entstehungsprozess einer DMXControl 3 Version anzuschauen und euch zu zeigen, was eigentlich alles dahinter steckt. Nachdem wir letzte Woche auf die Planung einer neuen Version eingegangen sind (hier noch einmal nachzulesen: Entwicklernews - 20_KW08 - Wie geht das, ein Release? (Teil 1)), beschäftigen wir uns heute mit dem Kernteil: Die eigentliche Entwicklung. Es folgen dann noch in weiteren News das so genannte QRM-Meeting, das Erzeugen einer neuen DMXControl 3 Version, den Beta-Test und das Bereitstellen des Installers.
Soweit so unspektakulär
Wer schon einmal programmiert hat, der weiß, dass diese Beschäftigung eher zu der unspektakulären Sorte gehört. Es knallt und stinkt nichts (es rauchen höchstens mal die Köpfe), es gibt keinen Muskelkater, den man von schwerer, körperlicher Arbeit spüren könnte, man sitzt Stunden lang im am besten abgedunkelten Raum vor dem Bildschirm (siehe unsere DevCon-Bilder), es wird viel "Text" in die Tastatur gehauen und am Ende freut sich der Entwickler, weil sich ein Steuerelement endlich drehen kann Häufig braucht es auch längere Zeit, bis man überhaupt mal etwas von einer neuen Funktion sieht, weil hierfür zuerst viel intern vorbereitet werden muss. Und wenn Dinge im Unterbau von DMXControl 3 geändert werden, gibt es sogar manchmal gar keine Änderung an der Oberfläche, weil "nur" eine interne Schnittstelle nun besser definiert ist oder die Software an irgendeiner Stelle effizienter und damit schneller geworden ist. Deshalb fällt der Programmierteil in der Berichterstattung in unseren News auch sehr häufig hinten runter, weil es einfach nichts davon zu zeigen gibt. Nichtsdestotrotz ist dies der wichtigste Teil bei der Weiterentwicklung von DMXControl 3.
Freiheit ist uns wichtig
Aber wie arbeiten wir denn nun, wenn die Funktionen wie im letzten Teil gezeigt geplant sind? Die Entwickler beginnen meist schon parallel zur Planung damit, Code zu schreiben und Funktionen zu programmieren. So wird teilweise auf den beiden Treffen (Vereinstreffen und Entwicklertreffen) aber vor allem viel zu Hause programmiert. Dabei sitzen die Entwickler je nach Umfang ihrer Freizeit durchaus häufiger zwischen ein und drei (oder auch mehr) Stunden pro Tag am PC und schreiben an DMXControl 3. Aber jedes Vereinsmitglied hat hier die Freiheit, seine Arbeit so einzuteilen wie er das möchte. So kann es auch einmal sein, dass eben die Integration von neuen Funktionen mehrere Wochen oder Monate dauert, weil gerade nicht die nötige Freizeit für die Umsetzung da ist. Auf der anderen Seite kommt es aber auch immer wieder einmal vor, dass man auf einem Treffen noch kurz vor dem Mittagessen mit einem Entwickler darüber geredet hat, dass eine Funktion für einen gewissen Anwendungsfall fehlt. Nach dem Mittagessen kommt einem der Entwickler dann noch mit dem leeren Teller in der Hand entgegen und meint, er hat das jetzt mal geschwind eingebaut und man solle es doch mal testen. Hieran sieht man, dass uns auch wichtig ist, dass die Entwickler die Freiheit haben sollen, spontan auch einmal Dinge umzusetzen, auf die sie gerade Lust haben oder welche sie für eine eigene Veranstaltung benötigen. Was in einem Projekt in einer Firma undenkbar wäre erhält bei uns den Spaß am Programmieren. Auch das Austüfteln von Lösungen für neue Funktionen trägt hierzu bei. So möchten die Entwickler die Freiheit haben, Dinge auf ihre Art und Weise zu implementieren und auch mal Lösungsvorschläge in einem Bugtracker-Ticket zu ignorieren. Hier spielt aber natürlich auch mit hinein, dass die Entwickler die Struktur von DMXControl 3 kennen und am ehesten wissen, was sich umsetzen lässt und was nicht bzw. mit viel Arbeit verbunden wäre.
Probieren geht über studieren
Auch wenn der Spruch der Überschrift zu diesem Abschnitt nur auf manche Bereiche im Leben anwendbar ist, gilt er bei uns durchaus beim Programmieren. Natürlich haben die Entwickler entsprechend viel Erfahrung mit C#, der Programmiersprache in der DMXControl 3 geschrieben ist. Außerdem kennen sie wie bereits gesagt die Softwarestruktur von DMXControl 3. Aber manchmal muss man einfach ausprobieren, wie sich etwas am besten umsetzen lässt. Denn häufig gibt es mehrere Wege, eine Funktionalität in DMXControl 3 zu integrieren und dann gilt es auszuprobieren, welche Variante die beste ist. Ein Beispiel dafür ist das neue Input Assignment in DMXControl 3.2. Hier wurde unter anderem das Bedienkonzept für die Cuelist Nodes nach einer Livestream-Session mit den Entwicklern, Leuten aus dem Marketing-Team und den Betatestern noch einmal angepasst. Das mag zwar etwas Zeit gekostet haben. So ist aber eine flexiblere Variante in den Release gekommen, die sich erst in der Diskussion heraus kristallisiert hat.
Code verwalten
Auch wenn man in günstigen Fällen einmal an einem abgeschotteten Bereich der Software arbeiten kann, der keine anderen Bereiche beeinflusst, müssen alle Arbeiten der Entwickler doch zusammen geführt werden. Wie bereits an anderer Stelle berichtet, benutzen wir einen eigenen Git-Server, um unsere internen Software-Repositories zu verwalten (hier noch einmal nachzulesen: Entwicklernews - 18_KW23 - Interne Git-Migration von DMXControl 3 abgeschlossen!). Neben den üblichen Vorteilen einer solchen Versionsverwaltung (unter anderem kann man Änderungen besser nachvollziehen und wenn nötig auch wieder rückgängig machen) sorgt diese bei uns ähnlich wie bei Open Source-Projekten auch dafür, dass die Entwickler problemlos zusammenarbeiten können, obwohl wir in ganz Deutschland verteilt wohnen und uns eben nur bei unseren beiden Treffen wirklich live sehen. So landen dann alle Änderungen im internen Git, von wo auch unser Jenkins (was das ist schauen wir uns in einer späteren News an) den aktuellsten Stand holen kann.
Wie es weiter geht, wenn die erste Umsetzung steht und man die Funktion intern vorstellen kann, erfahrt ihr nächste Woche....
Euer DMXControl-Team
Kommentare
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.