knuspermagier.de
Hallo. Ich bins! Philipp!

BetterReminders (2)

Wie versprochen ein paar weitere Gedanken zu diesem kleinen SwiftUI-Experiment.

Mein Ziel ist es ja irgendwie, eine brauchbare App zu bekommen, an der ich auch tatsächlich mehr Spaß habe, als an der originalen Reminders-App. Ich will alles ein kleines bisschen mehr so haben, wie Things das macht. Allerdings habe ich mir auch ein paar Grenzen gesetzt, da ich auch nicht ein zu großes Fass aufmachen wollte.

Weiterlesen →

Ein Jahr R6

Seit fast einem Jahr habe ich nun die EOS R6. Eigentlich war ich ja ein großer Fan der EOS RP, die musste ich im Zuge meines Jobwechsels aber abgegeben und, weil die Gelegenheit da war, habe ich halt auf die R6 gewechselt. Ich könnte kaum zufriedener sein!

Weiterlesen →

BetterReminders (1)

Seit einigen Monaten benutze ich Reminders.app, weil es die Einzige vernünftige Todo-App ist, bei der man Todo-Listen teilen kann. Jaja, es gibt noch Todoist und so, alles ausprobiert. Reminders funktioniert am Ende am Besten und ich bin ja auch immer sehr froh, wenn man die Apple-Standardapps benutzen kann. Also eigentlich wäre ich natürlich froher, könnte ich einfach Things nutzen, aber die wollen ja einfach kein Sharing einbauen.

Jedenfalls gibt es ein paar Sachen, die mich an Reminders sehr stark stören. Das mit Abstand Schlimmste ist es, dass die Checkboxen zum Abhaken rund sind. Wer bitte möchte sein Kreuzchen in einen Kreis machen. Also, gut, Wahlzettel sind auch immer so, aber bei Todolisten hat man ja keine Wahl, alles will erledigt werden!

Abgesehen davon gibt es noch so ein paar Kleinigkeiten. Zum Beispiel finde ich die Überschriften in SF UI Rounded irgendwie hässlich und — ja jetzt kommt endlich ein wirklicher Grund, der nicht nur visuell ist — die Smart-List-Funktion ist einfach ein bisschen zu dumm. Schön, dass ich Listen anlegen kann, um alle Todos mit einem Tag anzuzeigen, aber manchmal würde ich auch noch gerne ein “Todos die TAG nicht enthalten”, oder so, mit reinhauen. Geht nicht.

Außerdem habe ich gern visuell ein paar Trenner in der Listen-Übersicht und würde Listen, die gerade nicht relevant sind gerne ausblenden. Wenn ich… gerade im Urlaub bin, brauche ich die Arbeitsliste nicht zu sehen. Ebenfalls nicht sehen, möchte ich Todos mit einem Due Date, das in ferner Zukunft ist. Die Tatsache, dass ich etwas am 23.05.2023 erneuern muss, will zwar festgehalten werden, aber ich muss es nicht jedes mal sehen, wenn ich in meine Todoliste gucke.


Weil UARRR gerade so motiviert an seiner Swift-App schraubt, juckte es mir natürlich auch mal wieder in den Fingern und ich recherchierte mal etwas, ob ich gut an die Daten komme, und wie ich damit was anfangen kann. Natürlich guckte ich auch erstmal nach alternativen Reminders-Apps, die genau das schon tun, aber es ist eine furchtbare Sache, danach zu suchen, und dabei die tausend anderen normalen Todo-Apps auszublenden. Die einzige, die ich, bzw Markus fand, hatte auch runde Checkboxen, meine Güte.

Jedenfalls kommt man ganz gut an die Daten, denn das EventKit, das von Apple bereitgestellt wird hat da ein paar Schnittstellen im Angebot. Ich überlegte mir also ein kleines MVP und baute drauf los. Mittlerweile fällt es mir schon etwas leichter, liegt vielleicht auch daran, dass seit dem letzten Versuch nicht 23 neue Swift und SwiftUI-Versionen erschienen sind.

obsi.png
Screenshot aus meiner Obsidian-Notiz, ja runde Checkboxen, ich weiß, gräßlich.

Weil der Post jetzt schon ziemlich lang ist und ich daraus eh mal wieder eine ganze Strecke mache, werde ich jetzt nicht auf größere Details eingehen und das in folgenden Posts nachholen, aber natürlich darf ein Screenshot des aktuellen Ergebnisses nicht fehlen:

btrr.png

Besonders gefreut hat es mich, dass hier direkt auch eine Mac-App herausfällt. So konnte ich das Ding gut testen, ohne meine ganzen Reminder irgendwie in den Simulator zu kriegen. Der SwiftUI-NavigationView macht offensichtlich auch direkt eine coole Master-Detail-Ansicht. Man bekommt so viel geschenkt, was früher gefühlt eher anstrengend war.

Links sieht man auf jeden Fall schonmal die Liste der Todo-Listen, inklusive der Trenner-Funktion, die ich schon einbaute! (if(calendar.title == "---"), hochkomplex!)

Rechts habe ich bereits die Funktion eingebaut um Todos, die in ferner Zukunft liegen, auszublenden.


Im nächsten Post erzähle ich bald, auf welche Probleme ich stieß und was ich mir für Lösungen dafür ausdenke. Also, falls meine Motivation noch ein paar Tage hält. Stay tuned!

termine.baby

Ich hatte heute beim Mittag kochen etwas Zeit, schaute auf Twitter und fand diesen Tweet von Michel. Da die Tortellini eh vier Minuten brauchten um fertig zu ziehen dachte ich mir, warum baue ich das nicht mal schnell?

Also kurz eine HTML-Seite mit einem winzigen Formular aufgesetzt und ein süßes Babyfoto für den Hintergrund. Nun brauchte ich noch JavaScript um eine .ics-Datei zu erstellen. Hier unterlief mir ein Fehler, der mich etwas Zeit kostete: ich suchte zu erst nach “npm ical” und fand dieses Package. Nach dem Einbinden stellte ich fest, dass es leider keine .ics-Dateien erzeugt, die meine Calendar.app importieren will. Laut dem offiziellen Validator waren sie sogar kaputt!

Kurz verzweifelte ich, doch dann googelte ich nach “npm ics” und schwupps, fand ich das ics-Paket, welches wunderbar funktioniert. Dazu installierte ich noch file-saver um die erzeugte Datei komfortabel als Download auszuspielen. Keine Ahnung, ob die Browser eigentlich schon weit genug wären, das ohne so ein dickes quasi-Polyfill zu erledigen. Zu guter Letzt ergänzte date-fns das Trio der Dependencies in diesem riesigen Projekt.

Ich bastelte alles schnell zusammen und lies es von Parcel bundlen, einer wirklich tollen Software, die einfach das macht, was ich will, ohne, dass ich jemals eine Zeile Dokumentation gelesen hätte. Dass das Bundle am eine 400kb groß ist für diese minimale Funktion finde ich allerdings etwas fragwürdig, habe aber auch wirklich keine Lust, herauszufinden, warum.

Natürlich musste noch eine passende Domain her und ich habe ja einen kleinen Faible für diese ganzen verrückten TLDs, die es seit ein paar Jahren gibt. Das von Michel vorgeschlagene u.baby hätte leider fast 4.000€ gekostet, also entschied ich mich für termine.baby, auch ganz nett. Hier gab es die zweite zeitliche Verzögerung: Ich hab nur wenige Domains bei Namecheap, kannte das DNS-Tool nicht so gut und hab was in die falsche Zeile eingetragen, upsi!

Auftrag erteilt um 12:20, Fertigstellung um 15:00 und zwischendurch noch Mittag gekocht und gegessen, das ist ganz ok!

screenshot-2022-08-05-at-22.00.21.png

Nachdem Michel nun hoffentlich seine Termine exportiert hat, ist natürlich die Frage, was man jetzt damit macht. Es war lustig, ganz schnell was zusammen zu klöppeln, aber natürlich wäre es auch schade, wenn das jetzt so brach liegt — von alleine wird es wohl keiner finden. Vielleicht kaufe ich mal für fünf Euro ein bisschen Keyword-Werbung bei Google, es wird super bekannt und am Ende kann ich es für 1,2 Milliarden Euro an eltern.de verkaufen, das wäre es doch!


Wenn ihr auch eine Projekt-Idee habt, die sich hinter eine schöne Domain legen lässt, und die man kurz zwischendurch umsetzen kann, sagt Bescheid!

/uses

Lange Zeit wehrte ich mich gegen den Trend einer /uses-Page. Für alle, die die Blogosphäre nicht als ihr Wohnzimmer bezeichnen würden: Auf so einer Seite schreibt man, was man alles so benutzt. Also an Hardware, Software, etc.

Ich schaute mir solche Seiten zwar immer ganz gerne an, fand es aber zu langweilig, weil ich selber so ein 08/15-Setup habe, außerdem hat es immer so einen Angeber-Vibe, wenn man mit seiner Sammlung von teuren Apple-Geräten prahlt.

Nun hat Hans aber solch eine Seite und Stefan auch und naja, irgendwas in mir konnte sich dann doch nicht zurückhalten und ich musste in den letzten Tagen auch eine solche Seite anlegen, es hat mir einfach keine Ruhe gelassen. Hier ist also knuspermagier.de/uses. Natürlich ist so eine Seite nie komplett fertig, da einem ständig neue Dinge einfallen, die man so benutzt, aber man muss ja mal einen Punkt machen zwischendurch und außerdem will ich mich endlich etwas Neuem widmen!

Better (3)

Na, erinnert ihr euch noch an Better?

Im Jahre 2013 baute ich mal eine App, mit der ich versuchte meine Bargeldausgaben besser zu tracken. Damals waren meine Hauptkategorien dafür noch “Restaurant”, “Bar” und “Taxi”. Viele Grüße an meine wilde Vergangenheit.

In den letzten Monaten fiel mir mal wieder auf, dass ich hier und da öfters was Bar bezahlte, weil es irgendwie nicht anders ging, und dass es mal wieder schön wäre, einen Überblick zu bekommen. Normalerweise wäre meine Reaktion da ja, halt schnell was zu programmieren, aber mir fiel ein, dass ich da ja schonmal was programmiert hatte.

Ich fand also das Github-Repository von Better, checkte es aus und versuchte es zu compilieren. Also erstmal versuchte ich die Dependencies, also AFNetworking, per Cocoapods zu installieren, aber das schlug direkt fehl, mit einem schlimm aussehenden Ruby-Komplettfehler. Aber naja, eine Dependency kriegt man doch hin, dachte ich und lud die gute alte Version 1.3.1 von AFNetworking und band sie direkt ein, leider auch ohne Erfolg. Das ganze scheint unter arm64 nicht so compilieren oder so. Keine Ahnung. Ich wollte ja hauptsächlich mal sehen, ob ich das neuere Design jemals umsetzte, daher löschte ich schnell den ganzen Synchronisierungs-Code (zum Glück alles in eine Datei gekapselt, nice!) und schwupps lief dieses NEUN JAHRE alte Projekt einfach im iPhone 13 Simulator. Schon irgendwie cool.

screenshot-2022-08-01-at-22.36.02.png

Leider hatte ich das Design nie umgesetzt. Irgendwie hatte ich mir das wesentlich hübscher in Erinnerung behalten. Egal. Ich werde jetzt doch mal kurz die Augen in den AppStore werfen und gucken, ob es eine andere hübsche App zum Bargeld-Tracking gibt, oder mir zur Not was in der Shortcuts-App schreiben, was mir die Sachen in ein Bear-Dokument kippt. Oder so. Meine Ansprüche sind über die Jahre ja gesunken. War aber schön zu sehen, dass auch uralter Kram theoretisch noch läuft!


Update: Ich fand noch den ios7-redesign-Branch! Leider wurde er wohl nie fertig.

screenshot-2022-08-01-at-22.42.51.png

Es ist aber alles wirklich komisch, denn in einem Kopf war das Design gaaanz anders.


(Benutzt jemand eine App zum Bargeld tracken? Wenn ja, welche?)

Ich habe mal eine Seite angelegt, auf der alle Kirby-Plugins aufgelistet sind, weil, keine Ahnung, ich mal ein bisschen sortieren wollte und auch ein bisschen an einer Art Portfolio arbeite. Ich dachte, es wären mehr als drei. Aber naja, es kommen noch ein paar dazu!