VSI ČLANKI

MOBILNE APLIKACIJE · CULLBOX

Cullbox: kako naredimo izbor 3.000 fotografij znosen

Fotograf s poroke prinese domov 3.000 posnetkov, naročnik jih vidi 300. Vmes je najbolj zamudno opravilo v poklicu. Tukaj je, kako ga rešujemo — in zakaj je tehnično težje, kot izgleda.

Cullbox: kako naredimo izbor 3.000 fotografij znosen

Fotograf s poroke prinese domov med 2.000 in 4.000 posnetkov. Naročnik jih bo videl 300. Med enim in drugim je delo, ki mu fotografi pravijo culling — izbor. In prav ta izbor je najbolj zamudni, najmanj ustvarjalni in najslabše podprti del poklica.

Cullbox je naša aplikacija, ki ta korak postavi na telefon in tablico. Trenutno je v razvoju; tukaj opisujemo, kaj gradimo in zakaj je to tehnično precej težje, kot izgleda.

Zakaj je izbor fotografij težaven problem

Na prvi pogled gre za pregledovanje slik. V resnici gre za tri probleme hkrati:

  1. Količina. 3.000 datotek RAW je 90 GB. Tega ni mogoče preprosto naložiti in prikazati.
  2. Hitrost. Če je med dvema posnetkoma zamik pol sekunde, izbor 3.000 posnetkov traja 25 minut samo čakanja. Prehod mora biti trenuten.
  3. Natančnost. Odločitev »ostri oči ali ne« zahteva pogled na 100-odstotni povečavi. Predogled v nizki ločljivosti tega ne pokaže.

Kako rešujemo hitrost

Ključ je v tem, da se posnetek nikoli ne odpira takrat, ko ga fotograf pogleda. Aplikacija dela v treh plasteh:

Vse to se izvaja v ločenih nitih, da se vmesnik nikoli ne zatakne. Zatikanje pri listanju je edina napaka, ki jo fotograf ne odpusti.

V RAZVOJU

Cullbox — izbor fotografij za fotografe

Tisoče posnetkov, pregledanih v nekaj minutah: takojšnji predogledi, ocenjevanje s potegom prsta, zaznavanje dvojnikov in izvoz izbora v obdelavo.

Kako delamo mobilne aplikacije →

Ocenjevanje, ki ne prekine ritma

Fotografi ocenjujejo na dva načina: z zastavicami (obdrži / zavrzi) ali z zvezdicami (1–5). Cullbox podpira oba, vendar z eno razliko — ocena se odda s potegom prsta, ne s pritiskom na majhen gumb.

Poteg navzgor obdrži, navzdol zavrže, v stran preskoči. Roka ostane na istem mestu, pogled na sliki. Pri 3.000 posnetkih ta razlika prihrani več kot pol ure.

Vsako dejanje je mogoče razveljaviti, tudi sto korakov nazaj. Napačen poteg je pri tej hitrosti neizogiben; nevarnost ni napaka, ampak nepovratna napaka.

Skupine podobnih posnetkov

Pri hitrem zaporedju nastane deset skoraj enakih posnetkov. Fotograf hoče najboljšega med njimi, ne vsakega posebej.

Cullbox posnetke združi v skupine po dveh merilih: po času zajema (posnetki v isti sekundi ali dveh) in po podobnosti vsebine — ta se izračuna iz zmanjšane različice slike, brez pošiljanja česar koli na strežnik. Znotraj skupine aplikacija predlaga tistega z najostrejšo izbrano točko, odločitev pa ostane fotografova.

Programska oprema pri izboru ne sme odločati. Sme le poskrbeti, da fotograf desetkrat ne odloči o isti stvari.

Kaj se zgodi z izborom

Izbor je uporaben le, če pride v obdelavo. Zato Cullbox izvaža na tri načine:

Zasebnost kot zasnova, ne kot obljuba

Fotografije s poroke ali družinskega snemanja so med najbolj občutljivim gradivom, kar ga kdo hrani. Zato Cullbox ne nalaga posnetkov nikamor. Vsa obdelava — predogledi, izračun podobnosti, ocenjevanje — se zgodi na napravi. Aplikacija za osnovno delovanje ne potrebuje niti internetne povezave.

To je tudi tehnično zahtevnejša pot: brez strežnika mora vse teči dovolj hitro na napravi, ki ima omejen pomnilnik in baterijo. Prav zato je večina orodij v tem segmentu namiznih.

Kaj to pomeni, če razmišljate o svoji aplikaciji

Cullbox je dober primer projekta, kjer je 90 odstotkov dela nevidnega: upravljanje pomnilnika, predpomnjenje, delo v nitih, obnovitev seje po prekinitvi. Vidni del — zaslon s sliko in poteg prsta — je nekaj dni dela.

Če ocenjujete ponudbe za mobilno aplikacijo, je to najboljše vprašanje, ki ga lahko postavite: kaj se zgodi, ko je podatkov desetkrat več, kot smo predvideli? Odgovor pove več kot celotna predstavitev.

Kako izgleda cel postopek do objave, smo opisali na primeru našega produkta, ki je že v App Storu: kako aplikacija pride v App Store.