Das Fenster
Das Fenster von Signal Lab besteht aus vier Teilen: Die Seitenleiste links listet die Ansichten auf, die Kopfzeile oben enthält, was überall gilt, die gewählte Ansicht füllt die Mitte, und der untere Bereich zeigt die Konsole, die laufenden Jobs und den Inspektor. Die Desktop-App und die Seite eines Servers im Browser sehen gleich aus; die wenigen Unterschiede stehen unter Im Browser.
Die Seitenleiste
Jede Ansicht ist ein eigenes Werkzeug. Klicken Sie auf eine, um sie zu öffnen:
| Ansicht | Wofür sie da ist |
|---|---|
| Experimente | Testabläufe auf einer Arbeitsfläche bauen, ausführen und jeden Durchlauf Schritt für Schritt lesen. Experimente |
| Signale | Die Signalbibliothek: benannte Nachrichten in Ordnern, zum Bearbeiten und erneuten Senden. Signale |
| Emulatoren | Nachgebildete HTTP-APIs, OSC-, UDP- und TCP-Geräte und MQTT-Broker, die nach Regeln antworten. Emulatoren |
| OSC | OSC-Nachrichten senden, einen Port überwachen, eine Wellenform auf einen Endpunkt geben. OSC |
| MQTT | Mit einem Broker verbinden, jedes Topic sehen, das er hält, veröffentlichen und Retained-Werte löschen. MQTT |
| Broadcast | An viele Hosts auf einmal senden — eine Liste, Broadcast, Multicast, ein Subnetz-Sweep — und mithören, wer antwortet. Broadcast und Erkennung |
| HTTP | Eine Anfrage mit ihrer ganzen Antwort, dann ein Last-Burst gegen denselben Endpunkt. HTTP |
| WebSocket | Mit einem WebSocket-Dienst verbinden, Text oder Bytes senden, jede Nachricht lesen. WebSocket |
| Störung | Ein Relais, das UDP- oder TCP-Verkehr zwischen einem Client und seinem Ziel verschlechtert. Störung |
| Sturm | Rohe UDP- oder TCP-Last gegen Ihre eigenen Server und Leitungen. Sturm |
| Scanner | Welche TCP-Ports eines Hosts offen sind und was der Dienst als Erstes sagt. Scanner |
Die Seitenleiste erscheint zunächst schmal, mit dem Symbol und einem Kurznamen jeder Ansicht; fahren Sie mit der Maus über einen Eintrag, um seinen vollen Namen zu sehen. Das ☰ links in der Kopfzeile (Navigation ausklappen / Navigation einklappen) wechselt zwischen der schmalen Form und der vollständigen Liste, und Signal Lab merkt sich Ihre Wahl.
Eine Zahl am Eintrag einer Ansicht zählt die Jobs, die von dort aus laufen, etwa einen Monitor oder einen Emulator, sodass Sie sehen, was noch läuft, ohne die Ansicht zu öffnen. Am unteren Ende der Seitenleiste öffnet die Version „Über Signal Lab“, und die Zeile darunter zählt alle laufenden Jobs.
Signal Lab öffnet sich in der Ansicht, die Sie zuletzt verwendet haben.
Die Kopfzeile
Von links nach rechts:
| Element | Was es tut |
|---|---|
| ☰ | Zeigt die Seitenleiste schmal oder als vollständige Liste. |
| Der Host | Host, dann Name und Netzwerkadresse des Computers, auf dem die Engine läuft: dieser Computer in der Desktop-App, der Server im Browser. Im Browser steht dort außerdem Server — fahren Sie mit der Maus darüber, um zu sehen, wo der Server seine Dateien ablegt —, und der Punkt daneben ändert sich, wenn die Seite ihre Verbindung verliert. |
| Die Update-Schaltfläche | Erscheint in der Desktop-App, wenn ein neueres Release gefunden wurde, und öffnet „Über Signal Lab“, um es zu installieren. Siehe Updates. |
| Das Buch | Dokumentation: diese Dokumentation, auf der Seite der Ansicht, in der Sie gerade sind. F1 tut dasselbe von überall. |
| ✉ | An die Entwickler schreiben: eine Nachricht an die Entwickler. Siehe An die Entwickler schreiben. |
| ? | Über Signal Lab: die Version, wer Signal Lab macht, wie Sie die Entwickler erreichen, und Updates. |
| Die Flagge | Sprache: die Sprache der Oberfläche. Siehe Sprachen. |
| Abmelden | Im Browser, wenn der Server ein Zugriffstoken verlangt: beendet die Sitzung dieses Browsers. |
| Alle stoppen | Stoppt alle laufenden Jobs auf einmal: Monitore, Generatoren, Beacons, Emulatoren, Relais, Stürme, Scans, Durchläufe. Ist ausgegraut, solange nichts läuft. |
Die Dokumentation
Die Dokumentation ist in die App und in den Server eingebaut, daher ist sie ohne Internetverbindung verfügbar, in der Sprache der Oberfläche. Die Desktop-App zeigt sie in einem eigenen Fenster — drücken Sie die Schaltfläche erneut in einer anderen Ansicht, springt dieses Fenster zur Seite dieser Ansicht — und öffnet Links, die die Dokumentation verlassen, in Ihrem Browser. Im Browser öffnet sie sich in einem eigenen Tab. Auch „Über Signal Lab“ hat eine Schaltfläche Dokumentation, die Was ist Signal Lab öffnet.
Über Signal Lab
„Über Signal Lab“ zeigt die Version, den Entwickler, die Kontaktadresse (mit einer Schaltfläche, die sie kopiert), den Quellcode und die Lizenz. In der Desktop-App sucht der Abschnitt Updates nach Updates, zeigt sie an und installiert sie — siehe Updates. Im Browser steht dort Ein Server wird mit seinem Image aktualisiert. An die Entwickler schreiben öffnet das Feedback-Formular.
An die Entwickler schreiben
Das ✉ in der Kopfzeile öffnet ein Formular, das direkt an die Entwickler geht:
| Feld | Was hineingehört |
|---|---|
| Nachricht | Was passiert ist und was Sie stattdessen erwartet haben. Pflichtfeld; höchstens 20.000 Zeichen. |
| Ihre E-Mail-Adresse für eine Antwort | Optional: wohin die Entwickler Ihnen antworten können. Nur sie sehen die Adresse. |
| Screenshots | Bis zu 6 Bilder (PNG, JPEG, WebP oder GIF), je 8 MB und zusammen 15 MB. Fügen Sie eines mit Ctrl+V ein, ziehen Sie Dateien auf das Fenster, oder drücken Sie Screenshot anhängen. |
| Automatisch angehängt | Die Zeilen der Konsole und Version und System, jeweils als eigene Datei angehängt. Anzeigen zeigt genau, was gesendet wird; entfernen Sie einen der Haken, um den Teil wegzulassen. |
Die angehängten Logs lassen den Namen dieses Computers, seine Netzwerkadresse und die Namen in den Pfaden Ihrer Ordner weg. Ctrl+Enter sendet das Formular; ist es abgeschickt, erhalten Sie eine Referenznummer, die auch die Konsole festhält. Die Nachricht läuft über den eigenen Dienst des Studios, der sie per E-Mail weiterleitet; die App enthält dafür kein Passwort.
Der untere Bereich
Der Bereich unter jeder Ansicht hat zwei Registerkarten, Konsole und Inspektor, und zwischen ihnen und den Schaltflächen des Bereichs die Leiste der laufenden Jobs.
- Der Pfeil links (Konsole einklappen / Konsole ausklappen) klappt den Bereich bis auf seine Leiste ein oder wieder auf. Eingeklappt zeigt die Leiste weiterhin die neueste Zeile der Konsole; klicken Sie auf diese Zeile, um den Bereich zu öffnen.
- Ziehen Sie die Oberkante des Bereichs, um ihn höher oder niedriger zu machen (siehe Bereiche anpassen).
- Die Schaltfläche rechts (Auf Fensterhöhe) bringt ihn auf die Höhe des Fensters und wieder zurück (Ursprüngliche Höhe).
Ob der Bereich offen ist, welche Registerkarte er zeigt und wie hoch er ist, bleibt für das nächste Mal erhalten.
Die Konsole
Die Konsole sagt, was jedes Werkzeug getan hat und was schiefging, das Neueste zuletzt: eine gesendete Nachricht und ihre Größe, ein gestarteter Monitor, Status und Dauer einer Antwort, ein beendeter Job und warum er endete. Jede Zeile hat die Uhrzeit (auf die Millisekunde), ein Kürzel für das Werkzeug und die Meldung, gefärbt nach ihrer Art — erledigt, Information, Warnung oder Fehler.
- Mit mitscrollen bleibt die neueste Zeile sichtbar, während Zeilen eintreffen; entfernen Sie den Haken, um zurückzulesen, während weitere hinzukommen.
- Leeren leert sie.
- Sie behält die letzten 500 Zeilen.
- Ein Wechsel der Sprache schreibt die ganze Konsole in der neuen Sprache neu.
Jobs
Jeder laufende Job — ein Monitor, ein Generator, ein Beacon, eine Broker-Verbindung, ein Emulator, ein Relais, ein Sturm, ein Scan, ein Durchlauf eines Experiments — hat in der Leiste ein Kärtchen mit seiner Nummer und seiner Art und eine eigene Schaltfläche, um ihn zu stoppen. Läuft nichts, steht in der Leiste keine aktiven Jobs. Siehe Jobs.
Die Registerkarte Inspektor
Die Registerkarte Inspektor zeigt jeden Frame, den die Werkzeuge senden und empfangen, solange der Mitschnitt läuft, neben der Ansicht, in der Sie gerade arbeiten. Ihr Punkt leuchtet, solange der Mitschnitt läuft, und eine Zahl zählt die mitgeschnittenen Frames. Der Bereich öffnet sich hoch genug für die Liste des Inspektors und die Details eines Frames; ein Link auf einen Frame an anderer Stelle — in der Zeitleiste eines Durchlaufs oder in der Liste eines Emulators — öffnet diese Registerkarte bei diesem Frame. Einmal geöffnet, behält der Inspektor seine Liste und Auswahl, auch während der Bereich geschlossen ist. Wie Sie ihn verwenden: Inspektor.
Ein Signal von überall senden
Drücken Sie in jeder Ansicht Ctrl+K, um die Palette Ein Signal senden zu öffnen: Tippen Sie ein paar Buchstaben aus dem Namen, Ordner oder Ziel eines Signals, wählen Sie mit ↑ und ↓ und drücken Sie Enter, um es zu senden. Sie listet bis zu 12 Signale auf einmal auf. Esc, ein Klick außerhalb oder erneut Ctrl+K schließt sie. Die Konsole sagt, was wohin gesendet wurde. Siehe Signale.
Bereiche anpassen
Zwischen Bereichen, deren Größe Sie ändern können, sitzt ein schmaler Griff: an der Oberkante des unteren Bereichs (Höhe der Konsole) und in der Ansicht der Experimente am Rand der Eigenschaften (Breite der Eigenschaften) und an der Oberkante der Zeitleiste des Durchlaufs (Höhe der Zeitleiste).
- Ziehen Sie den Griff.
- Oder fokussieren Sie ihn mit Tab und verwenden Sie die Pfeiltasten: Jeder Druck verschiebt ihn um 16 Pixel, mit Shift viermal so weit; Home und End springen zur kleinsten und größten Größe.
- Ein Doppelklick darauf oder Enter gibt dem Bereich seine Standardgröße zurück.
Die Größen bleiben für das nächste Mal erhalten.
Tooltips
Ansichten zeigen Beschriftungen, Werte und Zustände und verlagern ihre Erklärungen in Tooltips: was ein Feld erwartet, was 0 dort bedeutet, welche Taste dasselbe tut. Ein Tooltip erscheint, wenn Sie den Mauszeiger etwa eine halbe Sekunde auf einem Element ruhen lassen, und sofort, wenn Sie es mit der Tastatur erreichen; ein Feld zeigt den Tooltip seiner Beschriftung. Esc, Tippen, ein Klick oder Scrollen blendet ihn aus. Screenreader lesen denselben Text vor.
Fehlermeldungen sagen, wo und was schiefging und warum; der Wortlaut des Systems selbst ist unter Technische Details eingeklappt.
Ansichten behalten ihren Zustand
Eine Ansicht öffnet sich, wenn Sie sie zum ersten Mal aufrufen, und bleibt dann, wie sie ist, während Sie in einer anderen arbeiten: was Sie eingegeben haben, die letzte Antwort, die Nachrichtenliste eines Monitors und der Job dahinter, sogar die Scrollposition sind alle noch da, wenn Sie zurückkehren. Ein laufender Job läuft weiter, gleich welche Ansicht Sie betrachten.
Manche Werte bleiben auch über Neustarts hinweg erhalten: die OSC-Nachricht, die Sie gesendet haben, die HTTP-Anfrage, die WebSocket-Adresse, die Größen der Bereiche, die Ansicht, in der Sie waren.
Der Firewall-Hinweis
Die Windows Defender Firewall entscheidet Programm für Programm, ob andere Rechner es erreichen dürfen. Sobald ein Programm zum ersten Mal auf einem Port empfängt, fragt Windows die Person am Bildschirm — und ein Abbrechen dort oder ein Netzwerk, das Windows als öffentlich einstuft, verwirft stillschweigend alles, was andere Rechner senden. Ein Monitor, der nichts anzeigt, ist das übliche Anzeichen.
Deshalb prüft Signal Lab in der Desktop-App unter Windows die Firewall einmal, sobald zum ersten Mal etwas auf Empfang geht — ein OSC-Monitor, der Erkennungsempfänger, ein Störungs-Relais, ein Emulator oder ein Durchlauf eines Experiments. Steht die Firewall im Weg, meldet das ein Hinweis unter der Kopfzeile:
- Zulassen fordert mit der Abfrage von Windows selbst Administratorrechte an und lässt dann andere Rechner Signal Lab in privaten und Domänennetzwerken erreichen.
- In einem Netzwerk, das Windows als öffentlich einstuft — oft das WLAN einer Spielstätte —, heißt die Schaltfläche stattdessen Zulassen, auch in öffentlichen Netzwerken.
- Nicht jetzt blendet den Hinweis für diese Sitzung aus.
Das Zulassen ersetzt die eingehenden Firewall-Regeln von Signal Lab durch eine einzige Zulassungsregel. Verkehr auf diesem Computer selbst (127.0.0.1) ist nie betroffen, daher können Sie den Hinweis ignorieren, solange Sie über Loopback arbeiten. Eine Installation für alle hat die Regel bereits; siehe Was das Setup hinzufügt. signallab doctor meldet dasselbe im Terminal, und signallab firewall allow behebt es dort — siehe Die Kommandozeile. Unter Linux und im Browser gibt es keinen Hinweis: Die Firewall eines Servers ist Sache seines Administrators.
Im Browser
Die Seite eines Servers ist dieselbe Oberfläche, mit wenigen Unterschieden:
- Der Host in der Kopfzeile nennt den Server, mit Server daneben.
- Verlangt der Server ein Zugriffstoken, melden Sie sich einmal an, und Abmelden in der Kopfzeile beendet die Sitzung.
- Verliert die Seite ihre Verbindung zum Server, zeigt eine Leiste Verbindung zum Server verloren — wird wiederhergestellt…, bis sie wieder besteht; die Konsole vermerkt beides.
- Berichte der Durchläufe, Exporte und Mitschnitte des Inspektors lädt der Browser herunter, statt einen Pfad anzuzeigen.
- „Über Signal Lab“ hat keine Updates: Der Server wird mit seinem Image aktualisiert.
Alles, was die Seite eines Servers tut, geschieht auf dem Server: Der Verkehr geht von ihm aus, Monitore empfangen auf seinen Ports, Dateien landen in seinem Datenordner. Siehe Konzepte.
Sprachen
Die Flagge in der Kopfzeile zeigt die aktuelle Sprache und ihre zwei Buchstaben. Klicken Sie darauf, um die Liste aller Sprachen zu öffnen, jede mit ihrer Flagge und ihrem eigenen Namen, und wählen Sie eine. In der Liste bewegen ↑, ↓, Home und End die Auswahl, ein Buchstabe springt zur nächsten Sprache, die mit ihm beginnt — im eigenen Namen oder auf Englisch, sodass g Deutsch findet —, Enter wählt aus und Esc schließt die Liste.
Die Oberfläche wechselt sofort, ohne Neustart: jede Ansicht, jeder Tooltip und jeder Fehler, und auch die früheren Zeilen der Konsole. Beim ersten Start wählt Signal Lab die erste der Sprachen Ihres Systems, die es kennt, oder Englisch, und behält von da an Ihre Wahl — im Browser für diesen Browser.
Arabisch stellt das ganze Fenster auf rechts nach links um. Was Daten sind, bleibt so von links nach rechts, wie es geschrieben ist: Adressen, Hex-Dumps, Code und die Arbeitsfläche der Experimente.