Korisnikovi zahtevi– zapovest, sugestija ili šum?

“Da sam pitao kupce šta je to što im treba, rekli bi mi da žele brže konje.”,
Henry Ford

Slušati ili ne korisnika kod izrade knjigovodstvenog programa

U članku o tome zašto su S+S desktop knjigovodstveni programi pravi put, Neđo je ostavio komentar gde se pita da li su zahtevi koje on ima stvarno “normalni”, kad nijedan program ih ne podržava u potpunosti.

Ja sam načelno o ovoj temi već pisao ovde, ovde i ovde.

Za one koji nisu stigli da pročitaju te tekstove, oni se svode na to da:

  • programi treba da se prave po meri korisnika, a ne po meri programera.
  • program treba da se prilagodi korisnikovom poslu, a ne obratno
  • kupovina gotovog programa je u većini slučajeva mirenje sa činjenicom da nećete baš sve moći da radite kako vi želite već ćete morati da se prilagodite “proseku”.

I da li to znači da je “korisnik uvek u pravu”?

Evo dva primera iz moje prakse koji možda daju odogovor na to pitanje…

Korisnik je uvek u pravu

Kada sam radio program 2002-e, kao i svaki drugi progamer nisam baš mnogo mario za korisnike već sam sve arogantno naravno radio onako kako sam “znao zasigurno” da treba. Jedan od modula tog knjigovodstvenog programa je bila “prodajna kasa za prodavnice”.  Modul je radjen namenski za poznatog kupca koji je imao više prodavnica sasvim pristojene veličine, te nakon mesec dana rada jednog ponedeljka smo ga pustili u upotrebu u 9 sati ujutru u jednoj od prodavnica. Nije prošlo ni dva sata, mobilni zvoni, ja se javljam a sa druge strane vlasnik prodavnice urla da smesta dodjem do njih. Ja otrčim do prodavnice prepitujući se uz put šta bi moglo da “pukne”… Na vratima poradavnice ga pitam da li je program pao, on kaže da nije (ja sav zbunjen odgovorom) i samo me  sprovede do kase za naplatu na kojoj me dočekuje kasirka sva crvena od suza. Ja je pitam je šta je bilo – ona mi samo pokaže red ljudi koji ceka na naplatu. Naravno svi namrgodjeni, psuju kompjutere i “majstora” i prodavnicu. Neki odlaze ostavljajući korpe što vlasniku radnje naravno "diže pritisak na 300.
Ja je malo smirim i napokon čujem sta je razlog: nakon ukucanog bar koda mora da se pritisne enter. Prvih 30 sekundi mislim da se šali sa mnom dok mi ne pokaže kako to izgleda u praksi. Prevuče artikal na traci preko bar koda na pultu, okrene se za 180 stepeni, pritisne enter, 180 stepeni itd… Produktivnost na nuli.

Poenta ovog primera je da za mene kao programera koji testira aplikaciju to pretiskanje entera nakon unesenog bar koda na numeričkoj tastaturi je podrazumevajuće. Za stvarnog korisnika u stvarnom svetu, to je i te kakav problem.

Sve to nastalo usled moje arogancije prema krajnjem korisniku: ja znam najbolje šta tebi treba.

Korisnik nije uvek u pravu

Druga jedna prodavnica, 6 meseci kasnije program već “fercera” na nekoliko mesta. Dolazi vlasnik prodavnice koji ima “server” Pentium II na 233 Mhzmašinu i “stanice” Pentium I na 133 Mhz. Naravno i 20.000 artikala koje hoće da prodaje. Čisto ilustracije radi u to vreme konfekcijska konfiguracija je bio Pentium IV na 1200 Mhz. Na moje sugestije da kupi nove mašine, korisnik samo odgovara:”Ali ja njih koristim sa programom koji već imam. Šta je problem?” Naravno moj program spor na tim mašinama, ja potrošim 3 meseca prepravljajući kod da radi sa memorijskim matricama umesto sa bazom. Naravno kreiram time i 100 grešaka zbog kojih su i ostali klijenti ispaštali.Na kraju, kada sve to proradilo nekako on odustane i odluči se da kupi drugi program,  naravno kupivši tri nove mašine na zahtev autora tog programa. Smile

Pored tog drastičnog primera situacije koja vapi za jednim “Ne!” korisniku, bilo je to milion situacija “dodaj meni ovu mogućnost koju ću ja da uključim u opcijama pa neće drugima da smeta” što rezultuje papazjanijom od koda i smanjenom upotrebljivošću aplikacije. Opet primer kada treba reći “Ne!” korisniku.

I? Slušati ili ne?

Moje pravilo je “Posmatraj sve, a slušaj pomalo”.

Sve odluke o funkcionisanju i izradi knjigovodstvenog programa treba da donese autor programa iz prostog razloga što je to njegov proizvod za koji on lično garantuje svojom stručnošću. To naravno uopšte ne znači da treba ignorisati korisnika, već da se prema tim zahtevima treba odnositi kao prema sugestijama koje vi treba da razmotrite da li je implementiranje toga u interesu vaših korisnika ili ne.

Korisnici često u svojim zahtevima od autora zadiru u sferu implementacije “Kreiraj mi tabelu u FAK bazi za rabate”, “Dodaj mi meni za to sa stavkom tom”….  Nisu oni krivi, programeri su ih navikli lošim kvalitetom svojih aplikacija da svako od njih mora da zna da “vrši manje opravke” na svojoj aplikaciji.

Korisnici često svoje zahteve baziraju na bazi shvatanja formiranih korišćenjem svojih trenutnih (često loših) programa. “Vidiš kako ovde pretisnem F6 pa mi se pojavi šifarnik kupca, pa unesem šifru i 2x enter? E isto tako!”

Takve zahteve treba po meni veoma kritički prihvatati – granica mora da postoji. Korisnici su eksperti u vršenju svoje poslovne delatnosti, mi smo eksperti u izradi informacionih sistema. Dijalog treba fokusirati uvek na konkretne primere obavljanja poslovne delatnosti:”Kako radite to bez kompjutera?” na primer. Često kada niste iskusni u usmeravanju tih razgovora (kao što programeri misle da korisnici nemaju pojma, tako i korisnici misle da programeri nemaju pojma samo komplikuju stvari pa će oni da im objasne kako da odrade svoj posao) jedino što vam preostaje je da odete kod klijenta ujutru, popijete kafu uzmete stolicu i sednete u ugao kancelarije tako da za sat vremena zaborave da ste tu. Tad posmatrate koje probleme imaju u vršenju svoje delatnosti i dodjete do raznih zaključaka šta ne štima u stvarnosti.

Efekti observacije na funkcionalnost knjigovodstvenog programa po mom ličnom iskustvu su fantastični po korisničku produktivnost i uopšte zadovoljenost programom. Mi smo na kraju merili koje se opcije najviše koriste i koliko klikova, menija i tastera korisnik treba da pritisne do tamo. I taj proces ponavljati iterativno dok se efektivnost korišćenja aplikacije ne podigne na realno dostižan makismalan nivo.

Svaki put kad se korisnik uhvati za olovku da zabeleži podatak iz vašeg programa, propust u vašem programu. Svaki put kad knjigovodja koji unosi kalkulaciju od 10.000 stavki dotakne miša tokom tog unosa, propust u vašem programu. Svaki put kad korisnik odštampa cenovnik u wordu, računa porez u excellu da popuni formular, pretura po stolu prepunom papirića da nadje neki podatak koji mu treba za rad – vaša greška. Svaki put kad vam korisnik zahteva da dodate u program neku mogućnost koju u najboljem slučaju možda samo on bude koristion, i vi to prihvatite – vaša greška. 

Nije nijedan korisnik kriv što su nam aplikacije manjkave u jednom delu ili prenatrpane u drugom funkcijama. Krivi smo mi što ga ili nismo slušali ili što smo bili arogantni ili što možda nismo dovoljno stručni da to što treba odradimo kvalitetno i jednostavno.

Ja sam lično otvorio “4 oka i 4 uha” i upijam sve što čujem, pa tako eto – izvoljevajte – sad je pravi trenutak za to što se mog programa za knjigovodtvo tiče. Smile

Slušajući,

Nikola TheEmpath Malović

Alan Ford, Pony Express i knjigovodstveni programi

Segmentacija i personalizacija knjigovodstvenih programa

Organizacija rada prosečne prodavnice računarske opreme “PC Servis”-a

GrupaTNTOrganizacija prosečne radnja za prodaju računarske opreme (PC servis) liči u mnogo čemu na grupu TNT jer kao i u grupi TNT i u radnji poslovnu delatnost obavljaju više ljudi gde se tačno zna ko šta radi. U svakoj radnji tako postoji Gazda , Knjigovođa (Grunf), komercijalista (Sir Oliver), serviseri (Bob Rock i Alan Ford)…

Gazda (“Broj 1”) je uobičajeno neko ko razgovara sa distributerima, gosti i tetoši bitnije lokalne kapitaliste, odlazi u nabavku, vrši kontrolnu funkciju nad ostatkom radnje, isplaćuje plate. Ne polaže mnogo računa nikome o tome šta gde i kako radi već izdaje naređenja “jednosmernim putem” o tome šta treba kome da se “sklopi”, kome šta da se servisira itd. To čini najčešće usmeno ili putem sveske dnevne zapovedi (Ko bio u vojsci, shvatiće) 🙂

Komercijalista (“Sir Oliver”) je naravno slatkorečivi prodavac koji zna napamet Kuzmanović-evu kolumnu iz poslednja 3 broja Sveta Kompjutera, zna napamet sve opise hardvera u meri dovoljnoj da izmami zapanjen izraz divljenja lica nabrijanog klinca koji je došao da kupi onu “best buy grafičku 7123X2KD1”. Šta Sir Oliver ne proda, zrelo je za rashod.

Radnik – crnac – fizikalac (“Bob Rock”) je onaj koji je instalirao toliko kompjutera da može da instalira 7 kompjutera u paraleli bez da pogleda ijedan serijski i to na dan kad je prosečno mamuran od burnog sinoćnog provoda. Od silnog instaliranja i slušanja besposlenih mušterija koje će “da pričekaju” razvio je specifičan humor gde nemilosrdno reže rečima mušterije koji gde-će-šta-će uz smešak trpe to jer “znaju da zna”.

Knjigovođa (“Grunf”) je “dopisni saradnik” koji ne potpada striktno pod platni spisak “gazde” i koga gazda tretira slično zubaru – ide se kod njega što se mora i po mogućstvu što manje to bolje. Ipak, kao i od Grunfa, i od knjigovođe se očekuje ništa manje nego magija. Da se ne lažemo svi mi znamo da sve knjigovođe imaju magične kutije u u koju na dan pre obračuna PDV-a se ubaci svakojaka zvanična i poluzvanična dokumentacija, rukom pisani računi itd, zažmuri se jako, izbroji do 86400 et voila… Kada se kutija otvori u njoj se magično stvori hrpa knjižnih naloga i sve ostale totalno nebitne stvari koje kako to lepo Broj 1 kaže:“… ovi iz vlade traže da se vode samo da bi se pošteni vlasnici radnji računarske robe maltretirali” – .

Sad kad smo se malo zabavili i vi čitajući i ja pišući o mom omiljenom “Alan Ford“ stripu da pređemo na..

Pony Express – najbrži način slanja informacija!

Potpuno tačna rečenica za ljude s polovine 19.-tog veka u Americi. Naime, u periodu april 1860 – oktobar 1861 u cilju ubrzavanja protoka informacija i dokumenata organizovana je u Americi kurirska služba od 157 postaja udaljenih oko 15-tak kilometara jedna od druge – razdaljina koju konj može da pređe u punom galopu. Na taj način je vreme potrebno da pismo stigne od obale tihog do obale Atlantskog okeana smanjeno na neverovatnih (za to vreme) 10 dana. Toliko je Pony Express bio uspešan da bi postojao još dugo nakon tih 18 meseci svog postojanja da nije bilo pronalaska telegrafa koji je tih 10 dana učinio nepodnošljivo dugim.

Problema nije bilo mnogo sem učestalog opijanja jahača i gubljenja ili oštećivanja dokumenata, ali svako je bio spreman da plati ceh da bi dobio šansu slanja dokumenata tako brzo na drugi kraj kontinenta.

Znam, sve je to lepo ali kakve to veze ima uopšte sa knjigovodstvenim programima?

Knjigovodstveni programi u Srbiji sa aspekta integracije kretanja dokumenata

Na tržištu knjigovodstvenih programa u Srbiji (sa aspekta ovog posta) postoje dva tipa programa za knjigovodstvo (poslovnih aplikacija u širem kontekstu): opšti i specijalizovani.

Opšti knjigovodstveni programi

Pozitivna strana generalnog tipa programa je da centralizuju na jednom mestu podatke obezbeđujući time veći integritet podataka olakšavajući kolaboraciju itd. Negativna strana generalnih programa je baš ta njihova generalnost – oni su programi koji “rade sve” na način koji ne odgovara nikom.
Knjigovođu ne zanimaju većina mogućnosti programa koje pokrivaju sferu prodaje, korisničke evidencije itd. Gazdu/Komercijalistu/Radnika sva ta konta, KEPU knjige itd totalno ne zanimaju i odvlače. Takođe postoji razlika između komercijalista velike i male firme – ako izdajete nekoliko faktura mesečno onda vam sve ove opcije apsolutno ne trebaju i pomalo i smetaju. Da ne dužim mnogo oko ovoga jer sam sam već pisao o negativnim stranama generalizacije na primeru Borg i Geek programa za knjigovodstvo

Specijalizovani knjigovodstveni programi

Kao reakcija na generalne programe nastali su specijalizovani programi za komercijalu, za materijalno poslovanje, za finansijsko poslovanje, za proizvodnju, za kasu. Prave se i prodaju kao zasebni poslovni programi ili kao “moduli” programa

Pozitivna strana specijalizovanih programa trebalo bi da bude da svaki korisnik dobije aplikaciju pravljenu bas po njegovim potrebama. Negativne strana ovih programa su drugačije u zavisnosti da li se radi o implementaciji putem posebnih aplikacija ili posebnih modula.

Posebni moduli su po meni samo prikriven oblik generalizovanih aplikacija sa svim manama i prednostima. Ako sam ja knjigovodja i kupim modul finansijsko knjigovodstva da li to znači da nikad neću morati/želeti da pogledam neki detalj same fakture na osnovu koga je neki nalog kreiran? Naravno da ne znači i naravno da u praksi knjigovodja završi sa “oba” modula efektivno dobijajući generalni program.

Kod pristupa sa posebnim aplikacija (u mom Pomoravlju dosta čest slučaj) opisanog problema sa modularnim aplikacijama nema. Svako radi sa aplikacijom kakvu baš on želi i svako je manje više zadovoljan. Knjigovodjin klijent ima svoju aplikaciju u kojoj može da brlja koliko god hoće sve dok na kraju dana/nedelje/meseca odštampa sva dokumenta fakture, kalkulacije, paragona i fiskalnih isečaka itd. Kupca u svom programu sam vodi interno dugovanja kupaca, potraživanja dobavljača itd. Svi izveštaji na osnovu koje gazda donosi poslovne odluke se rade na osnovu tog seta “neformalnih” podataka.

Nužno zlo zvano knjigovođa se ispoštuje time što se hrpa tih papira fizički nose u knjigovodstvenu agenciju gde ih onda knjigovodja uzima i prekucava ponovo u svom programu kreirajući svoje posebne šifre artikala, kupaca itd… Knjigovodja u taj “svoj program” unosi promene sumarno ili detaljno sa izvoda koje korisnik poslovne aplikacije vodi u paraleli na svoju ruku. Kada korisnik ili knjigovodja promene podatke nekog dokumenta nakon “razmene papira” tu nastaju problemi jer im podaci više nisu usklađeni pa kreću telefoniranja i improvizacije – simptom garantovanih problema u poslovanju

Baš u toj integraciji putem fizičkog raznošenja papira i prekucavanja u posebne izvore podataka je po meni problem sa ovim pristupom i baš ta činjenica mene asocira na Pony Express. Isti spori, od ruke do ruke, od postaje do postaje, prenos bisage – spor i sklon grešci. Sama činjenicom da postoje dva seta nepovezanih podataka je garant da će kad tad doći do neusaglašenosti, netačnih poslovnih odluka i zakonskih prekršaja. Sa tehničke strane postojanje posebnih aplikacija koje se (ako se integrišu uopšte) integrišu tek u nivou baze implicira povećane troškove održavanja i razvoja jer promena u jednoj aplikaciji mora ručno da se replicira u drugim itd..

Ako rešenje nije ni generalizacija ni specijalizacija, šta jeste? Šta je telegraf knjigovodstvenih programa?

Segmentacija na “hipotetičkom primeru iz prakse”

Po mom mišljenju dualitet specijalizovanih programa je nešto što treba izbeći po svaku cenu. Najkraće objašnjenje mog shvatanja bi moglo da se formuliše na osnovu ove konkretne izjave

Faktura i knjižni nalog te fakture nisu dva dokumenta nego dva lica iste poslovne aktivnosti.

Dakle, jedna ista aplikacija, isti programski kod treba da bud korišćen od strane oba korisnika. Svi korisnici poslovnog sistema treba da rade na istim podacima.

Kada roba stigne, radnik je popiše i kreira prijemnicu. Tu istu prijemnicu, za te iste artikle, komercijalista/gazda koriste kao osnovu za kalkulaciju gde se odrede prodajne cene. Onog momenta kad se snimi kalkulacija, knjižni nalog te kalkulacije se kreira i za isti iznos se time duži i materijalno i finansijski magacin. Po tim prodajnim cenama komercijalista izdaje račun kupcu. Naravno uporedo sa kreiranjem računa, stvara se knjižni nalog za taj račun, magacin se razdužuje materijalno i finansijski a kupac zadužuje za isti iznos. Knjigovođa knjiži izvoda koji sadrži podatke uplate kupca – komercijalista automatski to vidi u evidenciji kupca kao zatvorenu stavku. Itd, itd..

Dosta korisnika opšteg tipa programa u ovom opisu prepoznaju svoje programe i tu nema ničega spornog. Kao što sam već gore rekao, problem je u tome što sve što ti programi rade rade na način koji nije prilagođen nijednom posebnom korisniku pa sve to utiče na produktivnost rada i efikasnost korišćenja programa za knjigovodstvo. Ti se nedostaci rešavaju segmentiranjem knjigovodstvenih poslovnih programa po grupama korisnika na taj način da program pojavno i funkcionalno odgovara specifičnosti tog korisničkog segmenta (grupe).

Segmentacija kao princip izrade programa za knjigovodstvo kojem ja težim

Da ne bude ceo post na bazi negativnih ilustracija, evo pozitivnog konceptualnog primera jednog načina korišćenja segmentacije.

Tokom instalacije programa za knjigovodstvo program bi mogao da pita za koji tip delatnosti se program ima koristiti. Ako korisnik odgovori radnja računarske opreme tj. PC servisa, “moduli i opcije” vezane za taj tip preduzeća treba da se instaliraju. Primeri tih funkcija su integracija sa distributerima, reklamacije, sklapanje računara (nije isto kao i proizvodnja računara kako se obično tretira) itd treba da se “instaliraju”.

Takođe bi program bi mogao da pita koliko prodajnih objekata preduzeće ima. Ako se radi o samo jednom (u većini slučajeva), sve opcije vezane za odabir prodajnog objekta i magacina kao i međumagacinsko kretanje robe treba da nestanu. Segmentacija ne znači samo gašenje celih modula nego i sitne promene na pojedinim ekranima koji ostaju aktivni(npr. unos VP fakture ne pokazuje polje za objekat više)

Kod kreiranja korisničkog naloga, program bi mogao da pita koju funkciju korisnik vrši. Ako je korisnik Gazda, delovi programa fokusirani na analizu poslovnih rezultata, generalno stanje lagera, integraciju sa distributerima itd idu u prvi plan, dok se radni nalozi sa sklapanje, glavna knjiga i slično gase. Ako je korisnik Radnik, njega zanimaju uglavnom nalozi za sklapanje i prijemnice robe koje popunjava kod prijema robe. Komercijalistu korisnika zanimaju CRM podaci kupca gde na primer može na primer da vidi podatke o otvorenim stavkama i kontaktira kupce van valute. Takodje opcije integracije sa distributerom mogu da budu zanimljive ali u ovom slučaju ne ponuda robe nego provera stanja robe na reklamaciji po zahtevu kupca koji je robu predao na servis pre nekoliko dana. U slučaju da komercijalista zna da “čita izvod” knjigovodstvene funkcije treba da budu prisutne, ali u maksimalno limitiranoj formi dovoljnoj samo da pokrije čin unošenje izvoda. Knjigovođa treba naravno da primarno vidi knjigovodstvene funkcije. CRM, distributeri itd… sve to njega ne zanima uopšte. U sistemu gde je garantovana usklađenost materijalnih i finansijskih podataka (jedna baza, jedan entitet sa dva lica) knjigovođa sve što ga zanima može da vidi preko tog knjižnog naloga ali recimo i da ga zanima da pogleda detalje fakture na osnovu koje je nešto knjiženo, on tu fakturu može da vidi prezentovanu kroz sumarne podatke kao što su tarifna raspodela prenetog poreza, iznos i strukturu zavisnih troškova, detalji rabat odobrene kupcu itd.

Neki od ljudi kojima sam diskutovao o ovome reaguju na ovu koncepciju govoreći: ”A to su opcije podešavanja korisnika – to postoji u mnogim programima”. Izjednačavati “opcije” sa segmentacijom je pogrešno po meni iz dva razloga. Prvo, još nisam video nijedan program gde se putem opcija može u tolikoj meri da se podesi korisničko iskustvo u radu sa programom. Drugo, čak i da je moguće bilo bi pogrešno. Nije na korisniku da otvori ekran sa 17000 polja gde će da uključuje i isključuje delove ekrana i aplikacije, već je na autorima knjigovodstvenih programa da misle o korisniku i podese unapred sve te opcije a da korisnik i ne zna za postojanje tih opcija. To početno podešavanje ne treba da bude oholo “Borg tip aplikacije” podešavanje već treba da bude bazirano na posmatranju korisnika u vršenju svakodnevnih aktivnosti i razgovoru sa korisnicima gde autor kao profesionalac u svojoj struci dolazi do zaključka šta je to za korisnika najbolje i šta mu treba u stvari.

Dokaz da korisnici cene to “podesi mi podrazumevano šta meni treba” je tržišni uspeh Apple uređaja o čemu sam već pisao detaljnije ovde.

Personalizacija kao nužno potrebno zlo programa za knjigovodstvo

Svi ćemo se složiti da nisu baš svi korisnici isti i da se ne mogu svi svrstati u iste kalupe, ali to ne znači da segmentacija nema smisla. Ista misao interpretirana u ovom kontekstu korišćenjem Pareto 80-20 principa bi mogla da glasi da je segmentacija fokusirana u pravcu zadovoljavanja potreba 80% korisnika. O potrebama ovih ostalih 20% korisnika po meni stara se personalizacija koja označava

Mogućnost korisnika da u okviru nekog segmenta prilagodi pojavu i funkcionisanje sistema u skladu sa svojim ličnim potrebama.

Po meni jako bitna stvar koju treba istaći u prethodnoj definiciji je da ta personalizacija treba da bude jako limitirana (poštovanje principa minimalizma knjigovodstvenog programa) i fokusirana na realne situacije u životu. Imati personalizacioni ekran sa 17.000 opcija koje mogu da prebace korisnika iz jedan u drugi segment podjednako nema smisla u praksi kao i u slučaju segmentacije. Po meni, način na koji treba prići personalizaciji je da se inicijalno zaboravi tako da sav fokus bude usmeren na što bolju segmentaciju programa za knjigovodstvo, a da se tokom probne faze i početka korišćenja prikupe povratne informacije od korisnika o tome šta im nedostaje u njihovom segmentu te da se na osnovu toga ili prilagodi segment )ako velika većina korisnika traži to) ili da se personalizuje (ako značajna manjina korisnika traži to).

Po mom mišljenju, dodavanju funkcija koje traži statističko zanemarljiv broj korisnika treba prići veoma oprezno sa generalno negativnim predstavom i zahtevati da vam se dokaže kako je to stvarno bitno i kako to ne može da se odradi na drugačiji način. Logika ovde je da je to nešto stvarno bitno, većina korisnika bi već to tražila tokom izrade i probnog rada aplikacije, a ne želite da kaznite ugođaj u radu velike većine korisnika bez preke potrebe.

Zaključak

Evo doživesmo (vi čitajući a ja pišući) i ovaj poslednji blog post serijala gde ja objašnjavam šta to čini najbolji knjigovodstveni program.

Sledeći post će biti namenjen meni veoma bitnoj tematici: cenovna politika programa za knjigovodstvo gde ću izneti pregled toga kako i šta se sve naplaćuje kod nas na tržištu kao i neki svoju inicijalnu ideju o tome kako i koliko ja planiram da naplaćujem u budućnosti. Ako vam se čini suludo što pišem o ceni proizvoda bez imanja samog proizvoda, pozivam vas da obavezno pročitate post gde ću takođe se osvrnuti i na to zašto je to po meni ne bitno nego neophodno.

Čitamo se,

Nikola “The Segment” Malović

“Manje je vise”

Minimalizam kao atribut savršenog programa za knjigovodstvo

Po meni najlepša definiciju minimalizama kao jednog od atributa savršenstva je misao francuskog pisca Antoine de Saint-Exupéry-a

Savršenstvo očigledno ne nastaje onda kada nema sta da se doda, već kad se ne može ništa oduzeti.”

Minimalizam internet pretraživača

Da ilustrujem ovu prelepu misao u domenu računara koristiću primere dva internet pretraživača (eng. browser) : Microsoft Internet Explorer-a i Google Chrome-a, gde će mi prvi poslužiti kao ilustracija lošeg dizajna, a drugi kao ilustracija dobrog dizajna – naravno sa stanovišta minimalizma kao dizajnerskog cilja. Oni koji me lično znaju, znaju da sam ja 100% fanatični pobornik (eng. fanboy)  Microsoft-a (čak u toj meri da ne želim da koristim ni jedan jedini Google proizvod) + ja koristim Internet Explorer 8 u svakodnevnom radu, ali moram ipak da priznam ovde javno da je Google oduvek bio majstor minimalizma sa sajtom, pa je to isto preneo i na svoj internet pretraživač tako da je ovo primer lošeg i dobrog očigledan u toj meri da nisam mogao da izbegnem da ga koristim u ovom postu. 🙂

U svom svakodnevnom radu od internet pretraživača ja lično očekujem bar sledeće stvari:

  • da ima opciju za brzim pretraživanjem (ne želim da idem na url pretraživač-a Bing/Google da bi tragao)
  • da ima opciju sinhronizovanja snimljenih internet adresa (eng. favorites) (imam više kompjutera i bitno mi je da za koji god da sednem imam kolekciju istih prečica)
  • da za trenutni url mogu da vidim Google PR “Google Page Ranking” stranice za svoje SEO aktivnosti

Da vidimo kako to Internet Explorer rešava:

IE8

  • Opcija brzog pretraživanja je omogućena postojanjem posebnog okvira za unos teksta u gornjem desnom uglu.
  • Sinhronizovanje internet adresa je moguće odraditi putem Live Sync-a, ali to em zahteva instaliranje Live/Bing toolbar-a, em je rešenje koje ne može da se koristi u FireFox-u i Chrome-u. Elem, ja koristim delicious u te svrhe koji je podržan u IE-u putem toolbar-a koji na ovoj slici je u gornjem levom uglu.
  • Da bi video PR svake stranice na jednostavna način, morao sam da instaliram Google toolbar za internet explorer čisto da bi imao u centru PR ikonu (strelica u centru)

Sem te funkcionalnosti vidimo da je red omiljenih lokacija je uključen (ja lično to gasim,ali on ostaje uključen u 99% slučajeva koje viđam pa sam ga ostavio za potrebe dijagrama). Ispod tog reda imamo još jedan red sa jezičcima stranica i (zadivljujuće za IE) u istom redu se nalaze ikone i meniji.

Sad Chrome, isto to

Chrome

Ne postoji posebni okvir za unos teksta brzog pretraživanja već se koristi isto polje gde se unosi adresa. Logika je ako se ukuca u adresni deo nešto što nije adresa korisnik želi da pretraži internet za ukucane reči.
Taj prostor u desnom uglu reda sa adresom je tako iskorišćen za smeštanje ikona instaliranih ekstenzija. U ovom primeru ja imam instalirane ekstenzije za PR i delicious jedne pored drugih. Sami jezičci otvorenih stranica nemaju svoj sopstveni red već su ‘uglavljeni’ u okvir (eng. chrome) aplikacije.

Opcije ekstenzije koje u IE-u su prikazane taksativno u toolbar-u, u Chrome-u su prikazane po potrebi kao iskačući prozor.

Chrome2

Šta je poenta ovog prikaza internet pretraživača?

Poenta je u tome da dizajneri Chrome-a su minimizirali svoj korisnički interfejs, odričući se svih nepotrebnih elemenata na pametan način koji im je omogućio da zadrže istu funkcionalnost. Na taj način se Chrome jako dobro “sklanja sa puta” korisniku, prikazujući mu u datom momentu maksimalnu količinu informacija koje je zahtevao (sve ispod plave isprekidane linije je tekst koji se ne vidi u IE-u) pritom mu omogućavajući mu da se fokusira u većoj meri na sam sadržaj (crvena isprekidana linija pokazuje koliko dodatnog “informacionog šuma” IE ima u poređenju sa Chrome-om).
Toolbar-ovi u IE  mogu da se isključe i dase dobije sličan prikaz, ali onda ekstenzije ne rade + kao što sam rekao većina korisnika koriste podrazumevana podešavanja. Drugim rečima, IE većinu korisnika vodi lošim putem svojim dizajnom, dok Chrome korisniku taj loš put ne omogućava uopšte.

Ie8_Chrome

Microsoft Metro dizajnerski pristup – moj minimalistički uzor

Windows Media Center

Windows Phone 7Zune

Metro je radni naziv za dizajnerski pristup (minimalistički između ostalog) kojim je Microsoft dizajnirao do sada Windows Media Center, Zune klijent i Windows Phone 7 UI.

Ono što je bitno u kontekstu ovog posta o minimalizmu kao jednom od kriterijuma uspešnog dizajna programa za knjigovodstvo je način na koji je Zune aplikacija implementirana koji pokazuje da Microsoft /kad hoće/ može da dizajnira minimalistički kao Google.

Bez namere da idem u detalje Metro dizajna (koga zanima nek pogleda ovo) samo ću ga kratko opisati kao grafički intenzivan dizajn koji se zasniva na tekstualnim minimalističkim interfejsima sa tipografijom i svrsishodnim animacijom prelazima kao osnovnim implementacionim principima. Standardan Windows interfejs (siva dugmad itd) je napušten u korist vizuelnih elemenata koje se stapaju sa aplikacijom. Sve u metro aplikacijama je usmereno ka multimedijalnom sadržaju koji korisnik konzumira i u kome korisnički interfejs aplikacije treba da pridodaje tom korisničkom iskustvu svojom neupadljivošću i fokusiranim funkcionalnim osobinama .

Ako pogledamo samo jedan ekran Zune aplikacije (pregled kolekcije muzike koju korisnik ima)

Zune

možemo da vidimo sledeće minimalističke atribute:

  • u gornjem levom uglu aplikacije imamo glavni meni (collection odabrano) i podmeni tog menija (music odabrano) kao dva jednostavna niza reči – ostavlja osećaj laganosti
  • skroz u gornjem desnom uglu vidimo mali prostor za prijavljenog korisnika, mesto za ulazak u opcije sistema i opcije za zatvaranje, maksimiziranje i minimiziranje prozora.
  • Ispod toga se nalazi polje za tekstualni unos kriterijuma pretrage gde je namena polja ispisana u samom polju
  • Ispod polja za pretragu nalazi se meni 3-eg nivoa koji sadrži u ovom slučaju filter kriterijume za prikazanu kolekciju muzike.
  • U donjem delu ekrana imamo nekoliko interakcione tačke putem kojih korisnik može da izvrši neku funkciju nad odabranim sadržajem /pusti pesmu, nareže je, prebaci na Zune uređaj itd)
  • Kao i u slučaju Chrome-a, Zune interfejs
    • ne odvlači pažnju od glavne namene aplikacije – pesama u ovom smislu.
    • ne zauzima mnogo ekranskog prostora – prostor između isprekidanih linija zauzima veliku večinu ekrana.
    • izgleda lagano (uporedite npr. sa Ribbon aplikacijom), a vrši sve funkcije potrebne.
    • s obzirom da nema besnih grafičkih elemenata, moguće je stići dalje u implementaciji pre nego što postane neophodno uključiti profi dizajnera /veoma bitno u mom slučaju/

Sve je to lepo, ali program za knjigovodstvo ne radi sa muzikom i filmovima

Evo još jednog primera istog Metro tipa interfejsa, ovaj put na primeru jedne Silverlight stranice koja ima sličnosti sa nekim hipotetičkim ekranom knjigovodstvenog programa /zamalo da kažem poslovne (“LOB”) aplikacije – izraz koji mi je sugerirano da niko kod nas u Srbiji ne koristi/

Metro

Zaključak

U ovom članku sam objasnio kako će moj savršeni program za knjigovodstvo da bude dizajniran sa kriterijuma minimalizma – korišćenjem Metro dizajn paradigme. Potpuno sam svestan da veliki procenat ljudi u Srbiji ne smatraju da knjigovodstveni programi mogu/trebaju da izgledaju ovako, ali ja sam dosta razmišljao o ovome i isprobavao nekoliko pristupa /MDI, Ribbon, Billy Hollis-ov odličan pristup itd/ i na kraju uvideo da je Metro pristup najusklađeniji sa mojim pogledima i planovima po više osnova (jedan od njih je minimalizam).

Sledeći članak će biti zadnji deo mog filozofiranja o šta su savršeni knjigovodstveni programi i u njemu ću izneti svoje stanovište u vezi značaja personalizacije i segmentacije za moju aplikaciju.

Nakon tog članka prelazim na malo konkretnije teme kao što su “Da li treba dozvoliti brisanje/ispravku u knjigovodstvenim programima”, “Web VS Windows” itd…

Čitamo se,

Nikola

Koji je program za knjigovodstvo savršen?

Savršeni program za knjigovodstvo – glupost, utopija ili “have-to”

U svom ‘kocka je bačena manifestu na nekoliko mesta spominjem “savršeni knjigovodstveni program” kao ideal kome težim, što sasvim sigurno rezultuje smeškom na licima oba čitaoca ovog bloga praćen vrlo verovatno mišlju:”Šta ima tu da bude savršeno oko bilo kog programa, a posebno oko programa za knjigovodstvo? Gluposti!”.

Zašto je bitno težiti “savršenom” programu za knjigovodstvo

Nekoliko godina ranije ja bih se i sam složio sa tim da to jesu gluposti, ali fenomen iPhone-a je za mene bio poziv za buđenje i promenu stava o tome. Da ukratko pojasnim šta mislim pod tim i zašto smatram da postoji paralela između naizgled neuporedivih stvari: telefona i knjigovodstvenih programa.

Magija savršenog korisničkog iskustva

WindowsMobile6

Microsoft je još 1996 ušao na tržište pametnih telefona imajući tako 11 godina prednosti do pojave iPhone-a. Windows Mobile 6 OS ima puni multi tasking godinama (nešto što je ponos Android telefona i nešto što iPhone tek u OS 4.0 treba da dostigne), maksimalno je moćan (postoji meni za podešavanje za svaki detalj), nudi opcije integracije sa starijim bratom Windows klijentom i serverima itd. Moguće je instalirati dosta aplikacija, ima igre, tuce proizvodjača telefona koji ga podržavaju. Potpuno je otvoren za poslovni segment u smislu da je moguće lagano napisati aplikaciju koristeći managed i native alate i poslati je na uređaj bez ikakvih problema. Nije operativi sistem koji može lagano da koristi “normalan korisnik bez IT znanja” (AKA non-geek), ali je Microsoft toliko samouveren i arogantan da čak ni ne razmišlja o profitnim potencijalima tog tržišta. Ne znam nikog ko bi 2006-e bio spreman da se kladi protiv Microsoft-a kao broja #3 na tržištu (Nokia i RIM su #1 i #2 i tad i sad)

iPhoneOSApple je 2007-e godine, nošen tržišnim uspehom iPod-a, lansirao svoj iPhone. O hardverskim razlikama je dovoljno reći da je to standardno Apple kvalitet dizajna, sa OS-om koji je imao genijalno drugačiji pristup od Microsoft-a koji se svodi na to da se korisniku oduzme moć da podešava milion detalja na račun iskustva pri korišćenju (eng. user experience). Osnovna premisa te filozofije je čuveni Pareto princip koji u ovom kontekstu bi mogao da se interpretira kao

“Korisnik provede 80% vremena koristeći 20% funkcija telefona”

Apple je zato svesno doneo odluku da izbaci sve te retko korišćene funkcije, da ostavi samo one stvarno najbitnije i najkorišćenije i da ih maksimalno dotera.Apple je time omasovio uređaj što se pokazalo kao genijalna odluka. Vrednost korisničkog iskustva Apple razume u potpunosti – konzumiranje uređaja (pored funkcionalnosti) mora biti prijatno iskustvo.

Kao ilustraciju toga koliko je uspešna ta njihova filozofija navešću sopstveni primer: Februara 2008-e sam vođen čistom znatiželjom šta je to toliko posebno u Apple prodavnicama (bez ikakve namere da kupim bilo šta) ušao u jednu  od tih radnji u Burlington-u, otišao da se igram tim iPhone-om (da vidim ja u čemu je to fora). 5 minuta kasnije čekao sam u redu ispred kase potpuno začaran lepotom korisničkog iskustva iPhone-a-

Šta je zajedničko telefonima i knjigovodstvenim programima?

Ok, sad kad sam (nadam se bar) uspeo koliko toliko da objasnim slikovito zašto je orijentacija ka “savršenom” korisničkom iskustvu bitna sa stanovišta tržišnog plasmana proizvoda da pokušam nakratko da pojasnim kakve veze imaju telefoni i knjigovodstveni programi.

Na prvi pogled izgleda ne baš mnogo: iPhone je fizički proizvod – telefon namenjen tržištu široke potrošnje. Program za knjigovodstvo je intelektualni proizvod – poslovna aplikacija namenjena uskom i specijalizovanom tržištu ljudi specijalizovanih u knjigovodstvu za specifične potrebe.

Očigledno (čim pišem ovaj post) smatram da je to pogrešno gledište iz nekoliko razloga:

  • Konzumenti programa za knjigovodstvo je knjigovođa al i preduzetnik, komercijalista, vlasnik male piljare, radnica na POS kasi supermarketa, pojedinac koji vodi lične finansije, vlasnik apoteke koji pokušava da organizuje nabavku lekova po najboljoj ceni itd. Drugim rečima, kao konzumenta ja vidim takodje širok dijapazon različitih potrošačkih segmenata, a ne samo knjigovođe, a samim tim kriterijumi se menjaju u tome šta je prihvatljiv nivo korisničkog iskustva koji knjigovodstvena aplikacija mora da pruži.
    (Potpuno sam svestan koliko to odudara od opšte prihvaćenog shvatanja kod nas i iskreno smatram sam taj principijelni stav komparativnom prednošću u odnosu na trenutno stanje na tržištu)
  • Telefon i program su slični i u smislu da oba proizvoda koriste ljudi dan za danom, ponekad i više puta u toku jednog dana, trošeći svoje vreme u vršenju stvari do kojih im je jako stalo. Naravno da u slučaju telefona te aktivnosti imaju više lični pečat dok u slučaju programa za knjigovodstvo poslovni – ali su oba svakodnevna  i bitna korisnicima. S obzirom da se sa tim aktivnostima sreću jako često, korisnicima je jako bitno osećaj prijatnosti u vršenju – jer se svaka “neprijatnost” multiplicira dan za danom. Telefon sa sporim odzivom menija rezultuje frustracijom korisnika. Program za prodavnicu gde kasirka mora da lupi Enter posle svakog očitavanja bar koda takodje rezultuje frustracijom korisnika. Svaka frustracija pre ili kasnije rezultuje napuštanjem proizvoda izvora frustracije i korišćenjem konkurentnog proizvoda.

S obzirom da sam potpuno siguran da su oba čuvena čitaoca ovog bloga već shvatila suštinu zašto je bitno težiti “savršenom” programu za knjigovodstvo, da pređemo na glavno jelo…

Šta je to savršeni program za knjigovodstvo?

Naravno da za odgovor na to pitanje su potrebni sati (Kathy Sierra je trebala toliko da obradi tu temu na genijalan način) tako da ću ja probati ovde samo da sumiram zaključke mnogo pametnijih ljudi od mene na tu temu na način onako kako ih ja razumem:

Savršena knjigovodstveni program je po meni program sa sledećim glavnim atributima:

  • Korisnički orijentisan dizajn eng. user centric design (detaljniji opis ovde)
  • Omogućava korisniku popunu kontrolu  (engl. kick-ass)   (detaljniji opis ovde)
  • Sa minimalnim brojem funkcija, a maksimalnom funkcionalnošću.
  • Sa minimalnom krivom učenja (detaljniji opis ovde)
  • Minimizuje vreme koje korisnik provodi sa aplikacijom
  • Njeno korišćenje kod korisnika proizvodi prijatan osećaj.  (detaljniji opis ovde)
  • Donosi korisniku finansijsku korist samim svojim korišćenjem
  • Homogena, segmentirana i personalizovana

U sledećim postovima ću detaljnije objasniti svaku od ovih stavki ponaosob sa primerima postojećih aplikacija i mojim shvatanjem kako će moja aplikacija zadovoljiti te kriterijume.

Do tad,
Nikola

Real-user monitoring for Accessibility, Performance, Security, SEO & Errors (SiteLint)