Clutch Developer
NL
Plan een gesprek

Navigatie

Taal

Cleaner Go: dubbele foto's vinden zonder ze te uploaden

Klantwerk met LabHouse: gelijkenisscores voor een hele fotobibliotheek op het apparaat, gevolgd door een controleflow waarin elke beslissing kan worden behouden, verwijderd of teruggedraaid.

Cleaner Go maakt ruimte vrij op een iPhone. De app scant de filmrol op het apparaat, groepeert dubbele en bijna identieke foto's, toont schermafbeeldingen en burstfoto's en laat de gebruiker het resultaat met een swipe beoordelen — naar rechts om te bewaren, naar links om te verwijderen. Een raster met vergelijkbare foto's geeft een andere manier om de foto te kiezen die blijft. Hetzelfde product biedt ook videocompressie, een privékluis en opschoning van de inbox. Er wordt niets verwijderd zonder controle en voor het matchen van foto's hoeft de bibliotheek niet te worden geüpload.

Klantwerk. Clutch Developer doet mobiele engineering voor deze app met LabHouse, samen met Inés Salvans. De app is van Labhouse Mobile.

App Storelabhouse.io

Wat de app doet

  • Dubbele en vergelijkbare foto's detecteren in de hele bibliotheek, met duidelijke duplicaten, visueel vergelijkbare foto's, schermafbeeldingen en burstbeelden gegroepeerd voor een menselijke beslissing.
  • Controle met swipes — één beslissing per keer bewaren of verwijderen, een blijver kiezen in een raster met vergelijkbare foto's en een swipe ongedaan maken als die moet worden gecorrigeerd.
  • Videocompressie waarmee mensen grote clips kunnen kiezen om te verkleinen. Het origineel blijft onder hun controle terwijl de druk op de opslag afneemt.
  • Een privékluis voor foto's en video's die buiten de hoofdbibliotheek moeten blijven, beschermd door de privétoegangsflow van de app.
  • Inbox opschonen, omdat nieuwsbrieven en promotionele bijlagen ruimte kunnen innemen, ook als de filmrol niet het enige probleem is.
  • Cleaner Go — de eenvoudige manier om een iPhone op te ruimen, met opslag, duplicaten en inboxopschoning
  • Cleaner Go — opslagoverzicht voor foto's, schermopnames en video
  • Cleaner Go — dubbele fotogroepen verzameld voor controle met bulk verwijderen
  • Cleaner Go — swipecontrole met bewaren, verwijderen en ongedaan maken
Schermafbeeldingen uit de App Store-vermelding.

Het moeilijke deel

Exacte duplicaten zijn eenvoudig: hash het bestand en vergelijk. Dat is niet de nuttige functie. Het nuttige zijn bijna-duplicaten: meerdere beelden uit één burst, dezelfde foto die door een berichtenapp met een andere compressie opnieuw is opgeslagen of een schermafbeelding die net anders is bijgesneden. De bestanden hebben andere bytes, maar zijn voor een mens duidelijk dezelfde afbeelding. De gebruiker heeft een gegroepeerde suggestie, een duidelijke keuze van de blijver en een omkeerbare beslissing nodig, geen lijst met hashmatches die opnieuw vanaf nul moet worden geïnterpreteerd.

Daarvoor moet je waargenomen inhoud vergelijken in plaats van alleen bestandsidentiteit, en de kosten groeien snel met de grootte van de bibliotheek. Een naïeve implementatie vergelijkt elke foto met elke andere, wat kwadratisch groeit en snel verspilling oplevert. Het praktische werk is elke afbeelding terugbrengen tot een compacte handtekening, kandidaatgroepen gebruiken zodat alleen plausibele paren elkaar ontmoeten en die kandidaten vergelijken zonder elk bestand steeds opnieuw in volledige resolutie te decoderen. Het resultaat moet vergelijkbare beelden goed genoeg groeperen terwijl de uiteindelijke beslissing bij de persoon blijft die ze heeft gemaakt.

Daarna moet alles binnen een telefoon passen. De eerste scan raakt de hele bibliotheek, is het duurste deel van de ervaring en gebeurt wanneer een nieuwe gebruiker het minste geduld heeft. De voortgang moet zichtbaar zijn, duizenden afbeeldingen in volledige resolutie mogen niet tegelijk het geheugen vasthouden en de app moet zich redelijk gedragen wanneer zij naar de achtergrond gaat of het apparaat warmte en batterij gaat beheren. Na het scannen moet de gebruiker bovendien een begrijpelijke controleflow krijgen: groepen, een keuze van de blijver, swipebeslissingen, ongedaan maken en een expliciete bevestigingsstap.

De grens van lokale analyse is specifiek. De fotoscan en het vergelijken van gelijkenis gebeuren op het apparaat, dus de bibliotheek hoeft voor het matchen niet naar een server te worden geüpload. Dat mag niet worden omgezet in een algemene claim dat de app helemaal geen datapraktijken heeft: het openbare privacygedeelte in de App Store noemt afzonderlijk identificatoren, gebruik en diagnostiek, plus gegevens rond ondersteuning. De precieze claim van deze case is waar de zware fotoanalyse plaatsvindt.

Wat dit vraagt

  • Perceptuele handtekeningen per afbeelding, niet alleen bestandshashes — goedkoop om te berekenen en te vergelijken.
  • Kandidaatgroepen zodat vergelijken op een grote bibliotheek niet kwadratisch groeit.
  • Decodering op lagere resolutie, zodat het geheugen beheersbaar blijft bij bronafbeeldingen met hoge resolutie.
  • Incrementele verwerking die de interface responsief houdt terwijl het apparaat scant en comprimeert.
  • Niets destructiefs zonder controle — gegroepeerde suggesties, expliciete bevestiging, keuze van de blijver en ongedaan maken.

Dit is hoe performancewerk in native app-ontwikkeling eruitziet: geen renderlus micro-optimaliseren, maar een algoritme en controleflow kiezen waarvan kosten en risico's passen binnen een telefoon die je niet beheert. De oplevering is geslaagd wanneer het zware werk verdwijnt achter een beslissing die de gebruiker begrijpt.

Omvang en projectrol

Clutch Developer leverde mobiele engineering voor deze app van de klant, waaronder het groeperen van foto’s op het apparaat en de beschreven beoordelingsflow. Labhouse Mobile is eigenaar van de app; Labhouse en Inés Salvans staan vermeld in de credit hierboven. Deze case beschrijft die bijdrage, niet het exclusieve auteurschap van het hele product.

Onderbouwing en grenzen

De bewaarde app-screenshots tonen opslagoverzichten en acties voor fotobeoordeling; de gelinkte storevermelding beschrijft de vergelijking op het apparaat. Zo zijn de zichtbare flow en gepubliceerde informatie te controleren, maar dit is geen onafhankelijke audit van nauwkeurigheid, snelheid of veiligheid. Verwijderen vereist nog steeds beoordeling en bevestiging door de gebruiker.

Gerelateerd