Verhaal

Tidy is terug: het verhaal achter onze volledige herbouw na 6 jaar

12 min leestijd
Tidy Team
Tidy App Icon
v2.0 NEW RELEASE

Als je dit leest, is er een kans dat je Tidy nog herinnert. Misschien heb je het in 2018 of 2019 gebruikt. Misschien heb je door honderden foto’s geswiped, je galerij opgeruimd met een beweging van je duim. Misschien heb je een review achtergelaten. Als dat zo is, bedankt. We hebben ze allemaal gelezen.

Lees ook: Wat is nieuw in Tidy 2.1 en 2.2: Sorteren naar albums, wekelijkse uitdagingen en meer

En toen verdwenen we.

Zes jaar lang stond Tidy onaangeroerd in de App Store. Geen updates. Geen nieuwe functies. Geen communicatie. De app werkte nog steeds, grotendeels, maar de wereld eromheen bleef bewegen. iOS evolueerde. Telefoons kregen betere camera’s (en grotere fotobibliotheken). Nieuwe apps kwamen en gingen. En Tidy zat daar gewoon... stil.

Lees ook: Foto's organiseren op iPhone: De complete gids (2026)

Vandaag verandert dat. Tidy v2.0 is een volledige herbouw vanaf nul. Geen update. Geen opfrisbeurt. Een volledig nieuwe app, van de grond af opgebouwd met moderne technologie, nieuwe functies en alles wat we hebben geleerd in de jaren sinds onze eerste lancering.

Lees ook: Hoe AI je dubbele en vergelijkbare foto's vindt (en waarom het beter is dan handmatig zoeken)

Dit is het verhaal van hoe we hier zijn gekomen.

De originele Tidy: 4,8 sterren en 723 reviews

Tidy werd gelanceerd in 2018 met een simpel uitgangspunt: je fotobibliotheek opruimen zou moeten aanvoelen als een spel. Swipe naar rechts om een foto te bewaren. Swipe naar links om hem te verwijderen. Geen ingewikkelde menu’s, geen mappensystemen, geen organisatieframeworks. Gewoon snelle, instinctieve beslissingen die de rommel opruimen.

De reactie verraste ons. Binnen maanden had Tidy honderden reviews verzameld met een gemiddelde beoordeling van 4,8 van de 5 sterren. Tegen de tijd dat we 723 reviews bereikten, was het patroon duidelijk: mensen hielden van het swipe-mechanisme. Ze hielden van hoe snel het was. Ze hielden ervan dat het een saaie taak leuk maakte.

Tidy in cijfers

  • 4,8 Sterrenbeoordeling
  • 723 Reviews
  • 31 Talen
  • 2018 Lanceerjaar

Gebruikers vertelden ons dingen als “dit is de app waarvan ik niet wist dat ik hem nodig had” en “ik heb 3.000 foto’s opgeruimd in één middag.” De app was vertaald in 31 talen. Hij verscheen in App Store-highlights in meerdere landen. Voor een kleine indie-app met een gericht doel presteerde hij ver boven zijn gewicht.

De originele Tidy was gebouwd in Swift 4, met het MVC-architectuurpatroon dat standaard was voor iOS-ontwikkeling in die tijd. Het was een solide app voor zijn tijdperk. Maar technologie beweegt snel, en tegen 2019 begonnen de scheuren zichtbaar te worden.

Waarom we 6 jaar stil waren

Het eerlijke antwoord is: het leven gebeurde.

Tidy werd gebouwd door een klein team, en toen prioriteiten verschoven - zoals dat gaat bij indie-ontwikkelaars - zakte de app naar de bodem van de lijst. Er was geen dramatisch verhaal, geen overname, geen afsluitingsbeslissing. Gewoon de langzame afdrijving die gebeurt wanneer een zijproject geen aandacht meer krijgt.

Ondertussen bleef het gat groeien tussen waar Tidy was en waar het moest zijn:

  • SwiftUI arriveerde in 2019 en rijpte snel, waardoor UIKit-gebaseerde interfaces gedateerd aanvoelden
  • Fotobibliotheken explodeerden in grootte. De gemiddelde iPhone-gebruiker ging van 2.000-5.000 foto’s naar 10.000-50.000
  • AI en machine learning gingen van experimenteel naar verwacht. Gebruikers begonnen te verwachten dat apps slim waren
  • iOS-widgets en Live Activities creëerden nieuwe oppervlakken die apps geacht werden te ondersteunen
  • Privacyverwachtingen namen dramatisch toe, waarbij gebruikers verwerkingen op het apparaat en transparantie eisten
  • Swift zelf evolueerde door versies 5.0 tot 6.0, met strikte concurrency en nieuwe taalfuncties

Tegen de tijd dat we serieus naar Tidy keken, was de originele codebase archeologisch. Swift 4-code die niet zou compileren met moderne toolchains. UIKit-patronen die twee keer waren vervangen. Een architectuur die geen van de functies kon ondersteunen die gebruikers nu verwachtten.

We hadden twee keuzes: proberen de oude codebase te patchen en bij te werken, of opnieuw beginnen.

De beslissing om vanaf nul te herbouwen

We kozen voor herbouwen. Hier is waarom.

De oude Tidy bijwerken zou hebben betekend: Swift 4-code porten naar Swift 6, de hele UI herschrijven van UIKit naar SwiftUI, de MVC-architectuur vervangen door iets moderns, nieuwe Apple-frameworks toevoegen (Vision, Core ML, StoreKit 2, WidgetKit), en dit alles op de een of andere manier laten samenwerken zonder de bestaande app te breken.

In softwareontwikkeling is er een beroemd essay van Joel Spolsky genaamd “Things You Should Never Do, Part I,” dat betoogt dat herschrijven vanaf nul bijna altijd een vergissing is. En voor de meeste projecten heeft hij gelijk. Maar Tidy was de uitzondering:

  • Nul gedeelde code - Na evaluatie van de oude codebase schatten we dat minder dan 5% van de originele code hergebruikt kon worden. De taal was te veel veranderd, de frameworks waren compleet anders en de architectuur was incompatibel
  • Ander platform - De originele Tidy richtte zich op iOS 11. De nieuwe Tidy richt zich op iOS 18. Dit zijn in feite verschillende platforms met verschillende mogelijkheden, ontwerptalen en gebruikersverwachtingen
  • Uitgebreide scope - De originele Tidy deed één ding: swipen om op te ruimen. De nieuwe Tidy had AI-filters, een foto-editor, vergelijkmodus, gamification, widgets, Live Activities en meer nodig. Proberen dit alles op de oude architectuur te schroeven zou zijn als verdiepingen toevoegen aan een eenlaags huis door ze op het dak te stapelen
  • Schone basis voor de toekomst - Opnieuw beginnen betekende dat we vanaf dag één Swift 6 strikte concurrency konden adopteren, SwiftData konden gebruiken in plaats van Core Data, een goede Clean Architecture konden implementeren en een basis konden bouwen die jarenlange toekomstige ontwikkeling zou ondersteunen

De herbouw was geen snelle beslissing. We besteedden weken aan het evalueren van de oude code, prototypen in beide richtingen (bijwerken vs. herschrijven), en concludeerden uiteindelijk dat een herbouw vanaf de grond sneller, schoner zou zijn en zou resulteren in een betere app dan elke poging om het origineel te moderniseren.

Tidy App Icon

Ready to clean your gallery?

Download Tidy and start swiping. AI-powered duplicate detection, smart filters, and a photo editor built in.

Alles nieuw in Tidy v2.0

Dus wat hebben we gebouwd? Hier is elke grote functie en verbetering in de nieuwe Tidy.

SwiftUI-herschrijving voor modern iOS

De hele app is gebouwd met SwiftUI, Apple’s moderne declaratieve UI-framework. Dit betekent vloeiende animaties, native ondersteuning voor Dynamic Type (toegankelijke tekstgrootte), automatische Dark Mode-ondersteuning en een consistente, gepolijste look op elk scherm. De UI voelt alsof hij thuishoort op iOS 18 omdat hij er specifiek voor is gebouwd.

AI-aangedreven slimme filters

Dit is de grootste toevoeging aan Tidy’s kernervaring. In plaats van handmatig door je hele fotobibliotheek te scrollen, kun je nu AI-aangedreven filters gebruiken om specifieke soorten foto’s te vinden die waarschijnlijk kandidaten zijn voor opruiming:

  • Wazige foto’s - AI identificeert foto’s met bewegingsonscherpte, camerabewegingen of gemiste focus
  • Lage kwaliteit - Detecteert slecht belichte, overgecomprimeerde of anderszins lage-kwaliteit beelden
  • Vergelijkbare foto’s - Groepeert bijna identieke foto’s met behulp van perceptuele hashing, zodat je de beste kunt kiezen en de rest kunt verwijderen
  • Duplicaten - Vindt exacte en bijna-exacte duplicaten op basis van metadata en visuele gelijkenis
  • Beste opnames - In een groep vergelijkbare foto’s stelt AI de scherpste, best samengestelde optie voor
  • Hulpmiddelen - Identificeert screenshots, bonnetjes, documenten en andere “hulp”-foto’s die je waarschijnlijk niet voor altijd hoeft te bewaren

Alle AI-verwerking gebeurt op je apparaat met behulp van Apple’s Core ML en Vision-frameworks. Er worden geen foto’s naar een server geüpload. De analyse draait op de achtergrond terwijl je telefoon ‘s nachts oplaadt, zodat het klaar is wanneer jij dat bent.

Volledige foto-editor met 29 filters

Tidy v2.0 bevat een complete fotobewerkingssuite. Dit is geen eenvoudige helderheid/contrast-editor - het is een professioneel bewerkingssysteem met vijf categorieën:

  • Aanpassen - 10 aanpassingsschuifregelaars inclusief belichting, hooglichten, schaduwen, contrast, verzadiging, warmte, scherpte, korrel en achtergrondvervaging
  • Beauty - 6 natuurlijke beautytools met lichaamspositieve boodschappen (Skin Smooth, Portrait Light, Eye Brighten, Face Slim, Eye Enlarge, Lip Plump)
  • Retoucheren - Healing brush en tandverblekingstools voor gerichte correcties
  • FX - 29 creatieve filters variërend van subtiele filmemulaties tot gedurfde artistieke effecten
  • AI - Super-resolution opschaling en AI-aangedreven stijltransfer-effecten

De editor bevat ongedaan maken/opnieuw doen, een voor/na-vergelijkingsschuifregelaar en knijp-om-te-zoomen op het canvas. Elke bewerking is niet-destructief, en je kunt opslaan als nieuwe kopie of het origineel vervangen.

Vergelijkmodus

Een van de meest gevraagde functies voor de originele Tidy was de mogelijkheid om vergelijkbare foto’s naast elkaar te vergelijken. Tidy v2.0 levert dit met een speciale Vergelijkmodus die een miniatuurstrip bevat voor snel bladeren, knijp-om-te-zoomen voor detailinspectie en een voor/na-schuifregelaar voor het evalueren van bewerkingen.

Gamification

De originele Tidy maakte opruimen leuk via het swipe-mechanisme. Tidy v2.0 gaat verder met een volledig gamification-systeem:

  • Sessiestatistieken - Foto’s beoordeeld, bewaard, verwijderd en tijd voor elke sessie
  • Opruimreeksen - Dagelijkse en wekelijkse reeksbijhouding om momentum op te bouwen
  • Mijlpalen - Prestatiesysteem met confetti-animaties en haptische vieringen
  • Deelbare opruimkaarten - Mooie, deelklare samenvattingsgraphics voor sociale media

20 talen inclusief RTL

Tidy v2.0 lanceert met ondersteuning voor 20 talen: Engels, Hebreeuws, Arabisch, Perzisch, Russisch, Frans, Hindi, Roemeens, Spaans, Portugees, Duits, Italiaans, Japans, Koreaans, Nederlands, Pools, Thai, Turks, Vereenvoudigd Chinees en Traditioneel Chinees.

Drie van deze talen (Hebreeuws, Arabisch en Perzisch) zijn rechts-naar-links (RTL). Elk scherm in Tidy is ontworpen om correct te spiegelen voor RTL-gebruikers, inclusief het swipe-spel, de editor, de voor/na-schuifregelaar en alle navigatie-elementen. RTL-ondersteuning is geen bijzaak - het is ingebakken in de basis.

Interactieve Widgets en Live Activities

Interactieve Widgets laten je een opruimsessie starten vanaf je startscherm met één tik. Live Activities tonen je opruimvoortgang op het vergrendelscherm en Dynamic Island in realtime. Samen verminderen ze de wrijving tussen “ik zou mijn foto’s moeten opruimen” en het daadwerkelijk doen.

Gold-abonnement

Tidy v2.0 is gratis te downloaden en te gebruiken. Het kernswipe-spel, basisfilters en fotovergelijking zijn allemaal gratis beschikbaar. Voor gebruikers die meer willen, ontgrendelt Tidy Gold:

  • Alle AI-aangedreven slimme filters (wazige detectie, vergelijkbare foto’s, beste opnames, hulpmiddelen)
  • Volledige foto-editor met alle 29 filters en beautytools
  • Geavanceerde gamification-functies
  • Geen advertenties

Gold is beschikbaar als abonnement van 1 maand, 3 maanden of 6 maanden. We hebben voor dit model gekozen omdat het onze belangen op één lijn brengt met die van jou: we slagen alleen als jij Tidy waardevol genoeg vindt om te blijven gebruiken.

Technische uitdagingen van de herbouw

Een app vanaf nul herbouwen klinkt bevrijdend, en dat is het - in het begin. Maar het brengt ook zijn eigen uitdagingen met zich mee. Hier zijn enkele van de meest significante technische hindernissen die we tegenkwamen.

Swift 6 Strikte Concurrency

Swift 6 introduceerde strikte concurrency-controle, wat betekent dat de compiler thread-veiligheid afdwingt tijdens het bouwen. Dit is geweldig voor het voorkomen van bugs maar ongelooflijk veeleisend tijdens de ontwikkeling. Elk stuk gedeelde veranderlijke staat moet beschermd worden door een actor, gemarkeerd als Sendable, of geïsoleerd naar de hoofdthread.

Voor een foto-app is dit bijzonder uitdagend omdat fotoverwerking inherent concurrent is. Miniaturen laden, AI-analyse uitvoeren, filters toepassen, bewerkingen opslaan - al deze bewerkingen vinden plaats op achtergrondthreads terwijl de UI bijwerkt op de hoofdthread. Het concurrency-model goed krijgen vergde aanzienlijke inspanning, maar het resultaat is een app die vrijwel crashvrij is als het gaat om threading-problemen.

Perceptuele hashing voor vergelijkbare fotodetectie

Vergelijkbare foto’s vinden klinkt eenvoudig totdat je het op schaal probeert te implementeren. Tidy gebruikt een techniek genaamd perceptuele hashing (pHash) om foto’s visueel te vergelijken. Elke foto wordt gereduceerd tot een 64-bit hash die de visuele inhoud vertegenwoordigt, en foto’s met vergelijkbare hashes worden gegroepeerd.

De uitdaging was het afstemmen van de gelijkenisdrempel. Te strikt, en gerelateerde foto’s worden niet gegroepeerd. Te los, en ongerelateerde foto’s komen in dezelfde groep terecht. We besloten tot een Hamming-afstandsdrempel van 10 voor standaardvergelijkingen en 14 voor burstfoto’s (genomen binnen 10 seconden van elkaar), met een maximale groepsdiameter van 14 om te voorkomen dat clusters te groot worden.

We moesten ook het juiste clusteringalgoritme kiezen. Een eenvoudige greedy-aanpak zou soms gerelateerde foto’s in aparte groepen splitsen. We implementeerden in plaats daarvan Union-Find-clustering, dat connected components correct identificeert en de diameterbeperking alleen toepast op te grote groepen. Het resultaat zijn natuurlijke, intuïtieve fotogroeperingen.

AI-verwerking op het apparaat

AI-modellen op het apparaat draaien brengt een constante afweging met zich mee tussen nauwkeurigheid en prestatie. Een model dat 2 seconden per foto duurt is onbruikbaar wanneer je 30.000 foto’s te analyseren hebt. Een model dat in 10 milliseconden per foto draait is misschien niet nauwkeurig genoeg om nuttig te zijn.

We losten dit op met achtergrondverwerking. Tidy gebruikt iOS BGProcessingTasks om de volledige AI-analyse ‘s nachts uit te voeren terwijl je telefoon oplaadt en verbonden is met WiFi. De analyse omvat wazigheidsdetectie, kwaliteitsscoring, gelijkenishashing en gezichtsdetectie - allemaal verwerkt met hoge nauwkeurigheid omdat er geen tijdsdruk is. Tegen de ochtend zijn je resultaten klaar.

Voor realtime functies (zoals de beauty-editor) gebruiken we geoptimaliseerde pipelines die wat kwaliteit opofferen voor snelheid. De beautytools draaien op interactieve framerates omdat ze Apple’s Metal GPU-shaders en Core Image-filters gebruiken, die hardware-versneld zijn op alle moderne iPhones.

Metal Shaders voor gezichtsvervorming

De beautytools die gezichtskenmerken hervormen (Face Slim, Eye Enlarge, Lip Plump) gebruiken Metal CIWarpKernel-shaders voor realtime mesh-vervorming. Het schrijven van deze shaders vereiste werken in een beperkte subset van de Metal Shading Language die compatibel is met Core Image’s pipeline.

Een bijzonder lastige bug betrof de kaaklijvervorming. De initiële implementatie plaatste het vervormingsanker op de verkeerde verticale coördinaat (het voorhoofd in plaats van de kin), waardoor Face Slim het verkeerde deel van het gezicht hervormde. Het vergde zorgvuldige studie van het coördinatensysteem van Vision-framework’s gezichtslandmarken om de positionering goed te krijgen.

RTL-layout-ondersteuning

Rechts-naar-links-talen ondersteunen gaat over meer dan tekstuitlijning spiegelen. Elk interactief element moet correct werken in beide richtingen. Het swipe-spel (“swipe rechts om te bewaren, links om te verwijderen”) behoudt zijn semantische betekenis in RTL - de gebaren blijven hetzelfde omdat ze gebaseerd zijn op bewaren/verwijderen-semantiek, niet op links/rechts-richting. De voor/na-schuifregelaar in de foto-editor spiegelt correct van richting. Navigatiestromen draaien om. En elke layout-constraint werd getest in zowel LTR- als RTL-modus.

Wat komt er hierna

Tidy v2.0 is een basis, geen eindstreep. Hier is een voorproefje van waar we aan werken voor komende releases:

  • Bijsnij- en draaitools - Komt in v2.1, met rechtmaakgidsen en beeldverhoudingspresets
  • Siri en App Intents-integratie - “Hey Siri, start een foto-opruimsessie” zal direct werken
  • Videocompressie - Verminder de grootte van grote videobestanden met behoud van kwaliteit
  • Opruimuitdagingen - Wekelijkse en maandelijkse uitdagingen met thematische doelen (bijv. “Screenshot Opruimweek”)
  • Ruimtevoorspelling - AI-voorspellingen voor wanneer je telefoon geen opslag meer heeft op basis van je fotoneempatronen
  • Meer AI-filters - Inclusief een meme-detectiefilter en verbeterde categorisering

We verkennen ook integratie met Apple’s Foundation Models API voor natuurlijke taalzoekopdrachten op het apparaat (bijv. “toon me foto’s van mijn hond op het strand”), hoewel dit afhangt van Apple’s uitroltijdlijn voor de API.

Ons doel is om elke 4-6 weken zinvolle updates uit te brengen. We gaan niet opnieuw stil worden.

Dank aan onze community

Voordat we afronden, willen we iets direct zeggen tegen de mensen die de originele Tidy gebruikten en dit misschien lezen.

Bedankt voor de reviews. Bedankt voor de functieverzoeken. Bedankt voor de bugrapporten. Bedankt voor de tweets en de berichten en de aanbevelingen aan vrienden. Jullie hebben iets speciaals gebouwd rond een simpele app, en we zijn er dankbaar voor.

We weten dat zes jaar stilte een lange tijd is. We weten dat vertrouwen, eenmaal gebroken, moeite kost om te herbouwen. We zijn toegewijd om het terug te verdienen - niet met beloften, maar met consistente updates, transparante communicatie en een app die steeds beter wordt.

Als je de originele Tidy hebt gebruikt, zouden we je graag terugzien. Download v2.0, probeer het uit en laat ons weten wat je ervan vindt. Jouw feedback heeft de eerste versie van Tidy gevormd, en het zal elke versie vormen die volgt.

En als je nieuw bent bij Tidy - welkom. Je sluit je aan bij het begin van iets waar we echt trots op zijn. We hopen dat je het leuk vindt.

Het beste moment om je fotobibliotheek op te ruimen was zes jaar geleden. Het op één na beste moment is nu.

Wil je ontdekken wat de nieuwe Tidy kan? Begin met onze gidsen over natuurlijke beautyfilters, foto’s naast elkaar vergelijken, een opruimgewoonte opbouwen met gamification en widgets en Live Activities gebruiken voor opruimen met snelle toegang.

Tidy App Icon

Ready to clean your gallery?

Download Tidy and start swiping. AI-powered duplicate detection, smart filters, and a photo editor built in.