GPN24 Fahrplan

meine erste iOS App

Eine inoffizielle iPhone- und Apple Watch-App für den Fahrplan der Gulaschprogrammiernacht 24. Entstanden aus ein bisschen Frust – und als Anlass, ein paar Dinge auszuprobieren.

Warum eine eigene App?

Aufgrund der vielen Vorträge und der verwendeten Stylesheets war die Darstellung der Agenda einfach zu breit. Man mußte auf Smartphones zu viel hin- und herscrollen.

Also bin ich das als persönliches Projekt angegangen: Nicht weil es unbedingt nötig gewesen wäre – andere Fahrplan-Apps gibt es durchaus – sondern weil ich ein paar Dinge ausprobieren wollte, die schon länger auf meiner Liste standen: eine Apple Watch Companion App, Live Activities auf dem Sperrbildschirm und die Dynamic Island.

Das Ergebnis ist nun sogar im App Store verfügbar. Yeah! Meine erste App!

Was ich dabei unterschätzt hatte: Apple nimmt sich für die Prüfung neuer Apps mehrere Tage Zeit – manchmal länger. Da die Konferenz einen festen Termin hat, war es schlicht ein Wettlauf gegen die Uhr. Den Review-Prozess rechtzeitig zu überstehen war am Ende fast genauso aufwendig wie die Entwicklung selbst.

Was kann die App?

Die Bilder zeigen die App, wie sie nun verfügbar ist:

Tagesübersicht
Stundenplan
Detailansicht
  • Interaktiver Stundenplan mit horizontalem Raumlayout und vertikaler Zeitachse
  • Tagesübersicht mit allen Konferenztagen und Anzahl der Programmpunkte
  • Detailansicht mit Abstract, Beschreibung, Referenten und externem Link
  • Favoriten mit lokaler Persistenz und automatischen Erinnerungen
  • Volltextsuche über Titel, Referenten, Raum und Track
  • Lageplan des Veranstaltungsorts (leider gab es kein passendes Bild - also bleibt es beim Platzhalter)
  • Live Activity auf dem Sperrbildschirm und in der Dynamic Island

Apple Watch

Die App hat eine vollwertige watchOS Companion App – kein reines Spiegelbild des iPhones, sondern eine eigenständige Ansicht, die auf das kleine Display optimiert ist.

Apple Watch App
  • Chronologische Vortragsliste optimiert für das Watch-Display
  • Favoriten-Sync vom iPhone über WatchConnectivity
  • Natürlich auch Anzeige der Favoriten, die man auf dem iPhone ausgewählt hat
  • Live-Countdown und Fortschrittsbalken für gerade laufende Vorträge

Technische Details

  • Plattform: iOS 17+, watchOS 10+
  • Framework: SwiftUI, Observation, ActivityKit, WidgetKit, WatchConnectivity
  • Datenquelle: Offizieller Pretalx-Export der GPN 24 (cfp.gulas.ch)
  • Datenhaltung: Lokaler JSON-Cache, UserDefaults für Favoriten – keine eigene Server-Infrastruktur nötig
  • Architektur: @Observable ViewModel, @MainActor-isolierte Services

Die Fahrplandaten und alle Programminhalte gehören dem Entropia e.V.. Diese App ist ein privates Hobbyprojekt ohne kommerzielle Absicht.

Beim Schreiben und vor allem dem Troubleshooting hat mir übrigens Claude geholfen. Will ich nicht mehr missen als Assistenz.

Die Sache mit dem App Store

Natürlich wollte ich die App auch möglichst vielen Teilnehmern zur Verfügung stellen. Da es meine erste App war, die ich in den Store gebracht habe war mir nicht klar, wie lange das dauern kann. Apple sieht einen Genehmigungsprozess vor, der auch mal 48 Stunden dauern kann. (WTF? Da ist die Konferenz ja rum?)

Man darf aber auch einen “expedited Request” stellen, damit werden Freigaben dann bevorzugt bearbeitet. Und so war es am Freitag zu weit, dass ich die App in den Store bringen konnte. Wer wollte, konnte auch die Neuesten Versionen per “Testflight” ausprobieren, hier werden neue Versionen deutlich schneller zur Verfügung gestellt. Damit hat es dann funktioniert, dass mehr Menschen die App testen können

Ausblick

Die App ist so gebaut, dass das Pretalx Format des Planungstools generisch gelesen werden kann. So ist die Anpassung der App für zukünftige Events ganz einfach. Nächstes mal starte ich dann eher mit dem Publishing in den App Store… :-)