Kreatori i alati: Aleksandar Vacić, Radiant Tap

Jedan od prvih iOS developera u Srbiji deli sa nama svoj hardver i softver.

Marija Gavrilov - 23. Jul, 2016.

Aleksandar Vacić, jedan od prvih iOS developera u Srbiji, predavač na iOS Akademiji i osnivač Radiant Tap agencije.

Torba = mobilna kancelarija

Moje radno mesto može biti bilo gde, a najčešće je u lokalnom kafiću. Stoga, sve što mi treba na dnevnom nivou mora stati u jednu torbu.

Veliki sam fan Waterfield proizvoda i preferiram vertikalne tzv. messenger bags. Pre pet godina sam kupio njihov tadašnji model VertiGo i još uvek je u sjajnom stanju, služiće me sigurno još dugo. Taj konkretni model više ne prodaju, a kako VertiGo 2.0 izgleda dosta drugačije, danas bih verovatno kupio nešto iz Muzetto linije.

Takođe obavezno kupim i Suede Jacket Sleeve za koji god laptop koristim — taman dovoljna zaštita za spoljašnost laptopa da mogu da ga ubacim u torbu i pored njega ubacim bilo šta i ne razmišljam da li će biti ogreban. A dodaje tek par mm na sam uređaj.

Hardware

Sav hardver koji koristim mora biti prenosiv i dovoljan za radni dan bilo gde. Pri tom, mora biti pouzdan i dovoljan za bilo koju dužinu radnog dana, što ponekad bude i 10+ sati.

Laptop

Prethodnih pet godina sam koristio Macbook Pro 15” Early 2011. Obzirom da taj model nema retina ekran, tokom godina je postalo prilično neugodno raditi na njemu, jer iPhone simulatori prosto ne mogu da stanu na ekran (o iPad simulatorima da ne pričam).

Poslednjih godinu i nešto dana uzaludno čekam da Apple konačno izbaci Intel Skylake i Thunderbolt 3 bazirane modele. Obzirom da od toga još nema ništa, pre mesec dana sam kupio MacBook 12” Early 2016 model. Iako naoko prilično slab, ovaj mališan je iznenađujuće agilan i upotrebljiv za iOS programiranje.

Ipak, to je samo prelazno rešenje do naredne generacije MBP-a, kada god Apple izvoli istu predstaviti.

Desktop računar niti bilo kakav stoni monitor ne koristim. Samim tim ni miša, niti eksternu tastaturu.

iOS uređaji

Kao iOS developer, okružen sam gomilom iPhone i iPad uređaja, raznih generacija. Moj lični izbor trenutno je space gray iPhone 6s i iPad Pro 9.7” iste boje – uz Apple Pencil, naravno.

Preferiram telefone manjih dimenzija i verovatno bih sebi uzeo iPhone SE, ali je 3D Touch na 6s-u prevagnuo. Kao iOS developer, svakako moram imati uređaje koji pokrivaju sve modele interakcija i razne hw mogućnosti koje iOS uređaji nude.

Apple polaže velike nade u 3D Touch – samo pogledajte šta su sve novo dodali u iOS 10 – i otuda izbor 6s.

Slično tome, iPad Pro 9.7” je prvi iPad koji ima True Tone display koji utiče na prikaz boja i rad sa bojama, otuda i potreba za njim. Takođe tu je i Apple Pencil mada je ta mogućnost vezana za specifičan tip aplikacija. Da nije True Tone-a, iPad Air 2 bi verovatno ostao moj izbor.

Telefon nikada ne nosim u bilo kakvom case-u, dok za iPad uvek koristim Appleov Smart Cover koji štiti sam ekran prilikom transporta u torbi i još dobro dođe kao stalak.

Internet pristup

Internet pristup mi je neophodan stalno, što za komunikaciju što za dnevni posao programera. Samim tim je neozbiljno da se oslonim samo na wifi po kafićima — iako ih po Beogradu ima svuda. A iskreno nije ni preterano bezbedno kačiti se kojekude.

Stoga svuda sa sobom nosim neki 4G/LTE modem. Poslednjih par godina koristim Alcatel OneTouch Y800 koji sam dobio uz ugovor kod Telenora. Uzeo sam najjači data-only paket koji nude, što je sada Surf+ 50 što vam daje nekih 50GB interneta za mesec dana. Kao dugogodišnjem korisniku, nedavno su mi – uz obnovu ugovora – ponudili dupliranje tog limita tako da sada imam na raspolaganju 100GB mesečno za nekih 2000 din što je fantastično.

U paketu se dobijaju dve baterije a jedna traje dobrih 6–7h u toku dana, tokom kojih su na taj uređaj nakačeni barem MacBook, iPhone i iPad. Veoma sam zadovoljan kako sve to radi.

Baterije i kablovi

Za sve ove uređaje treba i dovoljno struje, a pristup do utičnica u kafeu nije uvek moguć. Stoga uvek sa sobom imam i neku eksternu bateriju. U isto vreme kada i MacBook, kupio sam Anker PowerCore+ 26800 koji može puniti bilo koji iOS uređaj nekoliko puta, a izbacuje dovoljno snage da može puniti i sam MacBook.

To je savršeno rešenje jer onda nema potrebe da nosim MacBook punjač i dugački kabl za njega – kratak USB-C na USB-A adapter i to je to. Radi i u parku i na parkingu i bilo gde zatreba. :)

Appleovi Lightning kablovi ne vrede para koje Apple traži za njih jer se posle nekog vremena obavezno raspadnu. Pogotovo u mojoj situaciji kada nisu (uglavnom) na stolu pored punjača već na brzinu ugurani u džep od ranca, vrlo često savijeni pod oštrim uglovima. Stoga sam kupio sebi set Anker Nylon Braided kablova koji deluju znatno izdržljivije.

Sa sobom nosim i gomilu raznih adaptera sa/na USB-C, jer je to jedini port koji imam na ovom MacBooku. Kupio sam i Lacie 2TB eksterni disk sa USB-C konektorom.

Manje-više imam sve što mi treba sem nekog dobrog USB-C huba, jer ih prosto još uvek nema (mislim na USB-C to multi-port USB-C hubove sa carge pass-through opcijom). Ove investicije u USB-C periferije će, verujem, ostati upotrebljive i za narednu generaciju MBP-a.

Ostalo

Moj prijatelj Miki Adamov i ja redovno snimamo podcast Infinitum. Za dobar kvalitet glasa se brine Blue Yeti mikrofon.

Kada se radi u bučnoj atmosferi kakva je kafić, onda su dobre slušalice neophodno sredstvo rada. Moj aktuelni izbor su bele Oppo PM–3 over-ear slušalice kojima sam vrlo zadovoljan.

Obzirom da je moja najpopularnija aplikacija – Run 5k – vezana za trčanje, u asortimanu imam i srodne uređaje. Odnedavno koristim Wahoo Tickr HRM za merenje pulsa a pre toga sam dugo koristio njihov BlueHR koji je odslužio svoje.

Tu su i Bluetooth slušalice gde preferiram Jaybird proizvode. Donedavno sam koristio BlueBuds X a sada merkam Freedom model, mada nisam siguran da vrede tih para.

FullSizeRender

Software

Xcode je ubedljivo najkorišćeniji sw proizvod na mom računaru, shodno profesiji. U suštini, MB koristim gotovo isključivo za programiranje a sve ostalo preferiram da radim na iPadu ili iPhoneu.

Programiranje

Izbor razvojnog okruženja se često bazira na programerovoj pred-istoriji – samo pitajte bivše korisnike Visual Studio ili Eclipse ili koji su prešli na Xcode. Meni je Xcode odličan i svaka nova major verzija donosi znatna poboljšanja. Sem Xcode-a i pripadajućih mu alata – Simulatori, Instruments – koristim tek nekoliko dodatnih programa.

Nedavno sam pazario Reveal kojim tek treba da ovladam. Umesto Appleove često vrljave dokumentacije koristim Dash 3, mada ćemo videti kako će se u praksi pokazati potpuno nova dokumentacija u Xcodeu 8.

Za vrlo retke situacije kada moram da zavirim u SQLite 3 baze svojih iOS aplikacija, koristim Base 2.

Van ovih par programa, koristim redovno i nekoliko pluginova za Xcode 7 koje instaliram koristeći Alcatraz:

VVDocumenter je zlato bez koga verovatno nikada ne bih napisao niti jednu liniju dokumentacije u kodu

Derived Data Exterminator efikasno rešava sumanute probleme kada Xcode pobrljavi šta ima kompajlirano a šta je novo.

DVTPlugInCompatibilityUUIDifier — Xcode 7 nema zvanično podržane pluginove i onda za svaku novu verziju treba ažurirati konfiguraciju za svaki pojedinačni plugin. Ovaj jedan se brine o tome.

SCXcodeSwitchExpander — u kodu često koristim razne enum -e i ovo je life-saver – automatski ubaci sve case grane i spasi me manuelnog kucanja.

XcodeColors — omogućava automatsko bojenje konzolnog loga u samom. Xcodeu. Savršeno radi u kombinaciji sa CocoaLumberjack frameworkom.

KSImageNamed — još jedan automatski code-expander, ovaj put za UIImage imageNamed

Imam još dosta interesantnih pluginova i sa zebnjem iščekujem kako će proći prelazak na Xcode 8 koji zahteva da svaki plugin bude potpisan sertifikatom plus da je baziran na novo-predstavljenom zvaničnom API-ju.

Source Version Control

U pradavna vremena web karijere, sve što sam radio je bilo u Subversionu ili Source Safeu (ko ovo nije koristio, ne zna šta je programerska patnja). Jedva sam čekao da pređem na nešto normalnije i upotrebljivije.

Po prelasku u Mac svet, počeo sam da koristim hg, tj. Mercurial koji mi znatno više leži od ponekad sumanutog git-a. No, kada je Xcode svojevremeno integrisao git, boriti se sa vetrenjačama je postalo vrlo smorno.

Sve lične i klijentske projekte držim na BitBucketu jer od samog početka nude neograničen broj i privatnih i javnih projekata, besplatno. Pritom je moguće kreirati light-weight timove i user-access system koji u potpunosti zadovoljavaju moje potrebe za rad sa klijentima.

Za razne open-source biblioteke, Github je de-facto standard pa kud svi Turci… Ne podnosim git command line UI te ga izbegavam maksimalno i koristim Source Tree koji zadovoljava sve moje potrebe. Probao sam i GitBox i Tower i koješta još i Source Tree je meni sasvim dovoljan.

Web

Prvih 15 godina svoje karijere sam proveo u web svetu i na kraju sam došao do tačke da me mrzelo i sopstveni sajt da održavam. Od weba ipak nema bežanja, ali drago mi je što se moje korišćenje istih sada uglavno svodi na rad sa raznim API servisima.

Svoje blogove i web sajt agencije sam bazirao na Octopressu 2 a merkam da u nekom momentu pređem na Hugo mada me ono baaaaš mrzi da radim tu konverziju.

Koristim Pow! da testiram lokalne kopije tih web sajtova. Mac kao platforma je stvoren za web dev i uopšte za rad sa raznim Unix-based alatima. Shodno tome toplo preporučujem bilo kom programeru da u prvih nekoliko koraka pripreme novog Mac-a za rad na bilo čemu uvrsti Homebrew a onda sve drugo što zatreba instalira kroz isti.

Kada sam spomenuo web servise i API-e – Charles web proxy je moj najbolji web prijatelj. Gde bi mi bio kraj da sam imao ovaj sw na raspolaganju pre 10 godina, možda bih se manje smorio sa web tehnologijama.

Tu je i vrlo obećavajući Paw mada njega još ne koristim ni približno koliko bi trebalo. Isto važi i za Cocoa JSON editor.

Komunikacija

Glavni komunikacioni alati/platforme su mi Appleov iMessage i Slack a kada moram onda i Skype.

Podcast snimamo koristeći FaceTime i Audio Hijack 3. Uopšteno — ako na Mac nešto radite bilo šta sa audiom, Rogue Amoeba web sajt vam mora biti prva stanica. Jedina društvena mreža na kojoj redovno visim jeste Twitter i to kroz fenomenalni Tweetbot. Ako ptičica ikada propadne, verovatno ću bataliti taj razni social network svet.

Facebook, LinkedIn, Instagram i slične stvari ne koristim. Imam / imao sam naloge ali ih ne gledam, sem ako iOS posao to zahteva. Facebook Messenger koristim – isključivo kroz odlični iOS app – za komunikaciju sa udaljenom rodbinom koja ne koristi Twitter ili iMessage.

Ostalo

macOS je sjajna platorma za ljude koji cene kvalitetan software i spremni su za njega da plate. Kada bih naveo sve što koristim, ovaj tekst bi bio 50% duži, stoga samo nekoliko bisera.

Za obradu slika koristim Acorn, ponekad i aktuelnu trial verziju Photoshop-a ako baš moram. Za pregled slika sjajni Lily View, a za opšti rad sa fajlovima Path Finder. Appleov Safari je sasvim dovoljan za moje potrebe a povremeno koristim Chrome, gotovo isključivo za sajtove koji u 2016-oj još uvek koriste Adobe Flash plugin za koješta.

Trenutni email klijent je Airmail 3, a nestrpljivo čekam da se Spark Mail pojavi za Mac pa da ga koristim na svim platformama.

Život bez 1Passworda bi mi bio znatno komplikovaniji što ilustruje činjenica da imam 470+ sačuvanih raznih logina u njemu. Backupe pravim koristeći SuperDuper!. Za remote access tu je Screens. Za kontrolu potrošnje disk prostora – vrlo bitno kada koristiš SSD-ove – Daisy Disk.

Sve tekstove pišem u markdown formatu koristeći iA Writer 3 a za konverziju u PDF ili HTML ili šta već koristim Marked 2.

Rudimentarno koristim i Numbers, Pages i Preview – Appleove aplikacije koje mi završavaju posao oko kancelarijskih potreba i pregleda/obrade PDF-ova.

Media

Kompletan audio/video u kući i van kuće ide kroz Plex. Plex iOS klijent je fantastičan i njega koristim čak i kada sedim u kafiću i streamujem muziku sa kućnog Mac mini servera.

Muzika koju slušam su uglavnom soundtrackovi filmova ili serija a ponekad i gothic / symphony rock, npr. Within Temptation i Nightwish. Na Macu za video koristim MPlayerX mada sistemski QuickLook završava posao u 95% slučajeva.

Za snimanje demoa svojih aplikacija koristim ScreenFlow koji je izuzetan za te namene. Ako nešto treba ozbiljnije da se izmontira, tu je iMovie.