Web program za plate – slušati zahteve korisnika ili ne?
Prošle nedelje sam nekolicini registrovanih omogućio pristup radnoj verziji najjednostavnijeg programa za obračun plata i od nekoliko ljudi sam dobio istu primedbu i sugestiju, koju sam odradio u zadnja 2 dana, ali i večeras ipak odlučio da odstranim taj već odrađeni kod.
Razlog zašto sam to odlučio je po meni veoma zanimljiv i izlazi van suvoparnog konteksta programa za plate pa rekoh da podelim sa vama svoje rezonovanje na tu temu koristeći program za plate čisto kao pokazni primer.
Opis problema i sugestije
Opis problema je za mene bio prilično šokantan: “Kako da odštampam obračun zarade? Kako da ga snimim kao pdf fajl koji onda mogu da pošaljem svom klijentu? Kako da odštampam m4 obrazac?”
Evo stranice koja pokazuje spisak obračunatih zarada u stanju kakav je bio prošle nedelje na kome sam ja osmislio da se štampanje ostvari.
Složićete se verujem da kada vam više korisnika postave ovako bitno pitanje uvidite jako brzo da imate kritični problem u svom pristupu dizajna ekrana.
Analiza problema
Osnovni problem je očigledno to što na samom ekranu nije jasno uočljivo gde korisnik treba da klikne da bi odštampao obračun. To što u koloni izveštaji stoji link dokumentacija koji je po meni očigledno namenjen za to sudeći po povratnim informacijama ne znači apsolutno ništa.
Pošto je štampač opšte prihvaćen grafički simbol koji asocira na štampu, odmah menjam njime ovaj glupi link
Kao što vidite na ovom ekranu, ikona štampača je uočljiva u zadnjoj koloni – problem otkrivanja je rešen, a ista metafora se koristi i za sekciju zbirnih izveštaja.
Hm, testirajući rešenje sa par mojih testera dolazim do novog feedbacka – “zašto klik na štampač ne štampa nego mi pokaže moje dokumente na ekranu?”
Ok, validan feedback – tehnički precizno govoreći zaista se ne štampa ništa nego se pokazuje PDF dokument u Adobe Reader-u – menjam…
Feedback? “A šta je ovo crveno? Kako da odštampam obračun? Kako da ga snimim” – menjam….
Nekoliko revizija i iteracija sa mojim testerima i dolazim do rešenja koje obuhvata sve sugestije
Feedback na vizuelnu skicu – jednoglasan :
“Odlično. Sad imam dugme za štampu, za snimanje, za brisanje i za pregled. Kako to da ovo nisi odmah ovako odradio kad je ovako prosto i očigledno?”
Ništa, kad je tako – kodiram rešenje i testiram ga prošlu noć – problem rešen.
Međutim…
Iz nekog razloga meni nepoznatog, meni se rešenje nije dopadalo te sam danas vozeći se metroom na posao razmišljao o tome šta je ispravno ovde učiniti. Na ovom blogu sam više puta već pisao o tome kako mi je interes korisnika uvek na prvom planu pa čak i kad ide meni na štetu i ovo mi je izgledalo kao savršen primer gde moram da prihvatim da odradim nešto u šta ne verujem jer korisnici to traže.
Truckam se ja tako u metrou pospano sve do momenta dok se nisam setio one čuvene izjave Henrija Forda “Da sam pitao korisnike šta žele, tražili bi mi brže konje.” i to me nagnalo da krenem da razmišljam o tome zašto mi to oni traže.
Odgovor do koga sam ja došao razmišljajući na ovu temu se svodi na to da oni verovatno u svom obračunavanju plata koriste programe za obračun plata (dos, Windows – nebitno) i da im je u glavi mentalni model oko toga kako rade obračun zarada satkan oko toga kako aplikacije funkcionišu, a ne oko toga kako Web prirodno funkcioniše.
Ono što mi oni traže su dugmad koja iniciraju određene operacije što ima smisla u desktop svetu, ali nema u Web svetu koji je satkan od sadržaja prikazanog na ekranu povezanog sa drugim sadržajima hiper vezama itd.
Taj zaključak do koga sam došao me je naterao da preispitam danas šta je najbolje za moje korisnike i odgovor do koga sam ovo puta došao je potpuno drugačiji, a to je da je ispravna stvar da implementiram svoj sajt na najjednostavniji mogući način koji je najviše moguće usklađen sa “duhom Web-a” i da trebam da se fokusiram na propagiranje i edukaciju takvog pristupa jer je prihvatanje toga zaista u najboljem interesu mog korisnika iako znam da će naići na bitan inicijalni otpor.
Rešenje
Kao što vidite, ovo je jednostavno rešenje koje je funkcionalno povratak na početak gde je jedino odstupanje od Web duha grafički prikazani hiper link – tekstualni link na žalost niko ne vidi.
Poenta ovog ekrana je da pokaže spisak obračuna i omogući korisniku da pronađe onaj koji mu treba – ništa više od toga.
Kada korisnik želi da snimi/odštampa/pošalje on klikne na lupu (koja je najobičniji a href element) i onda mu se u novom tabu/prozoru otvara pdf dokument.
S obzirom da sam odlučio da nemam zasebno dugme za štampu, a imajući u vidu da je verovatno u 90% slučajeva željena štampa dokumenta automatski podrazumevano pokazujem momentalno dijalog za štampu korisniku istog momenta kada se učita izveštaj
U 90% slučajeva korisnik samo klikne Print (ili lupi Enter) i dokument se štampa – koristi se standardna funkcionalnost PDF readera.
Ok, štampa je pokrivena time na efikasan i elegantan način – šta je sa ostalim zahtevima? Kako da se snimi dokument i pošalje klijentu?
Po meni je najbolji odgovor na to – nemojte ni da snimate jer onda mu šaljete dokument emajlom, on nema vremena danas da pogleda, otvara to sutra, a vi u međuvremenu ispravili neku grešku u obračunu itd… Ja razumem da je sve to standardna procedura u tome kako većina ljudi radi danas, ali nam Web daje mnogo jednostavnije rešenje – Web adresu dokumenta.
Evo recimo na primeru gore, ako ja kopiram adresu iz mog browsera i pošaljem vam emajl-om vi ćete moći da je otvorite čak i da nemate nikakav nalog na papirima. Evo, probajte sami…
https://arhiva.papiri.rs/1034075907901927/2013/Plate/TEST_9792_Plata_2013_3.pdf
Osnovna prednost ovog pristupa je da se izbegava pojava više verzija dokumenata gde više ni vi ni klijent ne znate koja je poslednja – kad god klijent ili vi kliknete na gornji link videćete ažurnu verziju obračuna plate za jun 2012-e.
Ipak, recimo da se ne slažete sa mnom ili da iz nekog razloga da vi ipak želite da snimite dokument – šta onda?
Rešenje je prosto – koristite Web kako je standardno osmišljen na jedan od sledeća dva načina
Način 1 – povlačenje miša do dna stranice da se pojavi alatna traka sa operacijama reader-a
Način 2 – korišćenje menija samog browsera.
Zaključak
Ovo je po meni dobra ilustracija principa u koji ja verujem a sastoji se u tome da treba odabrati uvek pravi put koji je u najboljem interesu korisnika pa čak ako se to i kosi sa njegovim trenutnim zahtevima.
U ovom primeru ja sam umesto dodavanja dugmadi i pravljenja aplikacije od sajta, odabrao rešenje koje je jednostavno i elegantno i koje sa zasniva na standardnim principima kako Web funkcioniše.
To što moji korisnici možda nisu naviknuti na Web nije razlog da promenim svoju implementaciju već je to dobar pokazatelj da trebam da radim više na edukaciji i evanđelizmu po meni suštinski ispravnih rešenja.
A sad, nazad na programiranje – kraj meseca se bliži – treba sve utegnuti i završiti do tada