IT Industrija

🔥 Najčitanije
🔥 Najčitanije
Petar Perović, dizajner interfejsa iz Novog Sada, deli sa nama priču o izazovnom projektu potpunog redizajna Active Collaba, jednog od najuspešnijih domaćih tehnoloških proizvoda.
Pre godinu i po dana prihvatio sam i obavezao se da ću pokušati da pomognem u redizajnu Active Collaba. Nisam imao posebnih uslova osim da radimo u atmosferi uzajamnog poverenja, oslobođenoj od hijerarhije i sa potpunom otvorenošću jer verujem da je to jedini ispravan put do boljeg proizvoda. Ili je to barem okruženje u kojem ja mogu normalno da funkcionišem.
Deo te otvorenosti sastojao se i u priznanju i prihvatanju da Active Collab nosi identitet koji nije posebno privlačan — počevši od svog pomalo štreberskog naziva, preko ne baš udobnog iskustva u korišćenju do sveopšteg osećaja da proizvod pripada drugoj softverskoj ligi. Koliko god to grubo zvučalo njegov višegodišnji plodonosni život pokazuje kako je to zapravo prilično održiva pozicija. Budući da postoji relativno mali broj prvoklasnih softverskih rešenja za bilo koju namenu govori koliko je teško napraviti solidan proizvod koji ljudima rešava neki problem i koji su spremni da plate. Iz te perspektive oduvek sam imao veliki respekt prema uspehu koji je Active Collab napravio.
Međutim, održavati proizvod profitabilnim zahteva sistem koji je u stanju večite budnosti, gde svako dremanje dovodi do opadanja interesovanja onih koji taj proizvod plaćaju. U slučaju Active Collaba, iskustvo korišćenja proizvoda (UX) jedan je od zapostavljenih aspekata koji je od samog početka bio nešto što je bilo nadogradnja na veštinu programiranja u kojoj se kompanija udobno osećala. Jer A51 prevashodno sebe posmatra kao programersku firmu, gde je dizajn bio nešto što se rešava usputno na putu do bolje tehničke implementacije. Osam godina funkcionisanja u tom režimu doveo je do stanja aplikacije takvog da joj je bilo potrebno generalno renoviranje UX-a.
Prve nedelje rada na aplikaciji proveo sam u pokušajima da steknem opšti utisak o softveru i lociram ključne problematične tokove. Ono što bi se u engleskom nazvalo friction points, odnosno izvore frustracije tokom izvršavanja nekih zadataka. Bilo ih je jako puno. Aplikacija me u tom trenutku podsećala na kuće onih porodica koje ništa ne bacaju. Iz ove kuće ništa nije izbačeno osam godina.
Imao sam u srednjoj školi drugaricu koja je živela u takvom okruženju. Ponekad smo se okupljali i pravili palačinke, mada u njenoj kući samo dvaput. Kada je vreme jelu, tanjir si morao da tražiš negde među papirčinama i sveskama sa receptima. U istom kredencu gde se nalazio džem mogle su se pronaći i bušilica i fen za kosu. Živa istina. To je za nju i njenu porodicu bio logičan sistem u kojem su se odlično snalazili, ali je za svakog gosta bio užasno frustrirajući. Active Collab se donekle uklapa u ovu anegdotu — to je softver čije bogate mogućnosti ljudi zavole nakon što nauče gde se šta nalazi i kako se koristi. Ali u konkurenciji dvadeset sličnih proizvoda i pored toga što mu relativno veliki broj ljudi daje šansu i isprobava trial, malo je dovoljno upornih da mu se posvete i nauče da ga koriste.
Sličan krupni problem koji je bio evidentan je postojanje prevelikog broja nedovoljno osmišljenih funkcionalnosti. U realnosti je mnogo lakše iznova dodavati funkcije i kreirati iluziju da je zbog toga softver moćniji, nego uložiti napor u razumevanje realnih potreba korisnika i prema tome fokusirati pažnju razvoja. Active Collab je tako vremenom postao alat u kojem se intenzivno koristi samo jedan deo funkcija, dok je postojalo brdo drugih koje su predstavljale dobrom delu korisnika samo šum. Prema tome, očekivala nas je značajna redukcija, ali ne na način da pacijentu odsečemo nogu i otarasimo se problematičnih delova, već da pokušamo da iznova temeljno razmislimo kako da probleme bolje rešimo.
Metaforično rečeno, to je značilo da sve stvari treba izbacimo iz naše zapuštene “kuće”, razvrstamo, neke vratimo na odgovarajuće mesto, kupimo neke nove, a mnoge i bacimo u smeće. Uz rizik da u tom renoviranju neoprezno bacimo i porodičnu srebrninu.
Za opskurne funkcije koje su kandidati za izbacivanje i u govoru i na papiru koristili smo metaforu sekire
Brzo mi je postalo jasno koliko je Active Collab kompleksan sistem i kako će najveću kočnicu predstavljati osam godina nasleđa i postojećih korisnika prema kojima se mora ophoditi sa najvećim oprezom. Međutim isto tako je bila prisutna i atmosfera da je neophodno hrabrije i odlučnije pristupiti redizajnu.
Velika stvar koja nam je davala ohrabrenje da slobodnije dizajniramo su rezultati istraživanja koje smo sproveli i u kojem su korisnici su na prvo mesto razloga zbog kojih vole Active Collab stavili činjenicu da postoji “self-hosted” — plan koji im omogućava da softver plate jednom i još bitnije instaliraju ga kod sebe na server. Takav model niko od direktnih konkurenata ne nudi. Kod klijenata kakva je npr. Bela kuća (dugogodišnji korisnik Active Collaba) presudna je činjenica da imaju direktnu kontrolu nad osetljivim podacima. Da li oni koriste naš softver da organizuju spremačice ili državničke sastanke ostaje nam da nagađamo, ali je činjenica da njima Active Collab rešava problem koji im nijedan konkurentski softver ne rešava. U svetlu dizajna to je značilo da su mnogi naši korisnici prihvatili UX koji ima nedostatke na račun drugih odlika koje su u njihovoj perspektivi nezamenljive. To nam je dalo određeni prostor da slobodnije rešavamo probleme u funkcionalnom dizajnu aplikacije. Ne u smislu “okrenućemo sve naglavačke, a oni će svakako nastaviti da kupuju”, već više da imamo jedno korisno saznanje o prioritetima naših korisnika koje nam je davalo nešto prostora da im “prodrmamo kavez”. Niko ne voli kada mu se menjaju ustaljene navike, ali u ovom slučaju morali smo tako da radimo radi budućnosti proizvoda.
U dosadašnjoj karijeri nije mi nepoznat rad na jako dugačkim projektima, ali svaki put sam bio jedini dizajner u timu. I ovaj put sam doveden kao “UX Team of One”, što je za projekat ove veličine u mnogim trenucima tokom godinu i po dana bilo izuzetno opterećujuće. Verovatno i potpuno pogrešno. Jer prilično je naporno projektovati arhitekturu aplikacije i rešavati tokove, a u isto vreme kreirati vizuelni dizajn, ilustrovati i pisati copy. I onda na kraju polirati dizajn kroz kôd. Ali manji je problem što je to naporno, koliko to u nekom trenutku mora da ispliva negde u funkcionisanju i izgledu aplikacije. Jer je gotovo nemoguće na tolikom čudovištu održavati istovremeno konzistenciju u arhitekturi, vizuelnom identitetu, kôdu i copywritingu, a da negde ne hvataš prečice. Da danas počinjem potražio bih sigurno već u ranoj fazi više ljudi za pomoć, bez obzira što bi to značilo da moram da se bavim i vođenjem tima iako se daleko ugodnije osećam u produkciji. Ali i pored velike slobode koju sam dobio, svakako da nisam donosio odluke u potpunoj izolaciji. Kroz ceo proces svaka značajnija odluka u dizajnu doneta je kolaborativno, a zatim i prošla kroz validaciju svih koji imaju pristup aplikaciji i mogu da testiraju dizajn.
Ako možemo da govorimo o nekom sveukupnom pristupu ovom redizajnu, može se reći da smo se u prilagođenom obliku služili Lean UX metodama. Teorijski to bi značilo da kreiramo mali i funkcionalan dizajn tim u koji bi ravnopravno bili uključeni ljudi različitih ekspertiza (npr. programer, osoba iz supporta, dizajner, klijent itd.). Na taj se način dizajn demokratizuje, može se dobiti vredan uvid u problem iz različitih perspektiva, a vođa tima ima ulogu moderatora koji usmerava proces dizajna. Svi prateći aspekti Lean UX pristupa imaju za cilj da se što pre i dođe do prototipa ili primitivnog proizvoda i na taj način što ranije validiraju ideje.
U stvarnosti smo tu romantičnu ideju malo prilagodili našim specifičnim prilikama zbog prirode funkcionisanja firme A51 — ljudi dolaze i odlaze u različito vreme; ne postoji rigidan menadžment i sastanci; funkcionisanje se mahom oslanja na taskove u samoj Active Collab aplikaciji koju i razvijamo; ljudi su već opterećeni svojim osnovnim poslovima. U neku ruku bi striktno sprovođenje takvih principa bila frustrirajuća promena u dnevnoj rutini za većinu ljudi, pa smo ipak funkcionisali u jednoj relaksiranijoj varijaciji Lean UX metodologije.
Tim koji je dizajnirao aplikaciju na dnevnom nivou činili smo Ilija, Goran i ja. Backend i Frontend developer i dizajner. Prvih šest meseci radili smo iz iste kancelarije i to je bio period koji sam najviše iskoristio da kroz dizajniranje pokušam da temeljno shvatim probleme koje rešavam. Postoji nešto što se naziva beginner’s mind. Koncept iz budizma koristan za bilo koji intelektualni rad gde neiskusan čovek neopterećen prethodnim iskustvima “šamara” ideje i postavlja pitanja iz svoje amaterske perspektive. Iako sa iskustvom u dizajnu, ja sam u poznavanju aplikacije i Project Management domena imao beginner’s mind što je bilo korisno u smislu da je bacalo novu svetlost na određene probleme i omogućavalo mi da postavljam teška (često i besmislena) pitanja i suprotstavljam se postojećim rešenjima u dizajnu. U ovakvom odnosu odsustvo hijerarhije je neophodno jer ne sme da postoji uzdržanost u suprotstavljanju mišljenja sa osobom koja vam kao u mom slučaju npr. isplaćuje platu. Ali isto tako ne sme ni da postoji često prisutna uzdržanost prema autoritetu dizajnera, ma koliko on bio iskusan. U civilizovanim okvirima mi provodimo već godinu i po dana u manje ili više naelektrisanim diskusijama. To zna biti prilično stresno, ali uvek donosi rezultate.
U toku i nakon diskusija o tome kako treba nešto da funkcioniše, koristio sam papir i olovku da skiciram i zabeležim to što uspeli da verbalizujemo. Papir je brz, ali daje suviše površan osećaj, dok je dizajn u kôdu najsporiji ali omogućava potpuno realan osećaj interakcije. Mnogi danas pokušavaju da nametnu svoja rešenja za ovaj problem, ali ne postoji opšti dogovor koja je najbolja praksa. Ja sam za to da svi koriste ono što im se čini najkomotnije u datom momentu. Moj proces je da se konstatno krećem između papira, Sketcha i kôda, šta mi je najbrže u određenom trenutku.
Ponekad je najjasniji način za komunikaciju sa developerom da mu se ostave komentari u samom dizajnu. Iako stalno pričamo, ovakvi komentari koriste i meni lično za dokumentaciju i podsećanje kako nešto treba da funkcioniše.
U slučaju Active Collaba, moji deliverables su dugo vremena bili Sketch fajlovi. Godinu i po dana kasnije poliram dizajn najvećim delom u kôdu. Ideje koje sam na papiru razrađivao u nekom trenutku prenosio sam u Sketch gde sam još od rane faze polagano uspostavljao vizuelni jezik kojim ćemo se služiti. U teoriji mislim da je potpuno pogrešno jako rano uvoditi breme vizuelnog dizajna jer u toj situaciji neminovno je da gubiš vreme baveći se detaljima, ikonicama i bojama u trenutku dok neki krupni funkcionalni problemi nisu još uvek rešeni. S druge strane, kada je tim mali, on po svojoj prirodi ima potencijal da bude jako dinamičan i proizvodi rezultate brže nego kada bi razvoj uslovljavali procedurama i raslojavali ga na previše rigidne faze. U tom smislu nisam se posebno opterećivao jer mi je okruženje davalo osećaj slobode da koristim alat koji mi je u datom momentu pomagao da najbrže pribeležim i realizujem ideju.
Razrade naših diskusija u Sketchu Goran je pretvarao u funkcionalne celine. Pošto smo se oslanjali na već postojeći API mogli smo relativno brzo da napravimo i testiramo potpuno funkcionalna rešenja. Naš Lean je značio da želimo da se krećemo brzo, često do poluzavršenih rešenja ne čekajući da detaljno razradimo interakciju i ispoliramo statični mockup pre nego što krenemo u implementaciju. Potvrdiće se da svakako nismo stoprocentno mogli znati da li je nešto dobar dizajn pre nego što ga testiramo u realnosti sa živim ljudima. Mogli smo imati samo dobre pretpostavke. Zbog toga smo uvek imali za prvi cilj da stvorimo dovoljno dobru osnovu koja se kroz upotrebu može bolje razumeti i unaprediti.
Crtanje ikonica i ilustracija je gotovo relaksirajuće iskustvo u odnosu na rešavanje bilo kakvog UX problema. To uvek krene na papiru u primitivnoj i brzoj verziji da bih što pre uhvatio bilo kakav pravac, ali konkretan stil uvek razrađujem u softveru, u ovom slučaju Sketchu
Sve istraživačke UX-u tehnike imaju za cilj da se prikupe informacije koje će pomoći da se bolje razume problem i na taj način umanji neizvesnost od potencijalno pogrešnih odluka u dizajnu. Mi smo svoje u umereno sistematičnom pristupu skupljali iz kombinovanih izvora.
Kod softvera koji živi osam godina i pruža support postoji izuzetno vredna baza informacija o očekivanjima i frustracijama korisnika. Ljudima koji plaćaju softver je prilično stalo da učestvuju i doprinose njegovom razvoju, pa se uglavnom ne ustručavaju da iskažu nezadovoljstvo. Zadatak dizajn tima je da sluša i presuđuje da li je nešto realan problem ili je samo pojedinačni korisnik jako glasan. Primera radi, u našem slučaju iznova su se na supportu javljale zamerke poput “Active Collab is too clicky”, pa nam je to bio prilično dobar indikator da mnogi procesi izazivaju frikciju, traju duže nego što bi trebalo i da postoji globalni problem sa nedovoljno optimizovanim tokovima u aplikaciji.
Budući da su Ilija i Goran u manjoj ili većoj meri sve ove godine prisutni na supportu, imali su prilično precizan uvid koja su to žarišta koja zahtevaju posebnu pažnju. Naoružani takvim informacijama često su se suprotstavljali mojim nagonima da suviše grubo redukujem delove aplikacije za koje sam imao instinkt da su previše opskurne ili komplikovane. U takvim situacijama gde moj instinkt sugeriše jedno, a njihovih osam godina rada na softveru drugo, najpravedniji sudija bile su nam realne statistike korišćenja pojedinih funkcija. Ovako dobijene informacije uglavnom su vrlo dobra smernica i kroz dizajn smo se rukovodili pravilom da ukoliko neku funkcionalnost koristi ispod 10% ljudi, da je ona ozbiljan kandidat za izbacivanje ili u najboljem slučaju za temeljno re-osmišljavanje.
Jobs-To-Be-Done je koncept koji postoji u biznisu već 25 godina, ali u kontekstu UX dizajna počeo relativno skoro da se pominje. JTBD zapravo predstavlja samo prilagođenu i verbalizovanu verziju procesa koji je u sličnom obliku odavno u upotrebi u dizajnu. Negde uporedo sa početkom mog rada na Active Collabu počeli su da se intenzivnije pojavljuju tekstovi na ovu temu Alana Klementa i drugih autora na Intercom blogu. To mi je davalo izvesnu potvrdu da je način sličan onome na koji sam već navikao da rešavam probleme u funkcionalnom dizajnu potpuno primenljiv i na Active Collab. U teoriji bi svi voleli da postoji precizan put do rešenja problema na kojima rade, ali stvarnost je drugačija i svaki novi projekat zahteva specifičan proces. Za Jobs-to-be-Done osećam da je u tom smislu dovoljno fleksibilan da je primenljiv i na male probleme jednako kao i na mamutske poduhvate kakav je Active Collab.
U kratkim crtama, JTBD sastoji se u definisanju posla koji korisnik u određenoj situaciji želi da obavi radi ispunjavanja određenog cilja. Vrlo čest problem u UX dizajnu je pogrešno definisanje problema, pa tako timovi dizajniraju rešenja na osnovu pogrešnih pretpostavki i dolaze do dobrih rešenja za probleme koji ne postoje. Usvajanje relativno jednostavne JTBD matrice u razmišljanju zapravo samo omogućava bolju postavku problema i tako stvara najbitniji preduslov za njihovo rešavanje. Međutim, iako je matrica jednostavna sama po sebi, ovo je nešto što se trenira i ponekad je dosta teško shvatiti koji je u određenoj situaciji posao koji korisnik treba da uradi i prema tome sastaviti job story. Kao i na drugim mestima, ja nisam trošio previše vremena pokušavajući da formalno dokumentujem dizajn ispisujući job story za svaku situaciju, već sam se više služio ovim konceptom u razmišljanju.
Nisam mogao da nađem reč na našem jeziku koja bolje opisuje napredak u dizajnu koji smo postigli tek kada je funkcionalna verzija ugledala svetlost dana. Do tog momenta trebalo nam je oko godinu dana. Sve one poluzavršene sekcije aplikacije nisu zapravo imale potpuno realan upotrebni test pre nego što smo ih počeli koristiti kao celinu u produkciji. I u našem slučaju potvrdila se ona startup mantra o težnji ka što bržem dolasku do Minimum Viable Producta. Sredinom novembra smo podvukli crtu i rekli “Od ovog trenutka koristimo novu verziju za naše stvarne taskove, diskusije i kalendare”. Aplikacija je bila u jezivom stanju, pola stvari nije funkcionisalo, a novi vizuelni dizajn izgledao mi je često gore od starog. Međutim, pošto su ljudi bili primorani da koriste proizvod u takvom obliku krenuo je u salvama da pristiže koristan i precizan feedback. Pošto smo postavili dobru osnovu, za unapređenja nam više nisu trebale nedelje i meseci, već dani. Trenutno smo i dalje u ovoj fazi, samo što na kraju svake nedelje imamo osećaj da je sve manje problema koji vise u vazduhu. I počeo sam bolje da spavam.
Novi Active Collab trenutno je u beti. Feedback koji pristiže govori da postoji utisak da je aplikacija promenila identitet od moćne i feature-rich do prilično jednostavne. S jedne strane to su ohrabrujuće vesti budući da smo na kraju očuvali i unapredili 95% funkcionalnosti koje su postojale. Izgubio se osećaj prevelike dubine i kompleksnosti, a aplikacija je ostala jednako moćna. S tim u vezi postoji prilično pozitivno očekivanje da će novi korisnici dobiti značajno poboljšano iskustvo u odnosu na staru verziju. S druge strane postoji briga da će takav identitetski zaokret da uzdrma stare korisnike, ali moram verovati da će udobniji UX na kraju biti dovoljno ubedljiv razlog da prevaziđu mali zemljotres koji će prelaskom na novu verziju doživeti.
Prostor za napredak je i dalje ogroman. Iako nam tek predstoji tržišna validacija, koncepcijski možemo da budemo zadovoljni osnovama koji smo uspeli da postavimo. Naša kuća je godinu i po dana kasnije bezbedna, topla i prilično solidna. Ne postoji toliko dramatična pretnja da će nam se srušiti na glavu, ali i dalje vire kablovi iz zidova. I enterijer nije baš skandinavski.
Veliki rad tek predstoji.
Prve skice nečega što bi trebalo da postane novi identitet Active Collaba. Pojednostavljenje i otvorenost koje pokušavamo da dobijemo kroz UX želimo da komuniciramo i kroz identitet — Moćan project management za sve
Objavio/la članak.
petak, 3. April, 2015.
Dejan
četvrtak, 2. Februar, 2017.
Sjajan tekst! Ima dosta zanimljivih stvari. Hvala! :)
Petar
ponedeljak, 13. April, 2015.
@Markiz Styleguide – predlažem što ranije, od prvog dana, apsolutno, samo što u realnosti njegovo održavanje zahteva puno discipline i koordinacije. Kada je počeo da se intenzivira rad na implementaciji, ja sam nacrtao styleguide i definisao pravilo/tagline – "If it's not here, it doesn't exist" – misleći time da apsolutno svi elementi u dizajnu moraju da se uvedu prvo u styleguide pre nego što se bilo gde upotrebe. Naravno, u implementaciji kada više ljudi radi potpuno odvojene sekcije, to se vremenom zapustilo. Prvo. Drkanje je za developera biti disciplinovan i svaki put zavoditi nove elemente u nekakvu biblioteku. Drugo. Ja sam driftovao u dizajnu i menjao izgled elemenata vremenom pa je to za developere bilo teško ispratiti. U smislu "da li je sad ovo globalno novi izgled za npr. sve inpute ili je to samo na ovom jednom mestu?". Čak i kada su me pitali takva pitanja, ja sam često bio neodređen – prosto pojma nemam u tom trenutku da li ćemo neki element svuda na isti način koristiti i šta bi globalno gaženje moglo sjebati na nekom drugom mestu. Trenutno je stanje takvo da je nešto u styleguide-u, ali je dosta toga i lokalno pregaženo. Na površini se to uglavnom ne vidi, ali tu i tamo negde nešto nekonzistentno ispliva. U suštini posle releasa se to može relativno brzo srediti, pošto je lakše kad znaš manje-više konačan scope projekta. Tako je i planirano. Mislim da je generalno dobra ideja kao osnovu koristiti Bootstrap ili neki sličan framework od starta. Najviše pomaže u smislu dokumentacije, organizacije, modularne implementacije itd. Onda nema nedoumica kako se i kada nešto koristi, proširuje se po poznatim pravilima i zapravo je framework već uradio dobar deo organizacije za tebe. Pa čak i kada se sve živo mora pregaziti sopstvenim stilovima, na velikim projektima to i te kako ima smisla odabrati već uređena pravila po kojima će se igrati.
Markiz
petak, 10. April, 2015.
Baš mi je prijalo ovo štivo za vikend. Jako sam našao sebe u tekstu jer i sam redizajniram jedan kompleksan sistem i poistovećujem se sa fazama kroz koje si prolazio (mada smo mi još uvek u fazi samog dizajna i testiranja istog). Godinu i po dana je dugačak period za razvoj UX-a i UI-ja nekog prozivoda, verujem da je bilo dana kada ti se smučio ceo projekat ali taj momenat kada vidiš svoje "čedo" online i kako ljudi rade na njemu te osvesti. :) Što se tiče UX research pristupa, za One-man-band, verujem da ni nije moglo nikako drukčije jer vršiti istraživanje po ustaljenim pravilima i modelima zahteva previše vremena ako nije više ljudi uključeno. Ne znam kako je ostalima, ali meni je najinteresantniji period definisanja UX-a, novih flowova ili ispravljanja postojećih i određivanje vizuelnog stila - onaj početak kada daješ novo ruho postojećoj aplikaciji ili svojim wireframeovima. Ostalo između i posle dođe kao rudarski postao that needs to be done. Pošto si sam radio sve, interesuje me da li si napravio sebi (a i za druge devove) styleguide kojim si se vodio kroz dizajn svih tih ekrana i ako možeš da ga embeduješ ovde? Ume da bude priličan izazov kada moraš u glavi da uvek imaš sve moguće ekrane i da zadržiš vizuelnu konzistentnost elemenata i UX-a kroz njih bez obzira na funkcionalnosti koje obavljaju. To ume nekada da bude scary thing kada imaš funkcionalnosti jedne aplikacije koje su prilično drugačije jedna od druge ali zato je valjda i zanimljivo baviti se ovim poslom - jer rešavamo raznovrsne probleme (UX, dizajn, itd). Nadam se još nekim tekstovima na tematiku UX-a i dizajna na Startitu i budućim Petrovim apdejtovima vezano za ActiveCollab.
Sasa
subota, 4. April, 2015.
Svidja mi se tekst. Morao sam da pravim pauze dok sam ga citao ali cini mi se da sam saznao puno stvari.
Kata
petak, 3. April, 2015.
Sjajan sjajan tekst. Osim sto pročitaš nešto stvarno zanimljivo, naučiš gomilu stvari koje možeš i u svom procesu da primeniš. Hvala Petre :) PS. za sledeci projekat zovi u coop, copywriter here.