Vor zwei Wochen habe ich euch gezeigt, wie ich an Ham-Tools arbeite und warum Git dabei mein Logbuch ist. Heute möchte ich zeigen, was seitdem tatsächlich aus diesen Commits geworden ist. Denn es war ein dichter Monat – und am Ende steht nicht nur ein Update, sondern auch ein neues Projekt, über das ich zum ersten Mal öffentlich rede.
Fangen wir mit dem an, was ihr herunterladen könnt.
Contents
Zuerst das Wichtigste: Wenn du 1.32.0 installiert hast, lies das hier
Kurzer Dienst am Kunden, bevor ich ins Schwärmen komme.
Version 1.32.0 hatte einen bösen Fehler: Auf macOS 26.5.2 stürzt die App direkt beim Start ab, noch bevor überhaupt ein Fenster steht. Ursache war die Art, wie die neue Kartenengine ihre Daten lädt – das System lehnte das eingebettete Ressourcen-Bundle ab, und die App gab auf.
Das ist mit 1.32.1 behoben. Aber: Der Auto-Updater kommt gar nicht erst zum Zug, weil die App vorher crasht. Wer 1.32.0 erwischt hat, muss dieses eine Update von Hand installieren – das DMG liegt auf toolbox.funkwelt.net. Danach läuft alles wieder wie gewohnt.
Sorry dafür. Solche Fehler passieren, und ich rede lieber offen darüber, als sie in einer Fussnote zu verstecken.
LLOTA: Das Feature aus dem letzten Beitrag ist gelandet
Im Git-Artikel habe ich von einem Branch namens feature/llota-import erzählt, an dem ich gerade arbeite. Der ist inzwischen nicht nur gemerged – er hat unterwegs Kinder bekommen.
Ham-Tools kann sich jetzt bei Lakes and Lagoons on the Air selbst spotten. Als Aktivierer mit gesetztem Gewässer erscheint ein Knopf «Spot senden» direkt in der Session-Leiste: Call, Referenz, Frequenz, Mode, fertig. Der Spot landet in der Liste bei llota.app und ist für alle Jäger sichtbar.
Und dann gibt es noch den AutoSpot-Schalter, auf den ich ein bisschen stolz bin. Ist er an, wird nach jedem geloggten QSO automatisch neu gespottet. Das klingt banal, ist es aber nicht: Wenn du QSY machst, zieht dein Spot einfach mit. Du musst nicht mehr daran denken, und die Jäger finden dich trotzdem. Das Feedback läuft als kurze Statuszeile statt als Dialog – der Log-Flow soll nicht unterbrochen werden, wenn draussen gerade das Pile-up brummt.
Ein technisches Detail für die Interessierten: Der API-Schlüssel von llota.app steckt nicht in der App. Er liegt auf meinem Server, und Ham-Tools spricht über einen eigenen Proxy. So wollte es das LLOTA-Team, und es hat einen praktischen Vorteil: Wird der Schlüssel gewechselt, braucht es kein App-Update.
Dazu kam eine überarbeitete Callbook-Suche mit Callook.info als drittem Dienst – kostenlos, ohne Konto, direkt aus der FCC-Datenbank für US-Rufzeichen. Und die Schalter, mit denen du festlegst, welche Felder automatisch befüllt werden, tun jetzt endlich das, was auf ihnen steht.
Und dann musste ich mir eine Weltkarte bauen
Jetzt zum Teil, mit dem ich nicht gerechnet hatte.
Ein Tester – HB9HJL, der mir in den letzten Wochen erstaunlich viele Fehler ins Netz getrieben hat – schrieb mir einen schlichten Satz: «Man kann nicht rauszoomen, bis man die ganze Welt sieht.»
Ich dachte: Kleinigkeit. Zoom-Grenze hochsetzen, fertig.
War es nicht. Apples MapKit kann prinzipbedingt keine ganze Welt darstellen. Bei 180 Grad Längengrad-Spanne ist Schluss, die Kamera lässt sich nicht weiter zurückziehen. Ich habe das durchgemessen, in beiden Karten-APIs, in 2D und in 3D. Es gibt keinen Schalter. Es geht einfach nicht.
Da stand ich also vor der Wahl: dem Tester sagen «geht nicht» – oder selber bauen.
Du weisst, wie das ausgeht. Es ist wie mit einer Antenne, die es fertig nicht in der Form gibt, die du brauchst: Irgendwann liegt der Lötkolben auf dem Tisch, und du machst es halt selbst.
Grayline-Karte und DX-Weltkarte zeichnen sich in Ham-Tools jetzt selbst. Eigene Projektion, eigene Kartendaten (Natural Earth, gemeinfrei), drei Detailstufen: In der Weltsicht schlanke Umrisse, näher dran 242 Länder mit sauberen Grenzen, und ganz nah kommen die Gewässer – Bodensee, Zürichsee, Thunersee, Vierwaldstättersee. 465 Seen, 895 Flüsse, 1251 Städte, alles mit Kollisionsvermeidung bei den Beschriftungen, damit dir kein Ortsname deinen DX-Spot überdruckt.
Die Grayline zeigt jetzt immer die ganze Welt. Kein Zoomen mehr, du siehst sofort, wo die Dämmerungslinie gerade steht.
Und weil eine eigene Engine plötzlich alles erlaubt, kam in 1.32.1 gleich hinterher, was auf einer Funkerkarte hingehört: das Maidenhead-Gitter in drei Stufen (Felder, Squares, Subsquares – bis runter auf JN47pn), dazu die CQ-Zonen und die ITU-Zonen als eigenes Overlay-Menü.

Zoomst du hinein, wird die Karte detaillierter, ohne dass die Overlays verloren gehen – Städte, Ländernamen und Grenzen kommen dazu, die Spots behalten ihre Beschriftung.

Danke an die Tester
Ein Wort dazu, weil es mir wichtig ist. Ein grosser Teil der Fixes in den letzten Wochen – der Karten-Pin, der stehen blieb, das Grayline-Fenster, das nicht auf ein 15-Zoll-Display passte, die CAT-Verbindung, die beim VFO-Wechsel abriss, das Funkgerät, das über WLAN «verbunden, aber tot» war – all das kam nicht von mir. Das kam von Leuten, die die App benutzen und sich die Mühe machen, mir zu schreiben.
Software wird nicht am Schreibtisch gut. Sie wird gut, wenn jemand sie im Feld benutzt und danach ehrlich sagt, was nervt.
Neu in der Werkstatt: Skywave
Und damit zum neuen Projekt.
Skywave ist ein Winlink-Client für den Mac. Nativ, schlank, ohne Windows-Kiste und ohne Zusatzhardware. Winlink-Nachrichten lesen und senden, über Internet, direkt vom Mac.
Darunter liegt WinlinkKit – eine Swift-Implementierung des Winlink-Protokolls, die ich als eigenständiges Paket gebaut habe. Das ist dieselbe Arbeitsweise wie bei Ham-Tools mit ADIFCore: Die Protokoll-Logik lebt für sich, ohne Oberfläche. Die App ist nur die dünne Haut darüber.
Der Vorteil dieser Trennung ist der eigentliche Plan: Was in Skywave läuft, kann Ham-Tools später einfach übernehmen. Kein Nachbauen, nur Einbauen.

So sieht Skywave heute aus:

Ordner links, Nachrichtenliste in der Mitte, Lesebereich rechts – so, wie man es von einem Mailprogramm auf dem Mac erwartet. Posteingang, Entwürfe, Postausgang, Gesendet, Papierkorb, dazu eigene Ordner. Antworten, allen antworten, weiterleiten. Eine Suche. Nichts davon ist spektakulär – und genau das ist der Punkt. Ein Mailprogramm soll sich wie ein Mailprogramm anfühlen, nicht wie ein Funk-Experiment.
Dazu eine eigene Kontaktverwaltung, in der das Rufzeichen die Winlink-Adresse ist – mit Favoriten, Gruppen, QTH und Locator.

Und jetzt der Stand der Dinge, ehrlich: Skywave ist fertig gebaut – aber noch nicht veröffentlicht.
Die App läuft. Sie ist signiert, notarisiert, das DMG ist gebaut und getestet. Technisch könnte ich sie heute Abend hochladen.
Woran es hängt, ist etwas, das nicht auf meinem Schreibtisch liegt: Skywave braucht von Winlink noch die Freischaltung, um im Produktivbetrieb sauber mitzuspielen. Solange die nicht da ist, verteile ich die App nicht – ich will euch kein Programm in die Hand drücken, das euch dann an der Gegenstelle abblitzen lässt.
Deshalb zeige ich sie euch heute, nenne aber bewusst kein Datum. Sobald die Freischaltung da ist, hört ihr es hier zuerst.
Der Funkbetrieb über die Bänder ist übrigens noch nicht dabei, und das ist Absicht – auf dem Mac fehlt dafür schlicht ein nativer Modem-Pfad. Mein Plan geht dort über UKW zuerst, HF später. Aber das ist eine Geschichte für einen eigenen Artikel.
Wie es weitergeht
Ham-Tools bekommt weiter, was die Tester melden. Und Skywave steht in den Startlöchern – es wartet nur noch auf grünes Licht von Winlink.
Wenn du Winlink nutzt und dir ein nativer Mac-Client etwas bedeuten würde: Schreib mir. Ich will wissen, was du davon erwartest, bevor ich die falschen Dinge baue. Und wenn dir in Ham-Tools etwas fehlt oder nervt: erst recht schreiben.
Die besten Ideen der letzten Wochen kamen alle von aussen. Das soll so bleiben.
73 de Chris, HB9HJI