Wat betekent "vernieuwbaar"
De meeste iPhone-gebruikers weten instinctief dat je door naar beneden te trekken, de inhoud in veel apps vernieuwt — dat is de klassieke pull-to-refresh beweging, precies wat we bedoelen met “vernieuwbaar.” Eerdere versies van Splync ondersteunden deze functie niet. De enige manier om het scherm te verversen was door de app te sluiten en opnieuw te openen. Dit was niet al te hinderlijk, omdat je sinds Splync v1.3 ingelogd blijft, maar ideaal was het niet. Omdat Splync de gemakkelijkste gedeelde budget tracker wil zijn, moet het vernieuwen van het scherm moeiteloos aanvoelen. Daarom hebben we pull-to-refresh in v1.10 geïntroduceerd, waardoor Splync volledig vernieuwbaar is.
Twee manieren waarop Splync je gegevens vernieuwt (Volledige Herlaad / Weergave Update)
Op het Startscherm — waar je je profielfoto, vriendenlijst en projectenlijst ziet — zorgt pull-to-refresh voor een volledige herlaad. Het haalt alle accountgerelateerde gegevens opnieuw op, vergelijkbaar met uitloggen en weer inloggen. Hierdoor kan de vernieuwing ongeveer een seconde duren terwijl het laadbericht wordt weergegeven. Op een Projectscherm, waar je uitgavenlijst staat, triggert dezelfde beweging een lichtere weergave-update. Alleen de project-specifieke gegevens worden vernieuwd, zoals categorie- en uitgavenwijzigingen. Je hoeft niet een volle seconde te wachten om te zien of iemand een nieuwe uitgave heeft toegevoegd. Let op: Splync haalt niet automatisch projectgegevens van de server op de achtergrond op. De app controleert op updates alleen wanneer je wijzigingen aanbrengt, een uitgave opent om de details te bekijken, of wanneer je de projectpagina handmatig vernieuwt.
Waarom geen realtime synchronisatie
Sommige gebruikers verwachten misschien dat projectupdates direct verschijnen wanneer een vriend een nieuwe uitgave toevoegt. Realtime synchronisatie klinkt handig, maar het heeft belangrijke nadelen. Continue achtergrondupdates vereisen meer batterij, meer mobiele data, en een complexere serververbinding die de app voor iedereen kan vertragen. Splync’s on-demand aanpak houdt de ervaring licht en responsief, en voorkomt dat het scherm plotseling verandert terwijl je je budget bekijkt. Er zijn ook veiligheids overwegingen. Een constante verbinding met de server verhoogt het risico op ongeautoriseerde toegang en vereist extra authenticatielogica die op de achtergrond draait. Door alleen te vernieuwen wanneer je actie onderneemt, minimaliseert Splync onnodige netwerkactiviteit en blijft de toegang tot gegevens voorspelbaarder en gecontroleerd.
Achter de code van .refreshable
In het begin dacht ik dat deze update eenvoudig zou zijn. In Swift, de taal die gebruikt wordt voor iOS-ontwikkeling, kun je pull-to-refresh inschakelen door de .refreshable modifier aan een ScrollView of List toe te voegen. Het werkte echter niet zoals ik had verwacht. Na verder onderzoek ontdekte ik de oorzaak. Ik wilde pull-to-refresh toevoegen aan het gehele bovenste scherm, dat de vriendenlijst en projectenlijst bevat. Maar in het originele ontwerp waren beide componenten ook scrollbaar. Daardoor wist .refreshable niet tot welke scrollbare ruimte het behoorde, en werd de beweging niet consistent gedetecteerd. Om dit op te lossen, heb ik de vriendenlijst en projectenlijst zo herstructureren dat ze niet langer op zichzelf scrollbaar zijn. Dit is veilig omdat de bovenste weergave zelf scrollt wanneer de inhoud groter is dan de schermhoogte. Nadat ik de structuur vereenvoudigde en ervoor zorgde dat er maar één scrollbare container was, werkte .refreshable precies zoals bedoeld. Ik heb ook een standaard vernieuwknop toegevoegd zodat gebruikers gewoon kunnen tikken om te vernieuwen.
Werkt trekken niet voor jou? Trek iets verder
In de meeste iOS-apps activeert pull-to-refresh niet direct wanneer je begint te slepen. SwiftUI heeft een ingebouwde drempel voor bewegingen: het systeem wacht tot je een bepaalde afstand naar beneden trekt voordat de vernieuwing wordt geactiveerd. Dit voorkomt per ongeluk updates als je gewoon begint te scrollen vanaf de bovenkant van het scherm. Splync volgt dit standaardgedrag. Je zult merken dat een korte trekbeweging de inhoud niet ververst, maar een iets langere trek — genoeg om de vernieuwing indicator te laten verschijnen — zal de update activeren. Dit ontwerp houdt interacties opzettelijk. Het vermijdt ongewenste vernieuwingen, vooral op schermen waar gebruikers vaak door lange lijsten met uitgaven of projecten scrollen. Zodra je iets over de bovenrand trekt en de indicator verschijnt, begint de vernieuwing zodra je je vinger loslaat. Het is een klein detail, maar het draagt bij aan een soepelere en meer voorspelbare ervaring. Ter verduidelijking: het gaat niet om langer trekken of meer druk uitoefenen. Het gaat erom dat je een langere afstand trekt.
Een kleine functie, zorgvuldig ontwikkeld
Pull-to-refresh lijkt misschien een kleine interactie, maar de ontwikkeling ervan omvatte ontwerpkeuzes, technische herstructureringen, en een verrassend aantal overwegingen achter de schermen. Splync v1.10 laat het vernieuwen van je gegevens natuurlijk, opzettelijk en voorspelbaar aanvoelen — precies zoals het hoort in de gemakkelijkste gedeelde budget app. Ik hoop dat deze update je een soepelere ervaring geeft en een kijkje in de zorg die in elk detail gaat. Bedankt voor het gebruik van Splync.