Audio zapis razgovora:
Transkript razgovora:
Ivan Minić: Poštovani slušaoci i gledaoci Pojačalo podkasta, dobro došli u dvadeset osmu epizodu. Ja sam vaš domaći Ivan Minić, a moj današnji gost je Aleksandar Vacić, moj dragi prijatelj i kolega, entuzijasta po pitanju kafe, naš najpoznatiji iOS developer, i da kažemo, Apple entuzijasta, na neki način.
Aleksandar Vacić: Nadam se da se ne vidi koliko se crvenim.
Ivan Minić: Uvek kada kad pričamo sa ljudima koji dođu, uvek napravimo neki intro koji se tiče njihovog odrastanja, obrazovanja i tako to. Iz kog ti bekgraunda dolaziš?
Aleksandar Vacić: Kako sad to objasniti. Moji su bili klasična radnička klasa. Ćale je bio viši inženjer, tako nešto, viša elektrotehnička škola. On je stalno pokušavao da me natera na te neke fizičke stvari, da se radi opipljivo. A ja sam nekako uvek naginjao ka nečemu što je crtanje, digitalno nešto da se radi. Počev od onih prvih, kako se zovu, one male formulice što se voze i ostalo. Ima anegdota kada me je pitao šta hoće da mi kupi za sve petice ako imam na kraju školske godine, tipa šesti razred. A ja kažem, hoću onu malu formulicu, svi drugari imaju, a ja nemam. I ono što mi je on kupio bio je bicikl petobrzinac. On je uvek išao na ono “samo malo da se mrdneš iz te sobe” i te fore. Mislim da je moj bekgraund je bio uvek tako nešto, digitalno. Uvek sam tome naginjao, i kad sam išao u školu i kad je bilo nešto u vezi sa rančunarima, uvek sam hvatao za gušu “daj mi to”. U osnovnoj školi imali smo blok nastavu gde je bio izbor između vožnje traktora, poljoprivrede i rada sa računarima, što su bili neki EI Niš Pecom 32. U pitanju je bio pandam Commodoru. Naravno, ja sam otišao na ovo (računare) drugo. Tu se već pokazalo koliko sam bio zagrižen za sve to, pošto je bila varijanta radiš 5 dana ful 6 časova, a ta onda blok nastava. I kad smo popodne u smeni, ja uveče uzmem od nastavnika taj računar i donesem kući. Onda sačekam da moji odgledaju svoje serije i dnevnike, šta ja znam, i negde oko 11 priključim ga na TV i onda tapa, tapa, tapa dok ne obnevidim. I onda ustanem u 7, da bi ga vratio u pola 8 kako bi bio tu za prepodnevnu smenu kojoj to treba za nastavu. Tako da je to bilo tih pet dana. Tako da, uvek sam imao te neke predispozicije. Tad je bila Amiga 500, na kojoj sam opet nešto pokušavao da radim, što je bilo nadrealno u to doba, negde 1989. To je značilo da nema dokumentacije, nema ničega, nema ništa, samo napadaš po onome i pokušavaš da nađeš. To je taj neki bekgraund gde sam stalno naginjao ka računarima. Na kraju su moji digli ruke, OK videli da ovaj hoće to da radi. Na kraju je ćale pitao, dobro koliko košta taj kompjuter koji hoćeš da kupiš. I svaki put kad me pita, ja mu kažem istu cenu. Kaže: “Čekaj, zar to nije jeftinije, rekao si kad prođe vreme to pojeftini?” Jeste, ali ja sam promenio konfiguraciju, sad je apgrejd, hoću aktuelnu stvar. Na kraju mi je kupio tu neku 486-icu, 1994. godine. Tu je otprilike bio kraj mog univerzitetskog školovanja, pošto kad sam dobio računar kod kuće to je bilo to.
Ivan Minić: Šta si uopšte studirao?
Aleksandar Vacić: Studirao sam ETF. Dao sam prvu godinu u roku, u junu. I onda mi kupe računar za to. I onda je tu bio kraj. Onda je to Sezampro, forumi. Tad se pojavio internet na ETF-u, pa sam visio u učionici, pa onda PPP i SLIRP protokoli dok nije bilo normalnog interneta. To je taj neki razvojni put. Ja sam uvek nekako pokušavao da nađem nešto što mene intimno obogaćuje, što je neko slikanje i neki umetnički rad, a sa druge strane nešto što je programiranje. Tako je moj prvi posao je bio u Sezamu kad sam napravio sajt o manekenkama. Šta će da radi dečko od 22 godine. Sajt o manekenkama devedesetih, Cindy Crawford i ta neka varijanta. Ja napravim web sajt i to mi je dalo posao webmastera u Sezamprou. Kao, šta si ti radio od web sajtova. Ovo. I to je to. Ima tih raznih momenta kada sam mogao da se bavim nečim drugim, ali me nije privlačilo. Uvek sam bežao od hardvera, iako su me svi gurali ka hardveru. Softver je ono što mene zanima, tako da idemo na tu stranu i… Vozi!
Ivan Minić: Pomenuo si to donekle, a upravo to mislim da je vrlo bitan momenat, da u vreme kada si ti učio i kada sam ja učio, pošto je to samo par godina razmaka, je zapravo bilo vrlo teško doći do bilo kakve dokumentacije, bilo kakve informacije, bilo kakve knjige smislene o svemu tome. O nekom tutorijalu, o nečemu sličnom na webu, da ne pričamo. Kako si ti zapravo učio? Odnosno, i kako si učio, i od čega si krenuo i zašto si od toga krenuo?
Aleksandar Vacić: Pa recimo u vreme kada sam imao Amigu 500, postojala je jedna jedina knjiga koja se bavila bilo čime u vezi sa Amigom. Uglavnom se svodila na to kako da je koristiš da startuješ igrice. I bilo je nešto malo kako da startuješ onaj Workbench Basic, ili kako se zvao onaj njihov, i tu onda kao kucaš nešto. Ali, u suštini, tu ništa nisam mogao da radim. Kasnije, kad sam imao PC računar, onda sam pokušao da učim nešto C, Pascall, znaš ono što imaš na ETF-u, predavanja koja moraš da prođeš. Ali, opet, sve je to bilo tako suvoparno i meni je bilo totalno strano da ti tu nešto pišeš na papiru, programiraš. Tako da je, meni prava stvar, kada sam krenuo baš da nešto učim, bila kad je došao web. Zato što si web mogao da uradiš u view source-u i onda vidiš kako se to pravi. I onda prčneš nešto lokalno na disku, startuješu u browseru i vidiš šta si promenio. Taj neki interaktivni način učenja je razlog zašto sam na kraju otišao na web, a ne u neko deseto programiranje. Zato što je sve ostalo bilo vrlo skupo i ja to nisam mogao da platim. Kursevi, knjige,… Da ne pričam, ne znam da li tad još bilo tih MSDN pretplata, to je koštalo boga oca. I da ne pričam, u Apple svetu je to koštalo još više. Oni su tada imali Select, Premier [developer program], i još neke stvari. Za sve to trebalo je para koje ja nisam imao i koje moji nisu imali da mi daju, jer iz sam Pirota, a plaćam život u Beogradu. Srećom, stanovao sam kod strica, ali opet je sve dosta skuplje nego u Pirotu. Tako da mi je web došao nekako prirodno, jer je sve bilo džabe, sve gledaš. Znam da je Dragan Sretenović, tadašnji webmaster ETF-ovog sajta, nalazio tamo negde, kako se nešto radi. Kažem “tamo negde”, jer u to vreme nismo još uvek imali pristup internetu. Pa on iskopira “tamo negde” kako da u Netscape Navigatoru nešto napraviš, pa ja vidim taj view source, pa kopiram kod sebe. Ja sam praktično ta dva sajta koja sam imao, jedan o Pirotu, jedan od manekenkama napravio koristeći ono što sam video na sajtovima ETF-a i FON-a. I to je bila škola. I sad probaš da izbunariš nešto. To je nadrealna situacija. HTML sve pušta, sve može. Nabadaš levo, probaš, ako si izrendrovao, dobro je, ne diraš, ideš dalje. Ali to je bilo učenje. Nije tu bilo nekog usmerenog kretanja, nego više onako potpuno haotična stvar i onda, ovde nešto naučim, ovde nešto vidim. Kasnije, kad samo se 1994. povezali zaista na svetsku mrežu, onda je sve zaista eksplodiralo. Jedan od mojih najsrećnijih momemata je bio kad sam se dočepao one čuvene knjige “Don’t make me think”. Bilo je – uuu, vidi šta sve može da se uradi, šta možeš da radiš sve sa web sajtovima. Tako da to mi je to bio način kako sam nešto učio. Ne znaju današnji klinci kako je to bilo zeznuto naći bilo šta, sada kad ti je sve free, kad sve možeš da nađeš.
Ivan Minić: A i sve je free, sve je dostupno i sve je user friendly maksimalno.
Aleksandar Vacić: Možeš da radiš i programiraš bilo šta. Ti kad vidiš danas čitave kurseve, ajde u Swiftu ili nečemu, već u C++. To je nadrealno znanje, to se nekada nenormalno plaćalo.
Ivan Minić: I kako se razvija tvoja profesionalna priča? Odnosno, kad krećeš da radiš neke ozbiljnije stvari? Ti si, zapravo, dugi niz godina bio primarno u webu i onda si prešao da radiš ovo što danas radiš. Ali, šta se tu zanimljivo dešavalo u tom periodu?
Aleksandar Vacić: Pa, moj prvi pravi posao. Ono kako ja definišem da je profesionalni developer – to je onaj koji dobija pare, ne onaj što nešto zna, već onaj koji dobija pare za to što radi, to je profesionalni developer, tako da je moj prvi posao bio 1996. u Sezamu, kad se ekipa koja je bila na SezamBBS-u u BIGZ-u, odvojila i osnovala SezamPro, onda su tažili oglas za webmastera. Osnovano sumnjam i znam da su mene zaposlili jer sam bio jeftin. Svi ostali što su se prijavili bili su skuplji od mene. I onda ja mladi žutokljunac, ajde ovome da damo da radi, vidi se da je entuzijasta. I onda ja tu sednem da radim, klasičan mlad majmun. Treba da napravim web sajt, a ja ga napravim za tri dana, radim dan i noć, kod kuće, jer imam posao i neko mi plaća ono što bih inače radio za džabe. I to je bila ludnica. Znači, prvi posao je bio 1996. godine u Sezamu, znaš kako je bilo tada. I onda su 1997. bili protesti. Radim do 3, onda uzmem onaj prenosni snimač i odem na protest, i snimam proteste, pa se vratim u kancelariju, pa tamo kucanje izveštaja sa protesta i ostalo. Onda mi se javljaju ljudi iz Australije: “E, super ste ekipa, samo napred.” Ja gledam, koja ekipa? Ja sâm, oči ovolike.To je bio recimo početak. I onda sam u nekom trenutku odlučio da ova zemlja ne ide u dobrom smeru i kao da se ja spremim, da završim fakultet, pošto mi je ostalo tri, dve i po godine; i 2001. godine moram da idem u vojsku, jer sam imao 27 godina; i onda posle toga da se selim, idem napolje iz zemlje. Naravno, ništa od toga nije bilo. Onda je počelo bombardovanje, pa od tih mojih planova završiću fakultet do vojske, ništa nije bilo jer je trebalo godinu dana da se oporaviš od svega toga. Onda se desila jedna fenomenalna stvar. Ja sam 1998. dao otkaz u Sezamu, sa namerom da ozbiljno studiram, stvarno sam krenuo. I zeznulo me to bombardovanje. Onda je prošlo šest meseci i šta ću sad, nema teorijske šanse da fakultet završim pre 2001., pošto nije izvodljivo. I onda mi Dejan Vesić, moj drugar sa Sezama, kaže da neki čovek trži neke ASP developere, a ja sam radio u Classic ASP-u, da traži neke ljude za neki start up u Americi. I ja se javim čoveku i on mi kaže: “Da li ti hoćeš da radiš zamene?” Tri minuta pošto smo se videli, pita me hoću li da radim za njega. Ja ga pitam, šta da radim, a on kaže “Pa, nešto, hoćeš da radiš?” I to natezanje je trajalo jedno pola sata, i na kraju kaže: “Evo, napravi mi ovaj sajt, pa se javi za dve nedelje da vidimo.” Ja napravim, donesem kod, on pogleda i kaže: “Super, pravi šusterski.” Ja se pitam, šta to sad znači. I kaže mi: “OK, dobio si posao.” Ja ga pitam: “Dobro, šta je tu šusterski?”. I on kaže: “Pa ja se ne razumem, ja se ne bavim time, taj HTML i to. Ali, vidim da je sve pod konac, uredno složeno. Izgleda lepo, neko je to radio ko vodi računa. To je sve što me zanima.” I ja se oduševim. Krenemo mi da radimo. Ispostavi se da je i druga ekipa dobili isti zadatak, i svi smo dobili posao. Pravili smo neki interfejs za tablete, 1999. godine, koji su bežični, koje proizvodi National Semiconductor, koji će se koristiti u hotelima, restoranima za one loyality poene, worldwide. I sve to na tabletu, koji mi nismo ni videli, ne znamo koje su karakteristike. Klasičan start up, ad hoc firma. To je sve trajalo nekih tri do šest meseci. Tu sam radio na nadrealnim računarima. Prvi put u životu sam tad video Compaq računar, koji je poslat iz Amerike i koji kad treba da reinstaliraš, ubaciš disk, pojavi se onaj login screen u full rezoluciji. Nije ono 640×480, već se pojavi u full rezoluciji. I misliš, i ovako može da izgleda računar. I još razmišljam, gde ću da nadjem drajvere, a u stvari tu su svi drajveri za tu mašinu. To je zaista bio super posao, ali je bilo fantastično to što su ljudi tri puta za šest meseci promenili technology stack na kom se radi. Mi smo napravili u ASP0u, JavaScript 1.2. Mi smo napravili sajt na osnovu koga su oni dobili 5 miliona od Sonic Blue-a. Tek tada su ovi otšli u Semiconductors. Mi smo sve to virtuelno radili. Onda su oni otišli tamo, pa tražili tablet, pa se ispostavilo da toga uopšte nema, već postoji jedan i po prototip. Pa su taj jedam onda poslali u Beograd. Rekli su: “To će da bude WiFi, ali WiFi trenutno ne radi [pošto je 1999.-ta]. Ali, to će da bude osnova kako će to da funkcioniše.” Sjajno. Onda je tu bila ludnica. Na kraju je Dragan Pleskonjić, sada poznato ime u security svetu, a tada je bio direktor te firme, kad smo radili sve to, on je popravio taj WiFi. Onda su ga zvali iz NSC-a da ga pitaju kako je on to popravio, šta je uradio, pošto njima nije radilo. Ja sam posle otišao iz te firme, jer sam, realno, sedeo, imao super platu i ništa nisam radio, jer sam zaposlen kao ASP programer, a oni su prešli na Java i JavaServer pages. I ja sam seo i rekao, dobro, sad ću tu nešto da učim, ali… To je bila jedna potpuno strana, meni potpuno nadrealna scena, jer sam prvi (ali ne i poslednji put), otišao iz firme gde sam imao super uslove i super platu. Ali, ne znam šta bih sa sobom radio. Ja sam imao dane kada sam sedeo i igrao “Age of Empires”.
Ivan Minić: To zvuči idilično.
Aleksandar Vacić: Apsolutno nadrealno, ali to je neka stvar koju sam pokupio od pokojnog ćaleta, koji je iste takve situacije imao. Tipa, ne radiš ništa na poslu, dobijaš pare i posle mesec dana više ne možeš da izdržiš to. Idemo dalje, hoću nešto da radim. I zato sam otišao odatle. Firma se ugasila posle nekih 9 meseci, ali su se u međuvremenu prodali PCTel-u, koji ih je kupio zbog ta dva patenta, zbog tog WiFi. To je sve što im je od njih trebalo. Ali, super je bilo, interesantno vreme. Kad se to završilo, onda se moj, što bi rekli – anđeo skrivač, Dejan Vesić, pojavio sa prvim direktorom te firme. Obojica su prešli u Finsoft, koji je pravio betting softver, engleska firma, i ja sam tamo prešao za njima. Narednih deset godina sam se bavio, maltene, enterprise web-om. Praviš web sajtove za booking na Oracle bazi. To je veliki posao, i skupe stvari, i instalacija i mnogo ljudi radi, softvera beskonačno. Ti softveri su i dalje uživotu kod raznih bookie-a. VB 6, ako vidite negde oglas za VisualBasic 6, to je verovatno treba Finsoftu ili nekoj od tri firme koje su ostale odatle. Jer, oni i dalje to održavaju, to i dalje funkcioniše. Tu se zaradjuju ozbiljne pare. Tu sam imao nadrealnu slobodu. Mislim da je to jedan period života, kad sam imao tako veliku slobodu rada, a na tako ozbiljnom proizvodu. Nečemu što koristi nekoliko stotina hiljada ljudi u nekom trenutku, kad je na primer Grand national ili Svetsko fudbalsko prvenstvo, a radimo ja kao web tim lider i još četvoro ljudi. To je web sajt, to sve radi i sad ti gledaš da li će da IIS [Microsoft web server] ostati u životu, ili će se srušiti web server, pa ga diži na drugoj instanci. Taj period života, je kao kad radiš u firmi koja je funkcioniše onako kako opisuju Apple – velika firma koja radi na start up način. To smo mi bili. Mi smo imali ogromnu slobodu rada. Mogli smo da kažemo: “E, vidiš, našao sam negde na nekom blogu da nešto može da se poboljša. ‘Ajde da to implementiramo, pa pustimo u produkciju, da vidimo kako se ponaša.” Ako ne valja, brzo vraćaj na onu prethodnu verziju. To je kasnije, kad je Finsoft kupljen od strane Giteca, firme koju je koristilo dve trećine svetskih lutrija, ta sloboda je nestala. To je bilo, recimo, 2007. Tad si imao ono; ako hoću nešto da promenim, moram da pitam onog, pa ovog, pa ovog, pa imaš jedno šest nivoa menadžera koji treba to da odobre i dok odobre, ti si već zaboravio šta si tražio, i zašto si to hteo da promeniš. Tako da se moj web razvojni put tih deset godina sveo na Classic ASP i VBScript, a danas se menja na šest do dvanaest meseci. To je bilo celo moje znanje programiranja dok nisam počeo da se bavim iOS-om. Bukvalno, samo VB Script i Classic ASP. Ne, ASP.NET. ASP.NET je C#, potpuno druga priča. Ovo je bilo ono, skriptujemo, zezamo se. Ono što je naš web sajt tada radio u ASP-u, mislim da Microsoft nije pretpostavljao da to može da se izvede. Moj highlightkarijere, u tom trenutku, je bio kada za vreme najvećeg konjičkog dogadjaja u Engleskoj, Grand National, kada se više Iraca i Engleza kladi nego kad je Svetsko fudbalsko prvenstvo, to je generalno najveći sportski dogadjaj u Engleskoj; i tad je “napad” na server za kladjenje veći 100 puta nego što je normalno, i svaki put, svake godine svake od 2003. do 2008., svaki put nam sajt padne. I onda pola sata pred trku sve rikne, sve se lokuje, toliki je napad, šta god da uradimo za tih godinu dana, to opet nije dovoljno. I tako do 2009. E, tad smo uspeli da držimo i svi sajtovi kod svih klijenata, sve je radilo super. Utanačio sam ASP, kako da se recycle-ju procesi, da to čim padne, odmah sledeći preuzima zahteve, sve je radilo. I onda, pet minuta pred trku, na sajtu najvećeg klijenta, BetFred, tadašnjeg betting partnera Mančester Junajteda, ispiše: “Izvinjavamo se posetiocima što ne možemo da procesuiramo sve uplate.” Ja gledam, kako ne može, svi sajtovi su na 30% zauzeća, kako ne valja. Zovem tamo u Mančester, kažu mi da je sve u redu, pali su kartični procesori. I ja sam bio – “I am done!” Ovo je highlight, dalje od ovoga ne može. To je bio vrhunac onoga što sam ja radio u web-u. I kad mi kažu: “Šta si ti radio, Classic ASP?” Jeste, ali sto hiljada ljudi je polagalo opklade preko tog ASP. U međuvremenu je firma pokušavala da zameni taj softver sa nečim modernijim, pošto je ovo već bilo staro, i ono što se meni tad nije sviđalo, bio je pravac u kome je sve to išlo. I onda sam razmišljao šta ja još tu mogu da radim, pošto je GTech počeo da kupuje kazina, firme. Odlučili smo da napravimo portal kojim će sve da ujedinii u jedan softver, sve je to bila ludnica. Meni se to ništa nije dopadalo i napravim otklon od toga. Razmišljao sam šta ja mogu sad da radim i spasio me je Apple. Tad se pojavio iOS.
Ivan Minić: Kako si se ti približio Appleu iz cele te priče koja je prilično Microsoft obojena?
Aleksandar Vacić: Ja sam bio PC guy do srži. I danas mi nedostaje Total Commander. Međutim, zbog potrebe testiranja weba smo kupili jedan iBook G3, onaj narandžasti. I ja krenem da ga koristim. Malo po malo, shvatim da mi se sviđa kako funkcioniše, postalo mi je zanimljivo. Krenem da se igram sa time, ali nemam šta tu da programiram kao ASP web i script programer, pogledam Objective C, to je bilo – ma kakav assembler, on mi je izgledao prijatnije. Ok, ne zanima me to, radim ja samo na testiranju weba. I onda se pojavio iPhone, to je bila ključna stvar. Mada ja sam pre toga kupio Mac jer, ako sam shvatio da me ASP više ne zanima, hajde da naučim nešto od ozbiljnijih web tehnologija, a sve one su zahtevale MAMP, MySQL, PhP i ostalo, a to je uvek na Windowsu bila muka živa da podesim, dok su sivi pričali na sajtovima kako je na Mac-u to jednostavno uraditi jer je Unix u osnovi operativnog sistema. I stvarno je bilo tako. Nisam morao da podešavam servere i daemone – sve samo radi. 2006. kupim MacBook Pro i krenem da ga koristim pola u Windowsu pola ovamo. I onda kada se pojavio iPhone, to je za mene bilo otkrovenje jer se vratila cela ona moja umetnička, crtačka varijanta – vidi programiranje gde je dizajn jednako bitan, ako ne i bitniji od samog kvaliteta koda. Mora lepo da izgleda, lepo da funkcioniše da bi to imalo uspeha. E tada je bilo ono – “OK, mogao bih ja da ovo probam da učim”. U firmi je bila zanimljiva situacija, pošto se išlo u pravcu koji mi se ne dopada, pitao sam da li mogu ovo da radim, pošto će to biti budućnost. Čim sam video kako to dobro radi i kako ekran funkcioniše. Pitao sam da li vi hoćete da mi pravimo mobilnu aplikaciju za klađenje. To je bila 2008. Posle tri meseca su mi rekli da neće to Apple nikada da dozvoli. Rekoh, kako kada je to legalan posao u pola sveta. “Ne, ne, ne, neće oni to da dozvole, ne možeš to da radiš”. Ok, znači mogu to da uradim za sebe, nisam u sukobu interesa, mogu to da učim? Kažu možeš. Super. Tri godine sam radio i propišto beskonačne sate dok sam skapirao kako funkcioniše object oriented programming i Objective C, frameworci, ali mi je bilo sjajno jer je bila ista ona varijanta koju sam voleo kod weba na početku – nešto uradiš klik, na simulatoru se pojavi isto to. Čak nisi morao da imaš iPhone za polovinu aplikacija koje sam tada pravio. Ta interaktivnost bila je ono što mi se dopadalo. Ne treba ti nikakav vanredni setup, serveri, baze… sve je tu na istom računaru. Trebalo mi je dve i po godine da napravim nešto što ja smatram da je dovoljno dobro da mogu da pustim na Store. Tada sam pustio jednu aplikaciju, pa drugu, pa treću i vremenom je to počelo da zarađuje neke parice. Došao sam u situaciju da kažem – ovo što radim u firmi mi se ne dopada i samo otaljavam. Bio sam dugo u firmi, imao dobru platu, ali sam osećao da je ne zarađujem i da ne doprinosim firmi, a još mi se i ne sviđa šta radim i hajde da pređem da radim ovo. Neke tri godine sam radio dva posla. Tada sam imao 15 sati rada svakog dana. Radim u firmi 8 sati, malo se odmorim i nastavim. Možeš misliti kako sam bio zabavan u društvu. Baš sam pošteno zaglibio, ali sam doterao to znanje i naučio boga-oca u programiranju što i dan danas koristim. Shvatio sam da je jedna od najvećih vrednosti Apple ekosistema – što ima neograničenu količinu ljudi koja svoje vrlo skupo znanje deli za džabe na raznim blog postovima. Shvatiš da ti što pišu o Objective C pišu i o nekim fundamentalnim stvarima o programiranju. To je bilo ključno za ono što je meni napravilo karijeru kasnije u iOS. Da razumem kako to fundamentalno treba da se piše i bude lako održivo na duže staze. Inače kao one man firma to bi bio pakao, ne možeš da napraviš nešto što će da ti zarađuje pare 7-8 godina, a da ne pišeš stalno od nule jer bi se onda vrteo u krug, nego parče po parče inkrementalno menjaš i to su stvari koje sam naučio u te tri godine tog drugog posla učeći Objectiv C kao jezik.
Ivan Minić: Ono što je bilo karakteristično za sve tvoje rane aplikacije je da nijedna od njih nije dešavala neki novi problem, nije bila revolucionarna, ali su sve izgledale izuzetno prijatno za oko i izdvajale se u moru drugih aplikacija time što zaista sjajno izgledaju. To je pravilo razliku da ljudi odluče da kupe njih, a ne neke druge. Kako je taj deo priče izgledao? Rekao si mi da je to krenulo da generiše neke prihode. Kako to izgleda? Objasni nekome ko ne zna ništa o tome, ali ga znaima da napravi neku aplikaciju i postavi je? Kako se to menjalo kroz vreme?
Aleksandar Vacić: Krenuo sam 2008. kada je u julu otvorio SDK pristup za van Apple-a. Proveo sam 3 meseca pokušavajući da se prijavim iz Srbije. To je bila zabavna epopeja jer uopšte ne možeš da se prijaviš na njihov sajt koji je bio kompletno orijentisan ka Americi. Ima jedna super anegdota. Apple isključivo radi transfer para na tvoj bankovni račun. Ono što je zanimljivo, nikada nije postojao problem da se kao developer prijaviš i da od Appla dobiješ pare za ono što prodaš. Ceo taj koncept je bio jako lepo zamišljen, ono što me je brinulo najviše bilo je to što Amerika i Srbija nemaju nikakav ugovor o izbegavanju dvojnog oporezivanja. Što znači, ako Apple uzme njihovih 30%, onda će meni IRS da uzme još 30% od onoga što je ostalo, pa onda banka dok uzme svoje… baš bi bilo bezveze. Onda pošaljem pismo Applu i odgovori mi žena – Mi smo tako sklopili naš koncept komisione prodaje da vi odakle god da dolazite niste dužni da plućate IRS-u bilo šta. Sjajno, to je bio super boost. Onda je bila varijanta kako da dobijem pare ovde kao fizičko lice. Nisam imao predstavu šta i kako radi i bio potpuno neiskusan po pitanju tih stvari. Prve pare koje su stigle bilo je 600 dolara od prodaje aplikacija po ceni od 5 dolara. Imao si da pređeš 150 dolara i onda ti pare stižu na račun. Apple fantastično zna da napravi taj backend sistem iako on katastrofalno radi kada treba nešto da registruješ, ali suštinski ono što treba da radi posao, to radi. Ja se registrujem kao čovek iz Srbije, račun je u Švedskoj i to je sve ok kod njih. Ti možeš odavde da otvoriš privatnu račun kod Applea iako si ovde firma XY. To njih uopšte ne zanima, tvoj je posao da se brineš da li je to legalno kod tebe. Tih prvih godinu dana konkurencija je bila toliko mala da su jedina prava konkurencija bili long term Mac developeri koji su jedini znali da pišu sve to. Ja sam moju prvu aplikaciju RunMate (za trčanje) pisao tri puta od početka. Krenem da je koristim i vidim da ne radi. Mogao sam da je pustim na App Store, ali ne radi. Tada su sve dozvoljavali da uđe na Store. Danas odbijaju za svaki bug koji nađu. Tek kada sam uspeo da istrčim tri nedelje, a da aplikacija ne crashuje, onda sam je pustio na Store i počela je da se lepo prodaje. Te prve aplikacije su sve bile rudimentarne aplikacije koje ne zahtevaju nikakav back end i koriste samo ono što ima na samom uređaju, a meni je bilo super džabe da to sve održavam i nemam nikakvog plaćanja. To je omogućavalo da se radi. A super je i to što, čak i da ne radim ništa, to stoji na Storu i zarađuje pare. Tada sam shvatio najveću razliku između proizvođača i freelancera. Kao freelancer, kao client oriented business moraš da juriš klijente, moraš da juriš da bi imao pare i ako nekada ne radiš za klijente, nemaš para. Možda imaš support ili retainer ili tako neki contract, ali generalno moraš da ih tražiš. A ovde kada ti stoje proizvodi na Storu, ti možeš da ne radiš ništa, a da ti pare i dalje dolaze. To je ono što mi sada najviše nedostaje, pošto nisam pipnuo svoje aplikacije 3 godine. Malo su zastarele. Dve je Apple sklonio sa Store-a jer su stare. Zato sam i krenuo na te aplikacije i shvatio sam da što ih više imam, kakve god da su, neko će to kupiti. Onda, kada imaš gomilu aplikacija, mesečno ćeš zaraditi dovoljno da možeš od toga da živiš. 2012. sam otišao iz firme u kojoj sam radio i živeo samo od aplikacija. Tada sam imao 40 i nešto aplikacija na Storeu od kojih su 3-4 bile realno kako valja, a onda sam istraživao realne načine kako da napravim nešto što se relativno lako generiše na veliki broj komada, a da ne moram ja da to programiram svaki put zasebno. Onda naiđem na Dejvida Smita, poznatog developera. On je imao jednu aplikaciju na svom sajtu i kada klikneš u App Storeu na ono “vidi više aplikacija ovog developera”, vidiš da ima 467 aplikacija, a samo jednu na sajtu. Ok, šta su ove ostale? On je, majstor, napravio engine gde je uzeo public domain knjige i napravio ih kao audio books i svaku prodaje zasebno kao aplikaciju. Njih ima 400 i nešto i svaka od njih se proda jednom, dva, tri puta mesečno. Po par dolara pa ti saberi. To ispadne lepo. Šta bih mogao da radim – napraviću galeriju slika – setio sam se manekenki. Ako stavim žive ljude to je malo nezgodno zbog copywritea, i onda kažem hajde da stavim automobile. Krenem da skupljam Tesla, BMW, Porsche, te slike sa njihovih sajtova, napravim aplikaciju koja ima 3 slike u bundleu, a ostalo skida sa nekog free storage. Price range je bio fenomenalan. Ako ima slika 100 MB, aplikacija dolar, ako ima 200 MB, dva dolara i td. I onda izgenerišem 20-tak njih. Zanimljiva stvar se desila sa vlasnicima tih fotografija. Razmišljao sam da li će neko da ide da me ukeba i nagazi ne znam kako. Fascinantno je bilo koliko ih je baš briga za to pošto ti njima, realno, praviš reklamu stavljajući te slike. Ono što je bilo zanimljivo, svi koji su me jurili da skinem aplikaciju sa Stora su bili ljuti zato što nemam pravo da koristim logo. Ne možeš da staviš BMW logo na App ikonicu, a za slike niko ništa nije spominjao. To je bilo ćao zdravo. Recimo Ferrari aplikacija je bila na Storeu godinu i po dana pre nego što su se setili da mi pošalju zahtev da je skinem. Ima jedna zanimljiva stvar. Pošto ne mogu tebe da jure, jer nemaju kontakt, oni pošalju Appleu DMCA complaint, a onda Apple stavi tebe i njihovog advokata u cc i kaže: Dobili smo ovu žalbu, hajde vi to rešite pa nam javite šta ste se dogovorili. To je ultra scary kad ti dođe od Apple Legal, pa tamo neka advokatska firma iz Italije, Nemačke… I onda oni samo kažu, ako hoćete da sklonite aplikaciju sa Storea to je ova procedura. Kažem ok, klik, klik, klik, sklonio sam aplikaciju i odem na reply-all da je sklonjena. I tu se završi cela priča. Sve u svemu, ja zaradio 15.000 dolara za dve godine na tim katalozima.
Ivan Minić: Tu pričamo o periodu kada je broj aplikacija bio mali, pre 6-7 godina.
Aleksandar Vacić: To je bila 2012-2013. taj neki period. Pogotovu na iPadu je bilo toliko malo aplikacija da sam napravio lava lampa simulaciju, i stavio je u Utilities kategoriju u kojoj je bilo ukupno 8 aplikacija. Apple je napravio onaj kartični interfejs i svih 8 su bile featured. Dok se to nije popunilo, ako si ti tada uleteo… Dve noći mi je trebalo da napravim tu lava lampu, i zaradila mi je 3000 dolara dok je nisu skonili kao feature aplikaciju. Sada je to potpuno druga priča. Pokušavao sam sa raznim reklamama, kvalitetnim aplikacijama, ali to više nije moglo da prođe. Shvatio sam da, 2014. ako nemaš 50.000 dolara za marketing budžet, nemoj ni da trošiš pare na marketing. Nema svrhe. Ne možeš ni da priđeš venture-funded firmama. Kada su ušle ozbiljne pare u iOS development tada je zlatno doba, prestalo da postoji. To je neki period kada sam počeo da se bavim i client contracting poslom. I kada se nađeš u prilici, da se pojavi neka nova IT zezancija, moraš da uletiš na početku, tada sve prolazi, sve je zanimljivo i najveća glupost prolazi.
Ivan Minić: Kako se menjao tehnički aspekt kroz tu priču? Manje više, svaka iteracija novih uređaja je donosila gomilu nekih noviteta plus nove verzije operativnog sistema. Koliko ti je bilo zahtevno da to ispratiš?
Aleksandar Vacić: Iskreno, nije. Za Apple postoji priča, ne znam kako je nastala, da aplikacija nije kompatibilan sa prethodnim generacijama pa moraš često da pišeš stvari od nule. Moje iskustvo je potpuno drugačije. Mogao si decenijama da pišeš jedan isti kod, da ga održavaš i on će nastaviti da radi. Jedini pravi preseci su kada promene sa 32 na 64 bita i onda kažu ok ovo je novi API i nema više 32. Sve ovo ostalo nije toliki problem da se isprati. Veći je problem je kako su išle verzije uređaja, pa menjaju grafičke čipove, pa audio čipove, pa iOS postaje moćniji i može da podržava više stvari. Recimo, za moje “trčanje” ključna stvar je bila da, kad trčiš, slušaš muziku, a da u pozadini ode muzika u silent kada ti aplikacija poruči glasom “now walk for 3 min” i nastaviš da vežbaš po tom nekom planu. Taj API se menjao, svaki iOS je imao neku novu zvrčku, ali svaki. Dešavalo se da, tipa, izađe u junu Beta 1, u Beta 5 u avgustu, sve to nekako radi, a onda u Beta 6 ukinu nešto i to više ne radi jer se u njihovom internom testiranju pokazalo da postoji recimo nešto što mnogo guši bateriju i oni su odlučili da to nešto izbace. I ako ti ne testiraš svaku tu verziju do one finalne, može se desiti da misliš da si završio posao i pustio na Store, a ono ne radi. Imao sam situaciju sa Watch OS-om gde je sve radilo do finalne verzije. I onda su u Gold masteru ukinuli background timere na Watch OS 2, a ja celu aplikaciju prepravio da radi samo na satu, timer se vrti u pozadini, i onda oni ukinu taj API kompletno i aplikacija je neupotrebljiva. To su te stvari koje ne možeš da izbegneš. Oni svi kažu možemo nešto da uradimo, ali ti niko ne garantuje da će to sve raditi kako treba dok ne izađe finalna verzija. Nije problem da se isprati taj tehnološki napredak. Zahteva određeno praćenje. Najproblematičnije je to što nemaš desetine hiljada dolara koje zarađuješ pa kupiš 3 iPhona pa jedan je na Beti, drugi na drugoj Beti, pa testiraš. Ovako, kada imaš jedan uređaj, nije jednostavno da testiraš šta je promenjeno s jende na drugu verziju, pošto ti treva da ostaviš jedan uređaj na godinu dana staroj verziji jer neće svi preći na novi iOS. Vremenom, kako sam kupovao iPhone, tako se ta grupica uređaja skupila, ali ne bih rekao da je problem da se to isprati. Mislim da Apple lepo radi …– backward support. Šta god novo da izbace to će, manje više, raditi sa starim. Najbolji primer je Swift. Kada je izašao, nijedan API nije prestao da radi. Njima je najveći problem u Switu uvek bilo to što ne mogu da koriste sve što bi hteli da koriste jer moraju da podržavaju iOS unazad koji je kompletno Objective C i dan danas. Danas postoje tri frameworka koji su čisto Swift, ali sve što rade mora da radi u oba jezika i mora da bude podržano. Nije problem da se isprati, samo moraš da potrošiš leto. Leto je najgori period za iOS developere. Početak juna je beta, početak oktobra je finalna [verzija] i taj period je uvek pakao. Mislim da sam prošle godine prvi put otišao na more, a da nisam otvorio laptop, da nešto testiram novu betu, čekam… Ali unazad 10 godina to je bila stalna presija i tako je kada si single developer.
Ivan Minić: U jednom periodu si krenuo da predaješ i učiš ljude iOS developmentu. Kako je išao ceo taj aranžman? On više nije aktuelan, ali bilo je vrlo neobično i drugačije od drugih škola i to je bio jedini kurs na kome su ljudi stvarno mogli nešto da nauče, ali šta su bili preduslovi da uopšte uđu u celu priču i kako si je koncipirao?
Aleksandar Vacić: To je bila iOS Akademija, moguće da sajt još uvek postoji. Vlada (Vladimir Trkulja iz Startita) i Ivan koji su otvorili to su shvatili da postoji velika potražnja za iOS developerima, a da malo njih ima zaista nekog realnog znanja da mogu da rade odmah posle kursa. Lako je napraviti kurs o programskom jeziku jer ti ništa realno ne programiraš kada učiš jezik, ti učiš sintaksu, način kako se piše kod, ali ti ne učiš da programiraš i napraviš neku realnu, opipljivu stvar. Onda je ideja kursa bila da se uči tako što ćeš naučiti jezik kreirajući aplikaciju za datu platformu. Kurs je prve dve godine bio Objective C, a onda je Mlađan Antić koji je držao to, otišao na drugu stranu, tada se pojavio Swift i pitali su me da li hoću da preuzmem predavanja. I oni su spomenuli da bi trebalo da se radi u Swiftu. Ja tada Swift nisam uopšte učio i potpuno sam ga smetnuo s uma. I dve nedelje pred početak me pitaju – Treba da pošaljemo studentim plan šta ćemo da radimo. Ja im pošaljem, a oni me pitaju gde je ovde Swift? Svi hoće Swift. I ja krenem. Bio sam u najstrašnijoj panici. Treba ljudi da plate, a ja nemam pojma. Ok, hajde da vidimo koliko je to teško. Rekli su mi da su prethodne godine imali 2/3 Objective C i 1/3 Swift. To je već bio koncept. Ok, hajde da probam da to napravim kompletno u Swiftu i da se pišu 3 aplikacije. Da ih naučim kako da pišu aplikacije i koriste Swift. Seo sam i u te dve nedelje radio kao u stara vremena – dva posla. Krenem i prepišem svoju celu Banca app iz Objective C u Swit, da bih video kako to izgleda i znao šta da pričam i koliko je to realno. I shvatim da sve što ja znam, to i dalje važi, ništa nije prestalo da funkcioniše, samo se piše na drugačiji način. Napravim ceo plan po danima i tih nekoliko generacija su učile Swift. Ključna stvar na kojoj sam insistirao je da ljudi moraju da shvate da, kada uđu u taj posao, svi razni oglasi gde čuju kako programeri zarađuju ne znam koliko para, 1500 evra je prosek plata iOS developera, ne znam odakle dolaze te cifre, sve to nije realno u životu. Možeš ti da tražiš te pare, ali za jedno 3 godine, ako svakodnevno to učiš i napreduješ. Vi sad platite ovaj kurs, ja ću vas naučiti da programirate i kada završite kurs niste zapošljivi. Onda ćete da sednete i naredna 3 meseca ćete sami da pišete nešto, koristeći ova 3 meseca što ću ja da vas vodim kroz programiranje. Kada uradiš File – New project i napraviš nešto što radi, e tada si skoro pa junior developer. I to je uvek bila prva stvar koju govorim svima. Nisam hteo da imaju očekivanja da čim završe, da će moći da rade.
Ivan Minić: To je verovatno zato što kurs nije bio dovoljno dobar. Imaš ove što za 2 meseca naučiš.
Aleksandar Vacić: [smeh] Jeste i odmah si 1200 evra plate. Volim da pričam o programiranju, a sada sam dobio priliku da učim nekoga kako smatram da to treba da se radi. Prvi mesec su učili programski jezik i interface. Ono što je jako zanimljivo kod iOS – ne moraš da znaš da programiraš da bi napravio aplikaciju koja klikće na telefonu. Mogao si sve da nacrtaš, da se to nešto mrda i okreće. Pravili smo calculator, repliku Applovog. I sve klikće, a ništa ne radi jer nema koda iza, ali izgleda kao gotova aplikacija. Većina kurseva koje sam tada gledao su išli na to da te ubiju najstrašnije suvoparnim programiranjem, da se zapitaš šta mi je ovo trebalo u životu. Zato sam išao na to da nađem nešto što je zanimljivo za osobu, a da može da lagano prihvati taj način razmišljanja. Svi lomovi kod svih studenata su bili na polovini drugog meseca. Kada treba da razmišlja o kodu. Nacrtao je interfejs, a onda treba da ga poveže, da napiše prvu klasu, prvi View Controler, da to veže jedno sa drugim i da to radi. I onda je klasična fora kada napravi View Controler sa 40 propertya – to tako ne možeš da radiš za aplikaciju koja ima više od 3 ekrana jer ćeš da poludiš. Onda učimo enkapsulaciju koda, kreiranje komponenti, njihovo konfigurisanje… To su vrlo advance koncepti i apstraktno razmišljanje koje, ako tada ne progura čovek, nikada od njega neće biti programer. Onda sam namerno išao na to da ću da ih ugazim u tom drugom mesecu, ali da sami vide da li su sposobni da se time bave. Da li mogu da proguraju taj mentalni prag i počnu da razmišljaju kao programeri. Jer ako to ne učine, džabe ime je dalje ulaganje. Nisu za to. Bilo je studenata koji me pitaju u trećem mesecu, dok ja pričam dependency injection o tome kako se konfiguriše ekran sa drugog ekrana, a oni su zaglavili tamo kako se definiše funkcija, uvek me pitaju, u kom trenutku shvatiš da ti nisi za ovo. Kažem, možda si potrošio novac za kurs, ali nisi potrošio na kupovinu računara i nisi potrošio godinu dana, nego mesec i po dana. Bilo je ljudi koji su me iznenađivali. Čovek fotograf ili radi u knjižari i prvih mesec dana se muče sa time kada treba da koriste var, a kada let. I onda u nekom trenutku im klikne i donesu mi domaći koji je skroz ok za nekoga ko to radi prvi put. Daš im malo vremena da probaju svojim tempom nešto da urade i onda to klikne. Uvek je bilo, krećemo lagano, a onda to počne da skače kao geometrijska kriva. Krajem drugog meseca težina kursa je 10 puta veća nego li prvog meseca jer tako će vam biti u programiranju. Vi možete da se igrate beskonačno sa sitnim prostim ekranima, ali to nije programiranje, niti posao koji ćete da radite. U trećem mesecu su još komplikovanije stvari gde radimo sa web servisima, čitaš Instagram slike… Moraš da naučiš kako da modeliraš apstrakne stvari. Ne možeš da napraviš veliku količinu funkcija koje će da zovu jedna drugu, to nije realno. [Taj] kurs je jedna od retkih stvari koja ti za 3 meseca sabije ono za šta bi realno trebalo 6-12 meseci ako bi radio čovek svojim tempom, ali ljudi dobijaju snimke svega, i sve imaju da mogu sami svojim tempom da rade. I mnogi su mi rekli da su ti video snimci bili ono što ih je spasilo. Toliko informacija dobiješ da ne može mozak da ih procesira. Srećna okolnost je što volim da idem na konferencije pa napravimo pauzu 2 nedelje i za to vreme im kažem da nastave svakog dana da rade. Jako je bitno, to sam im govorio, vi ćete imati 10 sati sa mnom – 2 puta po 3 sata predavanja i 4 sati vežbe. Ako vi ne radite bar još 10, a poželjno i 20 sati samostalno, ništa nećete shvatiti. Ako samo prepisujete ono što govorim, od toga nema ništa. Ako ti ne prođe kod kroz prste da ga sam napišeš, ništa nisi naučio. Važno je bilo i da ih naučim kako da nađu ono što ne znaju. Zaposliš se u firmi i neko ti da uradiš nešto i sada ti treba kako se istražuje mapa. I onda ih učim stvarima koje nama možda deluju trivijalno, ali su vrlo bitne za nekoga ko tek uči. Gde ide u Helpu, gde je dokumentacija, kako da pretražuje Stack Overflow, kako da koristi blogove kao izvor informacija, ne da uhvati prvi, nego da 3-4 pretraži pa da vidi koji se ponavlja. To su životne situacije u kojima će se naći kao budući developeri. I ako sve to prežive i napišu sami kod, ja im ne dajem kod, evo vam primer, napravite model fudbalske utakmice sa dva tima od 11 igrača i napišite funkcije ili metode koje biraju 16 za prijavu, 11 startnih… kako ćete to da napišete. To je trivijalan zadatak, napiše se za 15 minuta, ali kada ne znaš kako da modeliraš, to se piše mesec dana. U momentu kada im to klikne i skapiraju zašto se to radi na ordeđeni način, sa takvim ljudima može zaista da se radi kao sa developerima. To je ono što smo želeli da kroz taj kurs koji smo radili, da isteramo. Još jedna stvar koja mislim da je bitna za predavače kada predaju jeste da pokažu kada nešto ne znaju. Kucaš kod i nešto se čudno dešava. Da ljudi vide da je potpuno normalno da, koliko godi iskustva imaš, da nešto ne znaš, otvoriš Stack Overflow i da tražiš rešenje.
Ivan Minić: I da vide da si našao rešenje, da vide kako ga ti tražiš.
Aleksandar Vacić: Bitno je da im pokažeš da ne moraju da misle da moraju sada da znaju ne znam koliko da bi sebe zvali programerima. To su one stvari koje se pojave na Twitteru – Ja sam programer 20 godina i upravo sam tražio kako se u Stringu nešto traži. To su stvari koje ne učiš na pamet. To me nerviralo na fakultetima. Kako to ispit iz programiranja na papiru? Ja nijedan ispit nisam položio kako valja. Jedva sam šestice dobijao iz programiranja. Mogu ja da napišem for in ili while petlju, klasu ili metod, ali da isprogramiram nešto bez greške – nema šanse.
Ivan Minić: I kontrola tog testa koji imaš gde on ide liniju po liniju i gleda šta se dešava.
Aleksandar Vacić: Da li si negde izostavio nešto. To su nebitne stvari potpuno, da bi sebe zvao programerom. Nadam se da sam to uspeo da svojim polaznicima objasnim, da je najbitnija stvar da umeju apstraknto da razmišljaju. Da modeliraju stvari na objektno orijentisan način. Ako sam to uspeo nekoga da naučim, od toga će biti developer.
Ivan Minić: Pošto to više ne postoji, šta bi preporučio nekome kako da krene da uči ako želi da uđe u ovu priču?
Aleksandar Vacić: Srećna okolnost je što je izašao Swift koji je super interaktivan jezik za pisanje kroz playground. Možeš da napišeš kod i da vidiš odmah šta se sa njim dešava. Ono što je Apple uradio u međuvremenu, na iBooks Storeu imaju sjajne knjige koje se tiču uvoda u iOS development i Swift i to su jako dobre knjige. Čekam da moji klinci još malo porastu pa da im uvalim to da vidim kako će da se snađu. Konceptualno kako su oni to uradili, meni se jako sviđa. Mislim da su te knjige najbolja početna osnova za sve koji žele da se bave Swiftom. Ima dosta drugih kurseva, varijanti gde su ljudi pisali video kurseve, knjige. Hacking with Swift je sajt koji preporučujem, Paul Hudson je apsolutni fanatik što se tiče tih stvari ima gomilu besplatnih kurseva koji su jako dobri i svi su kroz praktične primere. Ne učiš ono var, let nego on kaže – Hajde da učitamo tri slike i da ih prikažemo u simulatoru. I kroz to objašnjava te neke osnovne stvari. Te dve stvari, Apple intro knjige za development i taj sajt mislim da su najbolji za početak i besplatni su to je ključna stvar. Svi ostali kursevi se plaćaju i nisu tako strukturirani da možeš da ih pratiš tek tako. Imaš gomilu, tipa Ray Wenderlich i tako nekih sajtova gde imaju tutorijale za određene stvari, ali kada si početnik, nemaš pojma gde se šta uklapa. Najveći problem kada nisi u nekoj školi je što nemaš na čemu da radiš ako nemaš Mac, jer je neophodan, ne može na PC-u da se radi. Swift može da se uči na iPadu, postoji Playgrounds aplikacija, ali to ipak nije realno kako ćeš raditi kasnije. Najveći problem je Mac računar.
Ivan Minić: Što ne mora da bude previše veliki izdatak. Možeš da uzmeš nešto starije, da od toga počneš. I to je hardver koji drži cenu. Ako se ispostavi da to ne funkcioniše možeš ga za 6 meseci prodati za iste pare.
Aleksandar Vacić: Bilo koja generacija posle 2013. je skroz ok za rad. Ako ima retina ekran super je.
Ivan Minić: Da se vratimo na tebe kao programera. Rekao si da je ta priča sa aplikacija lagano počela da teži nuli. Šta si radio nakon toga?
Aleksandar Vacić: Pre 2014. čak i ranije, one galerije slika sa automobilčićima… Kuma moje žene radi u lokalnoj trikotažnoj firmi i trebala im je aplikacija da demonstriraju katalog svojih proizvoda. Vidi zgodno 🙂 Ona nas poveže sa vlasnikom firme i odemo na sastanak, ja im pokažem kako to radi i on mi kaže – Meni tako nešto treba, ali bi voleo da možeš da klikneš na to i da napraviš narudžbinu. To je bilo 2012. Onda smo negde do 2014. uspeli da izbunarimo da se tu nešto napravi jer je njihov backend sistem bio nadrealno komplikovan. Na kraju su nam davali CSV fajl koji smo konvertovali u SQL server da bi imali API, pa konvertujemo nazad u CSV koju tamo neki likovi učitavaju u bazu koja nama nije dostupna. Ludilo. 16 načina da nešto pukne i kad pukne ti nemaš pristup i ne znaš šta se desilo. Uglavnom, to je funkcionisalo i to je bio prvi kontakt sa poslom koji sam radio za nekoga. To nije bilo na AppStoru nego posao za zaposlene unutar firme. Druga stvar koja se desila 2014-2015. pošto sam radio u betting industriji svi lokalni su me znali, čak i Meridian Bet je kupovao softver naše engleske firme, i onda su me pitali – Nama bi trebala neka iOS aplikacija hoćeš li da to radiš za nas. Pitali su me jer znam biznis i ne moraju da mi objašnjavaju kako betting funkcioniše. Od tada [njihova] iOS aplikacija je moje delo i to je super saradnja sa njima bila jako dugo i baš sam zadovoljan kako funkcioniše i imam potpunu slobodu rada do te mere da oni mene pitaju šta ćeš sledeće da nam napraviš u aplikaciji. Vidi šta je zanimljivo pa da mi to možda imamo. Sjajno. Kada imaš takvog klijenta to je sjajna stvar. Te dve aplikacije su bile odlične, u međuvremenu se pojavilo još nekoliko projekata u koje sam ulazio i izlazio iz njih. Ili mi se nije dopadalo kako funkcioniše sve ili je bio ritam rada koji je sumanut, a to mi ne treba u životu. Sada sam u fazi gde imam relativno stabilno poslovno okruženje što se tiče kontakta i mogu da se bavim time da obnovim svoje aplikacije i ima taj safety net. Čak i te moje running aplikacije koje sam napustio da radim pa sam ih ostavio, one su, do pre 3 meseca kada je Apple rekao da ‘e ih skloniti sa Storea jer se nešto dešava u iOS 12 gde se corruptuju podaci u nekom trenutku i to ne mogu da oporavim uopšte, a moj kod je iz iOS 8. Nisam hteo da se blamiram više da mi ljudi šalju poruke da su im se izgubili podaci. Znaš kad trčiš i onda dođeš kući i – gde su mi podaci. Nisu se snimili. To je najgora stvar koju možeš da uradiš nekome. Onda sam ja sklonio tu aplikaciju Run5K. Banca je ostala, a neki konverter jedinica mi je Apple sklonio. Tražili su da pošaljem update, ali nisam jer je sve radilo. Mrzi me. Ako 3 godine ne ažuriraš aplikaciju pošalju ti upozorenje da će je skloniti sa Stora jer ne znaju da li je u skladu sa trenutnim app review guidelines. I onda ti traže da pošalješ update da bi mogli da to provere kroz standarni proces. Ako to ne uradiš, oni skinu sa Stora. Sad želim da to vratim u svoj portfolio jer je to ubedljivo najbolji safety net. Taj Run5K, dve godine nisam imao nikakav update i on je donosio i dalje 6.000 dolara godišnje. Šta ćeš više. Ta stvar je za bilo koga ko nije firma pa ima zaposlene i juri klijente nego single developer, sada žena radi samnom pa smo super, ali je jako bitno da napraviš nešto na Storu. To ti je super reklama za klijente. Kad te neko pita šta znaš da radiš, kažeš mu skini sa Stora pa vidi. To sam i studentima govorio, ako ho’ete da se reklamirate, napravite nešto koliko god bilo glupo, ali neka se vidi šta znate i da ste uspeli da nešto objavite na Storu. To vam je najbolja reklama, ništa vam drugo ne treba. Drugo, napravi nešto i stavi na GitHub. Ako neko hoće da te zaposli pa treba da vidi šta znaš da isprogramiraš, ti ga pošalješ na GitHub. 90% drugih kandidata si pretekao ako imaš nešto na GitHubu jer će videti oni koji treba da te zaposle šta ti zaista znaš. Moj cilj je da zadržim klijentsku strukturu koju imam, a da nastavim da se bavim svojim aplikacijama iz još jednog bitnog razloga za nekoga ko hoće da uči. Apple je u iOS 13 promenio UI framework, izbacili su SwiftUI što je potpuno drugačiji način od onoga što se ranije pisalo. Sve je drugačije, konceptualno i tehnički. To će biti aktuelno za oko 2 godine jer je sistemski framework i mora da se koristi iOS 13 kao minimum, a na iOS 12 neće raditi. Tako da će za 2 godine ući u širu praksu kada 80% ljudi pređe na iOS 13. Sada kada kreneš da učiš iOS development to će biti potpuni pakao jer moraš da učiš dva potpuno različita UI frameworka paralelno. Imaćeš situaciju ako znaš UI Kit kao onaj stari framework moćićeš da nađeš dosta posla na održavanju starih UIKit aplikacija, dok će većina ljudi učiti SwiftUI jer će se to predavati. Svi blogovi prelaze na SwiftUI i svi će o tome pričati, a ostaće ona stara varijanta da radi. To je neki moj plan. Vrati u život ovih par aplikacija makar zarađivale 100 dolara mesečno, jer će to da se skupi vremenom, a realno ne radiš ništa. A nadalje sada već i Ana i ja radimo zajedno u firmi tako da može da se radi više projekata u paraleli.
Ivan Minić: Za kraj bih se dotakao toga da si ti kolega podkaster. Realno, podkast je nešto što ovde kao format nije preterano zastupljeno. S druge strane, realno oduzima dosta vremena, ne možeš da ga uradiš za 5 minuta u slobodno vreme već zahteva da izdvojiš makar onoliko vremena koliko traje. Ti si počeo pre nekoliko godina.
Aleksandar Vacić: Mislim da je bio decembar pre tri godine.
Ivan Minić: Podkast se zove Infinitum. Bavite se tehnologijom, ali dominantno Applom.
Aleksandar Vacić: Tagline je upotreba Apple tehnologije u realnom životu. To je koncept.
Ivan Minić: Čime si se vodio, šta je priča koju praviš, s kim radiš?
Aleksandar Vacić: Podkast je nastao u vreme kada nismo znali ni za jedan podkast na srpskom jeziku. Bilo je radio emisija koje su stavljane na SoundCloud, ali baš za neki podkast nismo znali. Miki Adamov, siva eminencija Mac scene osamdesetih i devedesetih u Srbiji, ja sam ga znao uglavnom preko Sezama, mislim da sam ga video 3 puta u životu, ali je on mene znao kao iOS developera. I jednom se sretnemo u “Dolini gladnih” [početak Bulevara Zorana Đinđića] i on kaže – Mogli bi da pravimo podkast. O čemu – Pričamo o Applu, znam dosta ljudi mogli bi da ih intervjuišemo. Nešto kao što ti radiš sa Pojačalom. Neka poznata imena, ljudi koji su osamdesetih i devedesetih radili nešto značajno na Mac sceni na Balkanu. Sticajem okolnosti smo čekali 3 meseca i krenuli, umesto u avgustu, tek u novembru, decembru. Miki je tada znao dosta ljudi pa smo intervjuisali ljude koji su osnovali Mikro knjigu, kako su pravili knjige na Mac-u, čoveka koji je popravljao Quicktime kodeke za Apple da bi Sony i JVC pravili HD kamere. Ovi odu kod Appla, oni ga preusmere ka njemu – obratite se ovom čoveku u Srbiji on će to da vam popravi. Zašto se njihov movie output ne vidi na Macu. On uzme stream koji izlazi sa kasete i bukvalno promeni bitove u Quicktime streamu, šta su pogrešili u kodiranju i onda im to vrati nazad. Čuveni Toša Serbian, to mu je nadimak. To je bio koncept. Realno Mac nije mnogo zastupljen u Srbiji, sem u developerskim i web krugovima, ali generalno nema mnogo ljudi jer košta mnogo više od PC-a. I onda, hajde da pričamo priču o Applu i prezentujemo neke zanimljive ljude. Pošto obojica imamo dosta obaveza, odlučili smo da ne idemo na nedelju dana već na dve nedelje i manje-više držali smo taj ritam. Sada smo na 108. epizodi. U međuvremenu nam je ponestalo gostiju pošto je teško da uklopiš te ljude. Mnogi su se raselili na razna mesta. Pokušavamo da napravimo jednu epizodu o tome kako je Mac došao u Srbiju preko Velebita ’88. i te varijante. Preporučujem svima da pronađu epizodu kada je gostovao Pop iz Macole, pošto tu ima nekih nadrealnih priča uključujući i to da je druga tastatura na Mac-u, posle Američke, bila, po kodnom rasporedu, srpska zato što je bio neki samit nesvrstanih u Jugoslaviji i onda su ovi koristili Mac-ove za to i trebalo im je da imaju srpsku tastaturu. Ali onda su došle sankcije i sve ostalo pa je Srbija izostala iz te priče. Ko zna, možda bi imali AppStore da se to nije desilo. Taj ceo podkast je meni odmor za dušu. Dogovorimo se da snimamo tad i tad, Miki to izmontira, objavi na sajtu. Neka njegova poznanica je napravila logo… On kaže za sebe: Ja znam celu Mac scenu u bivšoj Jugoslaviji, a kod pola njih sam bio kući. Kompozitor nam je dao pravo da koristimo uvodnu muziku njegovu, njegov porodični prijatelj Saša Montiljo, slikar, nam daje za svaku epizodu poseban artwork, tako da je ceo koncept veoma sladak, uživanje je da se radi. U međuvremenu smo promenili da pričamo o tome kako da iskoristiš Apple uređaje u realnom životu – securty, privacy, neke stvari koje su interesantne za korišćenje. To su stvari koje je lepo navesti jer ljudima većinom nisu poznate. Imamo nekih 150 ljudi koji to redovno sluša, a nekada to ide i na 300-400. To je fini krug ljudi i prosto ti je žao da odustaneš i da više ne snimaš jer neko to sluša. Dešava se da nam ljudi jave da su nas slušali u Zimbabveu, pa pravimo mapu gde je ko bio. To je razbribriga, ne trudimo se da od toga napravimo neki biznis već idemo na zezanje. Da nije bilo onih PhP-ovaca Serbian IT podkast, mislim da bi smo bili prvi podkast, ali su objavili epizodu mesec dana pre nas.
Ivan Minić: Ostali ste u priči dovoljno dugo da sada postoji ozbiljna biblioteka stvari koje možeš da preslušaš.
Aleksandar Vacić: Neke od tih stvari su vanvremenske tipa one troubleshooting epizode – ako ti nešto ne radi na Mac-u, gde da kreneš to da tražiš. To je uvek validno. I kako se pojavi nešto novo, na primer Apple promeni onaj EFI firmware ili nešto, pa kako da se snađeš ako nešto ne radi. To su stvari koje se trudimo da spomenemo u svakoj epizodi. Makar jednu koju možeš realno da iskoristiš ako koristiš Mac. Uključujući i to kako da iskoristiš mogućnosti koje ti daje sat da pratiš svoje zdravlje, što je meni koristilo. Pingovao me je jednom da je na tipa 3-4 nedelje detektovao puls srca 160 dok sam gledao televiziju. Hmmm. Zanimljivo. Odem kod doktora i on mi kaže nemaš biohemijski problem, ali imaš električni problem – srce ti ponekad preskoči. To se dešava svima, ali kod tebe je 10% svih otkucaja preskočeno. To ti nije problem, ali za 10 godina bi mogao da bude. Onda mi je dao neke beta bloker tablete i za 2 meseca sam smanjio na 0,5%. Ja to ne bih imao pojma da se dešava da ovo nije pištalo. Na takve stvari pokušavamo da stavimo fokus, a ne da reklamiramo Apple kako je on super, nego šta ti donosi ako koristiš te uređaje. To je osnovni koncept koji se trudimo da držimo uz povremene izlete u komentarisanje tekućih situacija.
Ivan Minić: Hvala ti što si bio. Poštovani slušaoci i gledaoci hvala vam na pažnji, nadam se da vam je i ova epizoda bila zanimljiva. Kao i do sada molim vas da svoje komentare ostavite na za to predviđenim mestima, da nam se javite sa idejama za teme i goste i da nam pomognete da budemo još bolji i da i mi dostignemo 108. epizodu.
Nove epizode u vašem inbox-u:
Podržite Pojačalo:
Donirajte jednokratno ili kroz dobrovoljnu mesečnu pretplatu već od 5 EUR.
Pratite nas:
Društvene mreže:
Podcast platforme:
Biografija:
Aleksandar Vacić
Aleksandar Vacić, jedan je od prvih iOS developera u Srbiji. Programiranjem za Apple ekosistem počeo je da se bavi nakon što je video prvi iPhone 2007. godine.
Činjenica da je Piroćanac nije nimalo uticala na to da, 1994. napusti studiranje na beogradskom ETF-u. Zapravo, glavni krivac bio je njegov prvi računar – 486-ica koja mu je odredila dalji životni put.
Počeo je da se bavi web programiranjem i ubrzo se obreo u betting industriji gde je pravio raznorazna programerska čuda od kojih neka i dan danas rade. A onda je upoznao jedan narandžasti iBook G4 i odlučio da se opkladi sam sa sobom. Počeo je da uči Objective C i pravi iOS aplikacije za iPhone.
U svojoj karijeri radio je kao predavač na iOS Akademiji, osnivač je Radiant Tap agencije, autor brojnih aplikacija i voditelj Infinitum podkasta koji se bavi Apple uređajima i njihovom primenom u realnom životu.