Im Alter von zehn* Jahren hatte mir mein Vater einen alten Laptop hingestellt und gesagt: Du lernst jetzt Programmieren. Meine ersten Schritte habe ich mit den öffentlichen MSDN-Lernmaterialen und Visual Basic.NET 2005 gemacht. Das ist jetzt bald 15 Jahre her. Damals war noch nicht** absehbar, dass ich mal meinen Abschluss in Informatik machen würde. Zeit, zurück zu blicken, und die coolsten Software Projekte der letzen 6 Jahre zu betrachten!
5. skate's Thumbnail Tool (2012)
Das erste Projekt, auf das ich eingehen möchte, ist mein Thumbnail Tool aus dem Jahre 2012. Natürlich habe ich davor auch schon duzende Projekte und Tools umgesetzt, aber nichts dieser Größe. Einen Tag nach meinem schriftlichen Abi habe ich mit der Lösung eines der größten Probleme jedes damaligen Let's Player beschäftigt: Diese super nervigen Thumbnails.
2012 hatte man auf YouTube noch keine krassen Clickbait-Überschriften und für jede Folge ein besonderes Thumbnail. Let's Plays waren viel einheitlicher gehalten, was sich auch auf das Design der Thumbnails ausgewirkt hatte. Warum also nicht generieren? Das Tool hat im Laufe der Jahre 50.000 Downloads erreicht, die Entwicklung habe ich auf Grund der enorm schlechten Codequalität allerdings eingestellt. Die letzte Versions gibt es hier, ein altes Video dazu hier.
4. Crafting Keys (2015)
Nachdem ich zunächst Minecraft und später Minecraft Modding für mich entdeckt hatte, wollte ich lange Zeit eine eigene Mod schreiben. Als ich die Idee für Crafting Keys bekam, habe ich diesen Wunsch kurzerhand in die Tat umgesetzt. Die Funktionsweise ist schnell erklärt: Das Herstellen von neuen Gegenständen in Minecraft funktioniert auf 2x2 oder 3x3 Feldern, auf die man bereits vorhandene Gegenstände (meistens) mit der Maus aus dem Inventar zieht. Warum dieses Konzept nicht auf die Tastatur übertragen und damit sowohl Effizienz als auch Spaß Faktor auf einen ganz neuen Level heben?
Wie abzusehen, wurde die Mod schnell auf den meisten Minecraft-Minigame-Servern verboten. Da ich keine Zeit hatte, mich aktiv um die Einbindung neuer Oberflächen zu kümmern, und die Mod mit den meisten Inventar-Mods moderner Modpacks inkompatibel ist, habe ich die Entwicklung eingestellt. Runterladen kann man alle Versionen hier, der Quellcode ist quasi-open-source auf GitHub zu finden.
3. Minecraft SKY (2017)
Was hat ein Minecraft Modpack hier zu suchen? Die Antwort ist: Modpacks bestehen meist aus mehr als nur Mods und deren Konfiguration. Gerade bei Hardcore-Modpacks wie SKY kommen hier noch hunderte Zeilen Crafting-Skript dazu, welche Rezepte jedes einzelnen Gegenstands verändern können. Ebenso sind Konzepte wie Entwurf, Entwicklung, Testen und Wartung ebenfalls anwendbar, weswegen man durchaus von einem Softwareprojekt sprechen kann.
Mit knapp 400.000 Downloads ist SKY mein erfolgreichstes Projekt der letzen Jahre. Runtergeladen werden kann es hier auf der Technic Plattform, oder hier direkt von meiner Website.
2. Cooperate Project (2017)
Das Cooperate Projekt ist ein aus den Mitteln des Ausgleichfonds finanziertes Forschungsprojekt zur barrierefreihen Softwareentwicklung. Ziel des Projekts ist es, dass Teams aus sehenden und Menschen mit Sehbeschränkung in der Modellierung und Entwicklung zusammen arbeiten können.
Seit meiner Bachelor-Arbeit arbeite ich dort als Hiwi mit. Ich habe u.a an der inkrementellen Synchronisierung von UML-Diagrammen, einem UML-Web-Editor für Klassendiagramme und der barrierefreihen Umsetzung von Aktivitätsdiagrammen gearbeitet. Das Projekt endete im Juni 2018, der Quellcode ist öffentlich.
1. Code Overflow (2018)
Code Overflow heißt das Team aus Andre, Dennis und mir. Unser Ziel ist es, Softwareentwicklung in Livestreams anschaulich und unterhaltsam rüberzubringen. Unser Projekt, an dem wir seit mehr als einem Jahr arbeiten heißt Chat Overflow.
Entstanden ist es aus der Idee, Livestreams interaktiver zu machen. Hierzu soll der Livestream Chat automatisiert mitgelesen und ausgewertet werden. Wir haben mit diesem Konzept schon verrückte Projekte umgesetzt. Beispiele hierfür sind die Steuerung von Minecraft durch den Chat, Sub-Emoji-Abstimmungen oder tatsächlich sinnvolle Dinge wie das Hervorheben von ausgewählten Nachrichten. Den ersten Stream gibt es auf YouTube, vom zweiten ist immerhin noch ein zuschauer-gemachtes Best-Of übrig.
Nach dem großen Erfolg von Code Overflow und einem mit knapp 1.500 Zuschauern potenziell größten Coding Stream Deutschlands, entwickeln wir Chat Overflow aktuell von Grund auf neu. Unser Ziel ist es, mehr als nur den Chat auszuwerten und durch ein umfassendes Framework eine vergleichbare Funktionalität wie z.B. IFTTT zu erreichen - nur eben für Livestreamer. Wir hoffen, noch 2018 die erste lauffähige Version veröffentlichen zu können, bis dahin könnt ihr die Entwicklung auf GitHub nachverfolgen.
Ausblick
Während ich diesen Post geschrieben habe, habe ich mir die Frage gestellt, bei welchem Projekt ich eigentlich am Meisten gelernt habe. Um ehrlich zu sein: Ich habe keine Ahnung. Sicherlich geht das Forschungsprojekt Cooperate schon voran, denn die EMF-Entwicklung ist ein gigantisches Themengebiet, für dessen Grundverständnis ich allein mehrere Bücher lesen musste. Aber auch Code Overflow als eigenes Grüne-Wiese-Praxis-Projekt hat viele Lektionen mitgebracht, bekanntestes Beispiel: Code Injection in Code Overflow 2 :^)
Wie geht es jetzt weiter? Neben Chat Overflow habe ich für 2018 noch einige spannende Projekt geplant. Meine Liste zählt aktuell 8 nützliche Tools mit Programmierumfang von einem Tag bis mehrere Monate. Außerdem habe ich noch über zehn Ideen für weitere Minecraft Mods. Sollte es zeitlich passen, ist von mir also noch einiges zu erwarten. Alle Neuigkeiten bekommt ihr hier auf Steemit, oder auf meinem GitHub Profil.
Danke fürs Lesen, lasst mir gerne eure Meinung hierzu da. Bis bald!
*Ich weiß wirklich nicht mehr, ob es zehn Jahre waren. Vielleicht auch elf oder zwölf. Ist bisschen her...
**Oder vielleicht doch?