Clutch Developer
SV
Boka ett samtal

Navigering

Språk

Cleaner Go: hitta dubbla foton utan att ladda upp dem

Kundarbete med LabHouse: likhetsbedömning över ett helt fotobibliotek på enheten, följt av en granskningsvy där varje beslut kan behållas, raderas eller ångras.

Cleaner Go frigör lagring på en iPhone. Appen skannar kamerarullen på enheten, grupperar dubbla och nästan identiska foton, visar skärmbilder och seriebilder och låter användaren granska resultatet med ett svep — höger för att behålla, vänster för att radera. Ett rutnät med liknande foton ger ett annat sätt att välja vilken bild som ska behållas. Samma produkt har också videokomprimering, ett privat valv och rensning av inkorgen. Inget raderas utan granskning, och fotomatchningen kräver inte att biblioteket laddas upp.

Kundarbete. Clutch Developer bidrar med mobilutveckling till den här appen tillsammans med LabHouse och Inés Salvans. Appen tillhör Labhouse Mobile.

App Storelabhouse.io

Vad appen gör

  • Identifiering av dubbla och liknande foton i hela biblioteket, där uppenbara dubbletter, visuellt liknande bilder, skärmbilder och seriebilder grupperas för ett mänskligt beslut.
  • Svepgranskning — behåll eller radera ett beslut i taget, välj en bild att behålla från ett rutnät med liknande foton och ångra när ett svep behöver korrigeras.
  • Videokomprimering som låter människor välja stora klipp att minska, medan originalet förblir under deras kontroll och lagringstrycket minskar.
  • Ett privat valv för foton och videor som ska hållas utanför huvudbiblioteket, skyddat av appens privata åtkomstflöde.
  • Rensning av inkorgen, eftersom nyhetsbrev och reklambilagor kan ta plats även när kamerarullen inte är det enda problemet.
  • Cleaner Go — det enkla sättet att rensa en iPhone med lagring, dubbletter och inkorg
  • Cleaner Go — lagringsöversikt för foton, skärminspelningar och video
  • Cleaner Go — grupper av dubbla foton samlade för granskning med massradering
  • Cleaner Go — svepgranskning med behåll, radera och ångra
Skärmbilder från App Store-sidan.

Den svåra delen

Exakta dubbletter är enkla — hasha filen och jämför. Det är inte den användbara funktionen. Den användbara funktionen är nästan-dubbletter: flera bilder från samma serie, samma foto som sparats om av en meddelandeapp med annan komprimering eller en skärmbild som beskurits lite annorlunda. Filerna har olika byte, men är uppenbart samma bild för en människa. Användaren behöver ett grupperat förslag, ett tydligt val av vilken bild som ska behållas och ett återställbart beslut, inte en lista med hashträffar som fortfarande måste tolkas från början.

Det kräver att man jämför uppfattat innehåll snarare än bara filidentitet, och kostnaden växer snabbt med bibliotekets storlek. En naiv implementation jämför varje foto med alla andra, vilket blir kvadratiskt och snabbt slösaktigt. Det praktiska arbetet är att reducera varje bild till en kompakt signatur, använda kandidatgrupper så att bara rimliga par möts och jämföra kandidaterna utan att upprepade gånger avkoda varje bild i full upplösning. Resultatet måste gruppera liknande bilder tillräckligt väl och lämna det slutliga beslutet hos personen som tog dem.

Sedan måste arbetet rymmas i en telefon. Den första skanningen går igenom hela biblioteket, är den dyraste delen av upplevelsen och sker när en ny användare har minst tålamod. Framstegen måste synas, tusentals bilder i full upplösning får inte hållas i minnet och appen måste bete sig rimligt när den hamnar i bakgrunden eller enheten börjar hantera värme och batteri. Efter skanningen måste användaren dessutom få en begriplig granskningsyta: grupper, val av bild att behålla, svepbeslut, ångra och ett uttryckligt bekräftelsesteg.

Gränsen för lokal analys är specifik. Fotoskanning och likhetsarbete sker på enheten, så biblioteket behöver inte laddas upp till en server för matchningen. Det ska inte omvandlas till ett generellt påstående om att appen saknar all datahantering: den offentliga integritetsdelen i App Store listar separat identifierare, användning och diagnostik samt supportrelaterade data. Det korrekta påståendet i den här fallstudien gäller var den tunga fotoanalysen körs.

Det här kräver det

  • Perceptuella signaturer per bild, inte bara filhashar — billiga att beräkna och jämföra.
  • Kandidatgrupper så att jämförelsen inte blir kvadratisk över ett stort bibliotek.
  • Nedskalad avkodning så att minnet hålls under kontroll även när källbilderna har hög upplösning.
  • Inkrementell bearbetning som håller gränssnittet responsivt medan enheten skannar och komprimerar.
  • Inget destruktivt utan granskning — grupperade förslag, uttrycklig bekräftelse, val av bild att behålla och ångra.

Det här är vad prestandaarbete i native apputveckling faktiskt innebär: inte att mikrooptimera en renderingsloop, utan att välja en algoritm och en granskningsprocess vars kostnad och risk ryms i en telefon du inte kontrollerar. Leveransen lyckas när det tunga arbetet försvinner bakom ett beslut som användaren förstår.

Omfattning och projektroll

Clutch Developer bidrog med mobilutveckling till den här kundägda appen, bland annat gruppering av foton på enheten och granskningsflödet som beskrivs här. Labhouse Mobile äger appen; Labhouse och Inés Salvans anges i krediteringen ovan. Fallet beskriver det bidraget, inte ensam upphovsrätt till hela produkten.

Belägg och begränsningar

De sparade appskärmbilderna visar lagringsöversikter och åtgärder för att granska foton; den länkade butikssidan beskriver matchning på enheten. Det gör gränssnittet och den publicerade informationen möjliga att granska, men är ingen oberoende kontroll av träffsäkerhet, hastighet eller säkerhet. Radering kräver fortfarande användarens granskning och bekräftelse.

Relaterat