Blog

Writing, links and notes

Fable 5 arbeitet im Goal Mode seit 13 Stunden daran, Packliste von SwiftData auf Core Data umzubauen.

SwiftData war am Anfang eine naheliegende Entscheidung. Jetzt wird sie mir beim Teilen von Listen zwischen verschiedenen iCloud-Accounts zum Verhängnis.

Also raus mit SwiftData und zurück zu Core Data. Nicht die Umstellung, die ich geplant hatte, aber wahrscheinlich die richtige.

Alles gepackt für Ägypten 🇪🇬 Morgen geht’s los.

Die einzige offene Frage auf der Liste: Kommt das MacBook mit oder bleibt es zu Hause?

Ein Teil von mir will Urlaub machen. Der andere würde wahrscheinlich doch irgendwo am Pool eine Idee für Packliste umsetzen. 😅

Was würdet ihr machen?

Frage an die deutschen iOS-Indie-Devs hier:

Was baut ihr gerade?

Ich bin neugierig, was bei euch auf dem Mac liegt: eine neue App, ein großes Update, eine Idee oder etwas ganz anderes?

Zeigt mal her 👋

Packliste wird gerade von 500 Menschen genutzt. 🎒

Angefangen hat sie als kleine Checkliste für unsere eigenen Campingtrips. Mittlerweile packen Menschen damit für ihre Reisen.

Das fühlt sich ehrlich gesagt ziemlich surreal an.

Danke an alle, die die App ausprobieren, Feedback schicken und sie wirklich mit auf Reise nehmen.

Wohin geht’s bei dir als Nächstes?

Ich debugge gerade das iCloud-Sharing von Listen in Packliste.

Von außen wirkt es wie eine kleine Funktion: Liste teilen, gemeinsam abhaken, fertig.

Drinnen sind es gerade deutlich mehr Sync-Zustände und Sonderfälle als gedacht.

Ich arbeite mich Stück für Stück durch. Wenn das sauber läuft, wird Packliste für gemeinsame Reisen ein gutes Stück besser.

Apple hat mich ins App Store Small Business Program aufgenommen.

Damit sinkt die Provision auf meine bezahlten Apps und In-App-Käufe auf 15 %.

Klingt erstmal nach einem kleinen Detail, macht als Indie-Entwickler aber einen echten Unterschied: Mehr von dem, was meine Apps einspielen, kann wieder in Updates, neue Ideen und die nächste App fließen.

Gerade macht mich das hier richtig glücklich.

Menschen benutzen Packliste wirklich. Nicht nur als Download, nicht nur als Zahl irgendwo in App Store Connect, sondern im Alltag.

Und dann nehmen sie sich sogar noch die Zeit, mir per Mail Feedback zu schicken.

Das ist so ein kleiner Indie-App-Moment, der sich größer anfühlt, als er von außen wahrscheinlich aussieht.

MacBook in einem Café mit Kaffee daneben. Auf dem Bildschirm ist ein dunkles Terminalfenster zu sehen; Remo arbeitet während einer Wartezeit an Packliste.

Ich sitze gerade im Café und warte darauf, dass der Tesla fertig wird.

Also wird aus der Wartezeit ein kleiner Packliste-Block: MacBook auf, Kaffee daneben, weiterbauen.

Gerade kamen auch zwei Kundenmails mit Feedback rein. Das ist immer noch der beste Teil an so einer kleinen App: echte Leute nutzen sie im Alltag, stolpern über Dinge, wünschen sich etwas oder sagen einfach, was ihnen hilft.

Die To-do-Liste wird dadurch nicht kürzer. Aber sie wird deutlich sinnvoller.

Ich arbeite gerade am Reorder-Feature für Listen, Kategorien und Items.

Eigentlich nur ziehen und sortieren. Aber genau diese kleinen Interaktionen entscheiden am Ende, ob sich eine App gut anfühlt.

Wenn man etwas verschiebt, gibt es jetzt auch leichtes haptisches Feedback. Kleines Detail, aber es macht sofort einen Unterschied.

Screenshot von Packliste auf einem iPhone. Zu sehen ist eine Liste „Work from Starbucks“ mit 30 Prozent Fortschritt und Einträgen wie MacBook, Ladegeräte, iPad, AirPods, Wasserflasche, Portmonee und Kappe.

Morgen habe ich eine längere Wartezeit, weil bei unserem Tesla die Heckscheibe gewechselt wird.

Also wird daraus wahrscheinlich ein kleiner Work-from-Starbucks-Block.

Dafür nutze ich Packliste gerade genau so, wie ich sie gebaut habe: vorher kurz alles eintragen, was ich brauche, damit ich morgen nicht ohne MacBook, Ladegerät oder AirPods dasitze und trotzdem an meinen Apps weiterbauen kann.

Genau für solche kleinen Alltagslisten mag ich die App selbst am meisten.

Das GitHub-Repo zu meinem kleinen Gravel-Planner ist jetzt online:

https://github.com/DerRemo/gravel-planner

Die Idee: eine persönliche Alternative zu RouteCycle, aber mit Fokus auf Gravel-Routen, weil ich beim Radfahren lieber Schotter und Nebenwege fahre als Hauptstraßen.

Ist noch früh und ziemlich Work in Progress, aber Feedback ist ausdrücklich erwünscht.

Fable 5 hat über Nacht eine persönliche Alternative zu RouteCycle für mich gebaut:

https://routecycle.com/

RouteCycle ist schon ziemlich nah an dem, was ich beim Radfahren haben will. Nur fehlt mir gerade der wichtigste Teil: Gravel-Routen.

Ich fahre lieber Schotter und Nebenwege als Hauptstraßen, einfach weil Verkehr auf dem Rad irgendwann nervt. Also habe ich mir eine kleine eigene Variante bauen lassen, die stärker in diese Richtung denkt.

GitHub-Repo folgt.

Ich glaube, Apps sollten wieder mehr eigene UI haben.

Nicht jede App muss aussehen wie System Settings mit drei SF-Symbolen und einer Liste.

Ich vermisse ein bisschen die Zeit vor iOS 7. Nicht unbedingt alles aus der skeuomorphen Ära, da war auch viel Quatsch dabei. Aber Apps hatten damals öfter eine eigene Idee, eine eigene Oberfläche, einen eigenen Charakter.

Heute fühlt sich App-Design oft sehr sauber und korrekt an. Das ist nicht grundsätzlich schlecht. Aber es ist auch ziemlich langweilig geworden.

Gerade Indie Apps müssen nicht so aussehen, als wären sie direkt aus einem Apple-Beispielprojekt gefallen. Wir haben eigentlich die Freiheit, Dinge kleiner, spezieller und persönlicher zu bauen.

Indie Devs, habt Mut, eure Apps einzigartiger zu machen.

Drei iPhone-Screenshots aus Packliste, die das Anlegen und Bearbeiten von immer eingepackten Gegenständen zeigen

Ich arbeite gerade an einer Funktion für Packliste, mit der man Dinge anlegen kann, die man immer einpackt.

Also alles, was bei fast jeder Reise wieder auftaucht: Zahnbürste, Ladekabel, Ausweis, Medikamente oder was auch immer zur eigenen Standardausrüstung gehört.

Diese Einträge werden dann automatisch zu jeder neuen Liste hinzugefügt. Man muss sie also nicht jedes Mal wieder suchen, kopieren oder neu anlegen.

Eigentlich ist das eine ziemlich kleine Funktion. Aber genau solche kleinen Stellen entscheiden oft, ob sich eine App im Alltag angenehm anfühlt oder ob sie jedes Mal wieder ein bisschen Arbeit macht.

Promo-Grafik für Packliste mit App-Icon, dem Text Nie wieder etwas vergessen und zwei iPhone-Mockups der App

Gerade ein Promo-Bild für Packliste gebaut.

Ich wollte ein Bild, das nicht nur einen App-Screenshot zeigt, sondern direkt erklärt, wofür Packliste da ist: fertige Vorlagen, Countdown bis zur Abreise und ein Haken für alles, was schon im Koffer ist.

Das klingt eigentlich simpel, aber gerade bei solchen Promo-Grafiken merkt man schnell, wie viel man weglassen muss. Zu viel UI macht das Bild unruhig. Zu wenig UI erklärt die App nicht mehr.

Der aktuelle Stand fühlt sich für mich ziemlich nah an dem an, was ich für Website, App Store und Posts nutzen kann.

Krankie Dashboard ist jetzt öffentlich:

https://github.com/DerRemo/krankie-dashboard

Krankie Dashboard sammelt App-Store-Daten und zeigt sie an einem Ort, damit man nicht ständig durch App Store Connect klicken muss.

Work in Progress sind gerade vor allem das Redesign, die visuelle Hierarchie und der Feinschliff am Overview. Ich will, dass sich das Dashboard weniger wie ein internes Tool und mehr wie ein kleines fertiges Produkt anfühlt.

Ich bin immer noch am Redesign vom Krankie Dashboard.

Funktional ist vieles schon da. Aber der schwierige Teil ist gerade, aus „zeigt Daten an“ ein Dashboard zu machen, das sich wie ein fertiges Produkt anfühlt.

Bei solchen Views merkt man schnell, wie viel Unterschied kleine Dinge machen: Abstände, visuelle Hierarchie, welche Metrik zuerst ins Auge fällt und ob man die wichtigsten App-Store-Daten wirklich ohne Nachdenken versteht.

Es ist viel Feinschliff. Nicht besonders spektakulär, aber wahrscheinlich genau der Teil, der am Ende entscheidet, ob ich mich mit dem Release wohlfühle.

https://github.com/timbroddin/krankie

Ich recherchiere gerade nach iPad mini Tastaturen.

Für den Urlaub wäre ein Setup aus iPad mini und kleiner Tastatur ziemlich nah an dem, was ich eigentlich suche: leicht genug, um es wirklich mitzunehmen, aber trotzdem brauchbar genug, um unterwegs an Projekten zu arbeiten.

Der spannende Teil ist für mich gerade nicht, direkt auf dem iPad zu entwickeln. Sondern Claude Code über Penates zu nutzen: https://penates.dev

Wenn das sauber funktioniert, wäre das ein sehr kleines Setup für Urlaub, Balkon, Campingplatz oder einfach Orte, an denen ich nicht direkt ein MacBook aufklappen will.

Vielleicht ist das endlich die Variante, die nicht nach zwei Tagen wieder nervt.

Heute gelernt: Im App Store gibt es nicht einfach „Promo-Codes“.

Es gibt Promo-Codes für die App selbst. Und wenn man einen In-App-Kauf oder „Pro“ freischalten will, braucht man Offer Codes. Das ist eine andere Stelle in App Store Connect, mit anderem Verhalten und natürlich auch anderen Links.

Ich bin genau in diese Falle gelaufen und hatte schon mehrere Apple-Blogs mit den falschen Codes angeschrieben. Die Codes hätten die App freigeschaltet, aber eben nicht Pro.

Also durfte ich das nochmal sauber vorbereiten und nochmal schreiben. Und als die richtigen Offer Codes dann da waren, funktionierten sie auch nicht sofort, weil Apple anscheinend noch etwas Zeit braucht, bis sie aktiv sind.

Ich habe es am Ende mit einem anderen Apple Account getestet und den Fehler gefunden. Aber puh. Beim nächsten Mal weiß ich sehr genau, welche Codes ich zuerst erstellen muss.

Gerahmter Screenshot des Krankie Dashboards mit zensierten Metriken

Ich arbeite gerade am Dashboard für Krankie:
https://github.com/timbroddin/krankie

Die eigentliche Funktion ist inzwischen weniger das Problem. Es geht gerade eher darum, dass sich das Dashboard nicht wie ein internes Tool anfühlt, sondern wie etwas, das ich bald guten Gewissens releasen kann.

Im Moment feile ich am Overview: Metriken, Abstände, visuelle Gewichtung und daran, dass man auf einen Blick versteht, wie die Apps gerade ranken.

Das ist immer dieser letzte, etwas zähe Teil vor einem Release. Nicht spektakulär, aber wichtig.