În Interviuri

Interviu cu Mădălin Găgeanu, Android Developer

Mădălin Găgeanu

Cu o experiență vastă în software development și interesat de tot ce înseamnă design, UI și UX, Mădălin Găgeanu este activ în dezvoltarea de aplicații proof of concept și prototype pentru Android, precum și în zona mobile web. Prima aplicație a dezvoltat-o mai mult de nevoie decât de voie, dar așa a început marea sa pasiune pentru Android.


Mădălin, va povesti în cadrul conferinței Carieră în Ctrl, despre lecțiile învățate pe parcursul său profesional. Află mai multe detalii despre eveniment și agendă >> aici.

Ctrl-D: Salut, Mădălin! Îți mulțumim că ai acceptat să ne oferi acest interviu. Cum e să lucrezi într-un domeniu atât de dinamic precum cel al aplicațiilor mobile? E greu să ții pasul cu rapiditatea în care se schimbă lucrurile?

Mădălin Găgeanu: Salut și mulțumesc pentru invitație. Într-adevăr, domeniul aplicațiilor mobile este într-o continuă schimbare, poate cel mai dinamic la ora actuală, mai ales dacă ne gândim că el este încă relativ nou și spațiul pentru inovație este imens.

Din acest punct de vedere, lucrul în mediul mobile este plin de satisfacții pentru că nu te lasă să te plictisești sau să simți că te plafonezi. Cred că cel mai bun mod de a aborda evoluția rapidă a platformelor este să stăpânești foarte bine conceptele de bază, să urmărești toate știrile din domeniu și să încerci mereu lucruri noi.

 

Ctrl-D:Cum de ai ales să lucrezi în acest domeniu?

Mădălin Găgeanu: Nu a fost o alegere calculată sau o inspirație de moment. A fost nevoie de dezvoltarea unei aplicații prototip pe Android la job și așa am început.

 

Ctrl-D: Care a fost prima aplicație creată? Povestește-ne puțin despre ea.

Mădălin Găgeanu: Prima aplicație a fost un proof of concept foarte simplu pentru Vodafone UK. Era formată doar din câteva ecrane statice care simulau un proces de in-application billing. A rămas în stadiul acela. Prima aplicație care a și evoluat a fost prototipul pentru aplicația MyVodafone care este acum pe Google Play în 8 țări, printre care și România.

 

Ctrl-D: Care este procesul de lucru în crearea unei aplicații pentru Android?

Mădălin Găgeanu: Metodologia Agile cred că se pretează cel mai bine la dezvoltarea de aplicații mobile în general. Dar development-ul este doar unul din pașii prin care se trece.

Înainte de scrierea codului, trebuie trecut prin fazele de analiză a conceptului, alegerea setului inițial de feature-uri care vor fi suportate, design-ul UI/UX, măcar în linii mari, și eventual o fază de rapid prototyping pentru validarea lui. Abia apoi vine rândul dezvoltării efective, urmată de lansarea aplicației.

 

Ctrl-D: Ne-ai putea explica, în câteva cuvinte, la ce se referă aplicațiile proof of concept?

Mădălin Găgeanu: În principiu, proof of concept-ul reprezintă implementarea unei idei sau funcționalități de bază pe care se sprijină întreaga aplicație, pentru a putea verifica dacă aceasta are potențial de a fi realizată și folosită.

Accentul nu se pune pe cod mentenabil sau optimizare, ci exclusiv pe funcționalitatea de bază. Dacă aceasta se poate realiza și este fezabilă, atunci aplicația e finisată pentru producție. Pe scurt, este răspunsul cât mai simplu și direct la întrebarea „Cum am putea face așa ceva…?”.
Ctrl-D:  De ce ai ales să creezi aplicații pentru Android și nu pentru iOS? E o chestiune strict subiectivă, sau există niște argumente de natură tehnică în spate?

Mădălin Găgeanu: Un pic din fiecare. Am avut de la început un telefon bazat pe Android și am apreciat integrarea excelentă a serviciilor, precum și deschiderea platformei, ușurința cu care puteai să începi dezvoltarea și lipsa de constrângeri (pentru iOS se poate lucra doar pe Mac, OS X și Xcode). Experiența în Java m-a ajutat mult să avansez mai repede, la fel și documentația foarte bine pusă la punct.

Dacă în trecut platforma Android era destul de slabă față de iOS, ea a evoluat rapid ajungând acum la o maturitate ce depășește platforma Apple. Factorul subiectiv (sincer să fiu, mai mult un moft) este că nu prea agreez sintaxa Objective-C și limbajul în general.

 

Ctrl-D:  Dar minusurile platformei Android? Care sunt acestea?

Mădălin Găgeanu: Cred că momentan, cel mai mare minus este fragmentarea. Cu toate că rata de adopție a crescut în ultimul an, ea nu se apropie de cea a iOS și acest fapt se datorează și numărului foarte mare de terminale diferite din punct de vedere al hardware-ului, dar și din cauza modificărilor făcute de OEM-i (Samsung, LG, HTC).

Aici se poate încadra și fragmentarea display-urilor, care este și ea semnificativă. Platforma pune la dispoziție mecanisme foarte eficiente pentru a putea trece peste aceste dificultăți, dar asta nu elimină necesitatea tratării lor în toate fazele procesului de dezvoltare.

 

Ctrl-D:  Care crezi că este calitatea cea mai de preț a unei aplicații?

Mădălin Găgeanu: În primul rând, interfața și user experience-ul, apoi o integrare cât mai bună cu capabilitățile terminalelor și nu în ultimul rând, sincronizarea cu servicii de tip cloud.

 

Ctrl-D:  Ai putea recomanda celor pasionați de acest domeniu niște resurse de încredere?

Mădălin Găgeanu: Pentru început, tutorialele de pe site-ul oficial Android sunt esențiale. MobileTuts+ oferă și ei o serie foarte bună de articole, iar dupa primii pași, cel mai bun profesor este munca, Google și StackOverflow.

În același timp, trebuie vizitate zilnic site-uri cu design-uri de UI/UX pentru mobile. Aș recomanda pentru asta Dribbble. Pentru cei mai avansați, canalul YouTube AndroidDevelopers e ticsit de informații utile.
Ctrl-D:  Există greșeli pe care le comit în mod frecvent dezvoltatorii de aplicații mobile aflați la început de drum? Cum ar putea să le evite?

Mădălin Găgeanu: Da, și o să îmi permit să elaborez puțin aici. Cred că lipsa focusului pe un UI/UX solid este una din primele greșeli. Modul în care interacționăm cu tehnologia trece printr-o schimbare fundamentală. În lumea mobile, interfețele trebuie să permită o interacțiune rapidă și eficientă. Aplicațiile desktop se bazează pe tastatură și mouse pentru interacțiune (dar și acolo au loc schimbări, dacă ne gândim la gesturile introduse de Apple pentru trackpad).

Aplicațiile mobile trebuie să ofere o interfață „imediată”, care să permită utilizatorului accesul la funcționalitatea dorită cât mai repede și să prezinte informația într-un mod cât mai clar și concis. Utilizatorul nu mai folosește două mâini pentru interacțiune, ci doar una și de multe ori doar un singur deget. Dacă ne gândim că toate acestea nu se întâmplă la birou sau într-un mediu static, ci în mișcare, UI/UX-ul devine esențial.

O aplicație optimă din punct de vedere tehnic nu va avea succes dacă este greu de folosit. Prea puțini dezvoltatori pun la început accentul pe așa ceva, în principal pentru că se lasă absorbiți de aspectul tehnic. Cred că atunci când vrei să începi să dezvolți aplicații mobile, cel mai bine este ca pe lângă partea tehnică, să nu neglijezi partea de UI/UX sau, în caz contrar, să colaborezi cu un designer. Google pune la dispoziție un ghid extrem de bine pus la punct pentru a înțelege principiile de bază ale UI/UX-ului pe Android.

 

Ctrl-D:  Care e cea mai mare provocare cu care te-ai confruntat până acum în dezvoltarea unei aplicații?

Mădălin Găgeanu: Accesul la anumite resurse este dificil. Îmi aduc aminte că pentru un prototip de backup/restore, lucrul cu MMS-urile (mai ales la restore) a fost destul de greu.

În plus, m-am confruntat cu probleme și din cauza modificărilor făcute de Samsung sau HTC pentru propriile interfețe; mici diferențe față de versiunea de bază care nu sunt evidente și cauzează erori în cele mai neașteptate locuri.

 

Ctrl-D:  Dacă ar fi să alegi dispozitivul tău Android preferat, ce ai alege și de ce?

Mădălin Găgeanu: Fără îndoială, Nexus 4. Este un telefon performant, cu o construcție de calitate și un preț imbatabil. Nu folosește absolut niciun fel de modificări, rulând cea mai curată versiune de Android disponibilă pe piață. Dimensiunea ecranului este potrivită, telefonul stând foarte bine în mână.

Momentan folosesc un Samsung Galaxy S4 Google Edition care este un telefon excelent, cu hardware foarte solid și care rulează o versiune aproape fără modificări. Moto X, lansat recent, este și el un terminal superb pe care l-aș recomanda, dar pentru Europa, Nexus 4 rămâne cea mai bună alegere.

 

Ctrl-D:  Care e noutatea Android pe care o aștepți cu cea mai mare nerăbdare?

Mădălin Găgeanu: Cred că Google Now are un potențial imens și sper ca, pe viitor, platforma să permită aplicațiilor să afișeze propriile carduri, similar cu notificările. Aș mai dori să văd o integrare și mai strânsă între Chrome și Android. O îmbunătățire la mecanismul de fragmente ar fi și ea binevenită.

 

Ctrl-D:  Ai putea face un top 5 al aplicațiilor preferate?

Mădălin Găgeanu: E destul de dificil. Sunt multe aplicații bune, mai ales cele de la Google, care sunt un etalon în domeniu, dar am să încerc, fără o ordine specifică: Nova Launcher, DashClock, FlipBoard, Yahoo Weather, Evernote.

 

Ctrl-D:  Îți mulțumim pentru interviu, Mădălin!