Ein Musikduo braucht im Netz ein paar Dinge: einen Ort, an dem man sieht und hört, wie es spielt, das Repertoire, Informationen zu Terminen und eine einfache Möglichkeit, ein Angebot anzufragen. Angefangen habe ich mit einer ganz gewöhnlichen Visitenkarten-Seite, am Ende stand eine Website mit einem Bereich zur Verwaltung der Inhalte, einer Bibliothek für Fotos und Aufnahmen, PDF-Angeboten und Mailversand. Rückblickend habe ich gerade bei Duostrings vieles gelernt, woraus heute Panel Biznesu besteht.
Der Anfang, und wieder der Server
Die erste Version der Seite entstand Anfang Februar 2026 und lief beim selben kostenlosen Hosting-Dienst wie damals auch Algebra. Schon am ersten Tag wollte ich, dass mir das Kontaktformular eine Mail über ein Gmail-Postfach schickt. Ich habe die Art der Verbindung zum Postfach geändert und die Wartezeit verlängert, aber nichts half, bis sich herausstellte, dass die kostenlose Version dieses Dienstes den Mailversand auf diesem Weg schlicht blockiert. Noch am selben Tag habe ich die Mails abgeschaltet und später die ganze Seite zu Cloudflare umgezogen, einer Firma, die Platz für Websites und ihre Daten bereitstellt.
Nach dem Umzug landeten die Inhalte der Seite und die Anfragen in einer Datenbank, Fotos, Aufnahmen und Dateien in einem eigenen Speicher, beides bei Cloudflare. Diesmal lagen die Daten von Anfang an außerhalb der Anwendung und nicht auf ihrer Festplatte, wie früher bei den Buchungen in Algebra. Die Seite läuft auf Servern, die über die ganze Welt verteilt sind, und antwortet jedem Besucher von einem Ort in seiner Nähe.
Inhalte, die man ohne Programmierer ändert
Die Website von Musikern lebt: Termine, Repertoire, Aufnahmen und Konzertfotos ändern sich ständig. Ich wollte nicht, dass jede solche Änderung eine Anpassung im Code braucht, also bekam die Seite einen eigenen Verwaltungsbereich. Inhalte bearbeitet man dort wie in einem ganz normalen Texteditor, Fotos und Videos kommen in die Bibliothek, und im Repertoire hat jedes Stück eine kurze Hörprobe von fünfundvierzig Sekunden. Außerdem gibt es einen Verfügbarkeitskalender, an dem Besucher sofort sehen, ob ein Termin frei ist, und einen Umschalter zwischen der Seite des Duos und einem eigenen Angebot für Hochzeiten.
Im Mai kam noch dazu, dass man alle Inhalte als Word-Datei speichern und wieder einlesen kann. Das klingt nach einer Kleinigkeit, aber so kann man alle Texte auf einmal in einem bequemen Editor überarbeiten und mit einem Klick wieder hochladen.
Eine ähnliche Idee hatte ich schon vorher bei Algebra, wo die Preisliste eine eigene Datei war, die ich ändern konnte, ohne den Rest der Seite anzufassen. Bei Duostrings bin ich weiter gegangen, denn dort ließ sich schon alles bearbeiten. Von so einem Verwaltungsbereich bis zu Panel Biznesu, in dem der Inhaber einer beliebigen kleinen Firma die Inhalte seiner Website selbst ändert, war es dann nicht mehr weit.
Fotos und Videos, die sich selbst anpassen
Bei einer Seite mit Aufnahmen merkt man schnell, dass Fotos und Videos ihr schwerster Teil sind. Damals bin ich auf einen Dienst gestoßen, der sie speichert und jedem Gerät eine Fassung in passender Größe und passendem Format liefert: Ein Handy bekommt ein kleineres Bild als ein Monitor, und der Browser das Format, mit dem er am besten umgehen kann. Ab Mitte Mai gingen alle neuen Dateien dorthin, und der bisherige Speicher diente als Reserve. Alte Dateiadressen führten automatisch zu den neuen, sodass kein Link auf der Seite kaputtging.
Videos mussten zusätzlich bearbeitet werden, deshalb habe ich dafür einen eigenen Server in der Cloud von Oracle aufgesetzt, der die Aufnahmen aufbereitete und die fertige Datei zurückschickte. Das lief gut, nur wurden es immer mehr Teile, die zusammenarbeiten mussten: die Seite, der Dateispeicher, der Dienst für Fotos und Videos, der Videoserver und eine Warteschlange für die Aufträge dazwischen. Ende Juni habe ich das alles vereinfacht. Der Fotodienst und der Server für die Videobearbeitung flogen raus, und Dateien landen heute über die Seite selbst direkt im Speicher. Bezahlt habe ich dafür mit einer niedrigeren Obergrenze für die Dateigröße in der Bibliothek, aber jedes Teil, das es nicht gibt, kann auch nicht kaputtgehen.
Angebote als PDF
Am meisten gelernt habe ich bei den Angeboten. Im Verwaltungsbereich entstand ein Angebotseditor, der wie ein normales Textprogramm funktioniert, mit mehreren fertigen Layouts zur Auswahl, Einstellungen für das Aussehen des Textes und einem Knopf, der das Ganze auf eine A4-Seite einpasst. Jeder Empfänger bekommt sein eigenes PDF mit Datum, Ort und Art der Veranstaltung, und das PDF entsteht direkt im Browser, ganz ohne externen Dienst. Im Juni kamen deutsche Fassungen dazu: die Seite auf Deutsch, Angebotslayouts im Verwaltungsbereich und Angebote mit Preisen in Euro, weil ein Teil der Veranstaltungen auf der anderen Seite der Grenze stattfindet.
Mails von der eigenen Adresse
Wenn schon Angebote, dann auch Mails, und zwar nicht aus einem privaten Postfach, sondern von einer Adresse mit der Domain der Seite. Eingehende Post an die Kontaktadresse landet in einem normalen Postfach, ausgehende geht über einen Dienst, der Mails im Namen der Seite verschickt. Damit diese Mails nicht im Spam landen, braucht die Domain eine elektronische Signatur, an der der Server des Empfängers erkennt, dass die Mail wirklich von dieser Domain stammt. Jede Anfrage aus dem Formular wird gespeichert, und ich bekomme eine Benachrichtigung per Mail und über WhatsApp.
Dazu kamen Kampagnen: das Einlesen einer Kontaktliste aus einer Datei, Nachrichten, die auf jeden Empfänger zugeschnitten sind, und eine unsichtbare Markierung, die anzeigt, ob eine Mail geöffnet wurde, und dabei ein echtes Öffnen von Automaten unterscheidet, die selbst in die Mail schauen, etwa Mail-Scannern. Beim Versand stieß ich auf Grenzen, denn die kostenlose Version des Maildienstes nimmt zwei Mails pro Sekunde und hundert pro Tag an, und die Seite selbst kann auf einmal nur eine begrenzte Zahl von Vorgängen ausführen. Am Ende lief der Versand Mail für Mail, mit einem neuen Versuch, wenn der Server ablehnte, und standardmäßig zwei Minuten Abstand, damit die Domain bei den Mailanbietern keinen schlechten Ruf bekommt.
Ein Fehler, den ich nicht wiederhole
Als die Angebote fertig waren und der Versand lief, tat ich, was mir naheliegend erschien: Ich schickte Angebote per Mail an Lokale und Veranstaltungsorte, die interessiert sein könnten. Damals wusste ich nicht, dass man in Polen für ein Werbeangebot per Mail die vorherige Einwilligung des Empfängers braucht, auch wenn der Empfänger eine Firma ist. Seit November 2024 regelt das das polnische Gesetz über elektronische Kommunikation, und für sogenanntes Cold Mailing, also Angebote an Leute, die nicht danach gefragt haben, drohen Strafen.
Technisch lief alles einwandfrei, und trotzdem war die ganze Kampagne ein Fehler. Ich habe meine Lehre daraus gezogen und den Ansatz geändert: Statt Angebote dorthin zu schicken, wo niemand danach gefragt hatte, bekam die Seite eine eigene Unterseite für Lokale mit einem Formular, in dem der Inhaber selbst um ein Angebot bittet und dem Kontakt zustimmt. Erst dann gibt es jemanden, an den das PDF-Angebot gehen kann. Das ist eine Lektion, die einem kein Programmierkurs beibringt: Bevor man etwas automatisiert, sollte man prüfen, ob man es überhaupt darf.

Was geblieben ist
Von Duostrings habe ich eine ganze Reihe von Dingen mitgenommen, die ich vorher nicht kannte: Mails von einer Adresse mit eigener Domain, den Mailversand von einer Website aus, das Speichern von Fotos und Aufnahmen, das Erzeugen von Dokumenten im Browser und einen Verwaltungsbereich, in dem sich Inhalte ohne Programmierer ändern lassen. Aus denselben Bausteinen setze ich jetzt Panel Biznesu zusammen, in dem eine kleine Firma ihre Website, PDF-Angebote und den Kontakt zu Kunden an einem Ort bekommt.

