knuspermagier.de
Hallo. Ich bins! Philipp!

AbUndZuTodo

Es gibt ja so ein paar Todos im Haushalt, die man in regelmäßigen Abständen mal erledigen sollte, wo es aber auch nicht so wichtig ist, dass es tatsächlich an einem bestimmten Tag passiert, wie zum Beispiel:

  • Geschirrspüler reinigen
  • Waschmaschine mal auf 95°C durchlaufen lassen
  • Kühlschrank putzen
  • Den Filter im Staubsauger putzen oder ersetzen

Jahrelang hatte mein Kopf Probleme damit, diese Sachen zu managen. Schreibt man sie gar nich auf, macht man es tendenziell nie. Oder halt, wenn die Waschmaschine anfängt zu riechen, aber dann hat man vielleicht gerade keine Zeit, oder keine Zitronensäure da, oder was auch immer. Zudem weiß man auch nicht mehr genau, wann man die Dinge zuletzt erledigte. Muss ich schon wieder den Kopf der Zahnbürste tauschen, war das nicht erst vor einer Woche?

Der normale Weg wäre es wahrscheinlich, diese Todos einfach in die normale Todo-App als wiederkehrende Aufgaben aufzunehmen, oder sie in den Kalender zu schreiben. Das regelte ich eine Zeit lang so, aber es machte mir einfach zu viel Druck, diese Todos immer zu sehen, wenn man seinem Tag nachgeht.

Alles erledigt für heute, aber der Geschirrspüler will noch gereinigt werden, was aber eigentlich auch nicht so wichtig ist. Hakt man es doch ab, um den Mental Load los zu sein, kommt es aber erst einen Monat später wieder, was vielleicht doch etwas spät ist.

Manche Todo-Apps haben vielleicht eine “Snooze” funktion, mit der man sowas mal drei Tage verschieben kann, das wäre vielleicht eine alternative Möglichkeit, der ich nicht nach ging

Wie gesagt geistert das wirklich lange in meiner “kann man mal kurz ausprobieren”-Liste im Kopf rum, aber ich wollte es immer als native iOS-App und da ist meine Hürde des “mal eben ausprobierens” immer recht hoch gewesen. Ihr könnt aber sicher schon ahnen, für wen die Hürde sehr gering ist, genau: Claude AI.

Ich legte also ein neues Xcode-Projekt an, nannte es AbUndZuTodo, was ich einen bestechend guten Namen finde, und ließ Claude mal mit folgendem Prompt loslegen:

Hello. I want to build an ios app for tracking todo items that only occur sometimes. stuff like cleaning the dishwasher or washing machine. stuff that you do maybe once a month but where it is not really important to do it exactly then. in the app i want to create tasks and give them a name and a rough range when to to ("once month", "once a week") and in the overview it should show when the task was done the last time and when it should be done again. the frontend should be swift ui the backend/storage layer swiftdata. please ask clarifying questions.

Er fragte noch ein paar Dinge, wie welche Farben ich möchte und ob es Notifications geben soll. Ich sagte erstmal ja zu allem. Nach wenigen Minuten hatte ich eine fertige App, die erstmal nicht kompilieren wollte. Nach ein Bisschen hin- und her und Fehlermeldungen kopieren, gab ich auf und kam auf die zeitsparende Idee:

can you try to compile the source yourself and fix all issues until it works?

Es funktionierte. Eine App, die ich starten kann! Die nächsten Stunden verbrachte ich damit, es auch auf meinem Handy zum Laufen zu bekommen, gegen das ganze Code Signing kann auch die beste AI nichts ausrichten.

Folgende Prompts schob ich noch nach um das Endergebnis zu erreichen. Ich hab sie jetzt einmal aus der JSON-Datei entnommen, die Claude dankenswerterweise speichert. Es wäre natürlich schön, hätte ich von jedem Step noch Screenshots, um das alles besser zu dokumentieren, aber mehr habe ich nicht!

Zuerst wollte ich einen Settingsscreen um mir Testdaten zu seeden:

please add a settings screen. on this screen add a button "delete all data and add demo data" the button should delete all data and add demo data (5 fitting tasks with fitting invervals, prefilled with some fitting completions in the past)

Als nächstes iterierte ich etwas in der Haupt-Übersicht. Zuerst waren erst alle AbUndZuTodos einfach untereinander. Ich ließ es ihn erstmal gruppieren. (Außerdem wollte ich keine stressigen Notifications mehr)

good. now update the main list. group the tasks in two groups: "open" (all tasks that are due now or in < 5 days) and "done" (all tasks that were recently completed). also remove all things relating to notifications, i do not want notifications anymore.

Claude hatte sich das etwas komisch überlegt. Nach links swipen öffnete ein Popover mit der zum Todo gehörenden Historie, nach rechts swipen löschte ihn, das wollte ich so nicht.

change the ui. use swipe to the left to complete the task. use a tap to open the "history". add the edit/delete buttons to the history sheet.

Hier gab es noch mehr Möglichkeit zum gruppieren, da mir immer mehr Todos einfielen und es unübersichtlich wurde. Außerdem wollte ich aktuell nicht relevante Todos nicht mehr sehen.

done tasks should be shown collapsed by default (add a "open" button to show them). all open tasks should be groupable by "area". add a propety "area" (like kitchen, garage, etc) to tasks. adjust the demo data accordingly

Da war noch so ein roter Punkt drin, der mir zu viel Druck machte.

remove the colored dot from the rows and make them a bit tighter

Letzte UI-Iteration: Aktuell nicht relevante Todos werden in einen anderen Tab ausgelagert.

another try: add a tabbar at the bottom with 2 tabs: active and done. put all the done tasks on the done tab


Das war es auch schon. Ich nutze die App jetzt schon seit ein paar Wochen, habe einige Todos angelegt und auch schon das ein oder andere tatsächlich erledigt, es ist quasi genau so wie ich es mir vorgestellt habe und insgesamt war es eine Arbeit von einer Stunde, davon 30 Minuten Code Signing und 25 Minuten auf Claude warten.

abundzutodo2.png
Ja, man müsste es mal noch etwas “hübsch” machen, das sieht doch etwas sehr langweilig grau aus.

Es ist schon eine verrückte Welt. Selbst, wenn ich jetzt feststellen würde, dass die App totaler Quatsch ist und ich es lasse, brauch ich nichtmal ein schlechtes Gewissen zu haben, dass ich Zeit für die Implementierung verschwendet habe.

Ja, okay, ich hab im Gegenzug auch nicht viel neues über Swift UI gelernt, da ich nicht tief in den Code einstieg, aber dafür hatte ich gefühlt mehr Zeit und Lust mir darüber Gedanken zu machen, wie die App funktionieren soll, ohne davon beeinflusst zu sein, dass etwas in mir sagt “ähh nee, ich bau das jetzt nicht um, das dauert viel zu lang, ich lass das jetzt in diesem halb-fertigen Zustand”.


Sollte sich die App weiter als nützlich herausstellen werde ich im nächsten Schritt versuchen da Cloudkit Sharing einbauen zu lassen, was ja recht nützlich sein könnte, wenn man nicht die Einzige Person im Haushalt ist, die sich um diese Dinge kümmert. Mal sehen, ob er das schafft. Wenn ja, könnte ich mich auch noch darum kümmern das ganze Rund zu machen und mal in den Store zu laden, vielleicht denkt ja noch jemand so wie ich.

Kommentare, Feedback und andere Anmerkungen?
Schreib mir eine E-Mail 🤓