Internet knjigovodstveni program-sadašnjost, budućnost ili utopija?
Ako pogledate potražnju za stručnjacima “na zapadu” videćete da je 10x veća potražnja za web programerima nego za desktop programerima. Večina proizvoda stvorenih u zadnjih 5+ godina koji koristite su web aplikacije (GMail, Facebook itd). Desktop aplikacije koje ste počeli da koristite u to vreme su ili kreirane pre tog perioda ili su rezultat bitisanja u delu sveta lociranom na perfieriji informatičkih trendova. Čak je i sam Microsoft, uvidevši pretnju od Google Docs paketa kancelarijskih aplikacija, ChromeOS-a, iPad-a itd primoran da investira ozbiljne izbose u web office aplikacije i windows azure. “Web je pobedio, desktop je mrtav!” – odjekuje iz svih novina. Game over?
Generalno govoreći: da. Govoreći u kontekstu programa za knjigovodstvo: ni blizu. (“Heretik! Dajte lomaču!”)
Internet knjigovodstveni program je kao mlako pivo: mlako pivo je pivo i može da se popije ponekad kad baš mora, ali definitivno nije nešto što bi neko pio svakog dana posle ručka.
Desktop knjigovodstveni program je kao hladno pivo: jeste da vam je potreban da imate frižider instaliran u stanu i da samo iz njega možete da uzmete flašu (a ne bilo koju iz bilo koje gajbe), ali se to zaboravi sa prvim gutljem.
Sad kad su flejmeri, hejteri i web ziloti namireni materijalom za komentarisanje (da ne moraju da čitaju dalje) da krenem polako za oba moja čitaoca da iznosim razloge i razmišljanja koja stoje iza ove moje tvrdnje
Prednosti internet knjigovodstvenih programa
Prednosti internet programa koje ja uobičajeno čujem se svode na:
- korisnik ne mora da instalira ništa na kompjuteru
- korisnik može da koristi aplikaciju bez obzira na to koji operativni sistem koristi
- korisnik može da pristupi podacima sa bilo kog uređaja sve dok uređaj ima browser
- problem distribucije novih verzija korisniku ne postoji – samim osveživanjem verzije na web serveru svi korisnici automatski kreću da je koriste
- backup se radi centralno na serveru
- korisnik ne mora da ima svoje tehničko osoblje, već sa ostalim korisnicima deli preofesionalno osoblje web aplikacije koje održava, razvija i podržava aplikaciju na profesionalni način.
- Ajaxifikovan web korisnički ekrani ne zaostaju ni malo u odnosu na desktop klijente.
Evo nekoliko primera uspešnih svetskih internet programa za knjigovodstvo koji ilustruju te principe: ,
- https://www.workingpoint.com/
- https://www.freshbooks.com/
- https://quickbooksonline.intuit.com/
- https://www.mint.com
A evo i dva domaća primera:
- https://www.povezise.com/ (ako vas zanimaju internet rešenja, obavezno proverite ovaj sajt)
- https://srbija.e-racuni.com/ (lično nisam oduševljen, ali more korisnika misli drugačije)
Da skratim post i da bez diskusije sve ove stavke priznam odmah kao nepobitno tačne. Na žalost i pored toga to je nedovoljno za mene da odlučim da radim svoj program za knjigovodstvo kao web aplikaciju.
Mane internet programa za knjigovodstvo
Web programi ne koriste optimalno računarske resurse u službi korisnika
Razvoj kompjuterskih sistema je ciklične prirode: pre 30-tak godina smo imali DEC VAX mainframe računare i glupave terminale direktno povezane sa glupavim terminalima koji su omogućavali samo prosti unos podataka bez ikakvog procesiranja. To nije radilo kako treba pa su terminali postali pametniji prvo malo (mini kompjuteri) pa onda i mnogo (PC kompjuteri). Arhitektura računarskih sistema je prešla istovremeno put od 2-slojne klijent server do n-slojne moderne arhitekture kakvu je imamo danas. Mogućnosti današnjih PC računara su neverovatne u poređenju sa kompjuterima od samo pre nekoliko godina. Imamo često 2 i više procesora na 3 Ghz sa gigabajtima RAM memorije, terabajtima prostora na disku, grafičkim karticama sa više kola nego Craz računar 70-tih. E u tom momentu se pojavljuju web aplikacije koje su ništa drugo do “mainframe sistema 21 veka” gde ulogu kabla od mainframe-a (web servera) do terminala (pc kompjutera) vrši sad internet. Zahtevi web aplikacija su neka vrsta “najmanjeg zajedničkog delitelja” iz samog razloga što najslabija platforma mora da ih podrži tako da većina tih HW resursa je potpuno neiskorišćena. Ako se pogleda tendencija gde google ide sa ChromeOS-om, jasno se vidi težnja da se korisnici liše tog nepotrebno jakog hardvera i zamene jeftinim računarima koji sve podatke skladište na minframe računaru. Kada to zaživi, eto nas opet u 70-tim sa jedinom razlikom da je internet sveprisutna mreža dok je mainframe veza sa terminalom išla RS 232 putem.
Ja ne znam da li je to budućnost ka kojoj idemo (lično se nadam da ne), ali s obzirom da živimo i poslujemo u sadašnjosti ja očekujem ne maksimalno moguću produktivnost i korisničko iskustvo. Želim da koristim svaki delić mogućnosti moje mašine kako bi bio produktivniji i efikasniji u vršenju svoje poslovne delatnosti. Knjigovodstveni program mora da služi meni, a ne W3C organizaciji.
To sve naravno zavisi od konteksta – ponekad je i to “zadovoljavajuće” rešenje sasvim prihvatljivo rešenje.
Ako ste korisnik koji unese jednu kalkulaciju sa nekoliko stavki nedeljno, onda stranica unosa vp kalkulacije internet knjigovodstvenog programa BIS WEB-a (ponavljam preporuku za sve koje zanima internet poslovna aplikacija) može da bude sasvim prihvatljiva. Ako ste korisnik koji unosi desetine kalkulacija dnevno od kojih neke imaju hiljade stavki onda vam ovaj ekran možda neće pružiti dovoljno mogućnosti u poređenju sa desktop knjigovodstvenim programom.
Web internet poslovni programi zahtevaju – internet
Za nas koji živimo van informatičkog “kruga dvojke”, opcije kao što su WiFi internet su ponekad više moranje nego stvar izbora (centrala nema ADSL priključke, fabrika je na periferiji predaleko od centrale, centrala je neka domaća koja radi preplitanje korisnika itd). Krene tako oluja, padne repetitor sa silosa, musterija stoji na kasi ispred vas, a vi joj kažete:”Ne mogu da vam izdam račun – nemamo internet”
Drugi sličan scenario (primenjiv i na krug dvojke) je recimo da web server usled preopterećenja /previše korisnika ili zlonamerni DDoS konkurencije/ bude ili potpuno nedostupan ili usporenog odziva u tolikoj meri da postaje mučenje raditi sa sajtom. Naravno, sve je to rešivo naravno dodavanjem balansiranih servera, firewall može da filtrira napade itd., ali sve to košta novaca, zahteva ozbiljno znanje i opet ne može da garantovano spreči da se to desi.
Po meni je rizik imati poslovnu aplikaciju koja je kompletno zavistna on neprekidno prisutnog interneta i koja prestaje da radi kada server na internetu prestane da se odaziva iz bilo kog razloga.
Web knjigovodstveni programi ne podržavaju potrebe knjigovodstvenih agencija
Ajde da predpostavim da prethodno navedeni nedostatak Html5 keširanje ili neki drugi način lokalnog browser keširanja može da reši. To i dalje rešava samo potrebe pojedinačnog korisnika koji koristi program (prvi dijagram dole).
Ako zamislimo da imamo knjigovodstvenu agenciju sa npr. 12-oro ljudi koji rade na podacima jedne iste firme onda svako od njih zasebno kešira podatke što dovodi do 12x većeg protoka podataka, a takođe nastupa i potreba za sinhronizacijom keširanih podataka jer korisnik može da ima keširane podatke već promenjene i keširane na kompjuteru drugog korisnika. Kad se tome doda i treća P2P topologija, sinhronizacija kešlokalnih keševa koji se nalaze obično u formi flat fajlova postaje dostižan, ali i veoma težak problem.
Zakonodavstvo
Mišljenje Ministarstva finansija, br. 011-00-00091/2007-16 od 17.4.2007. godine sadrži odredbu koja sumirana nalaže da u slučaju kada domaće pravno lice organizuje računovodstvo na način da poslovne knjige vodi tako da računovodstveni softver instalira na serveru u inostranstvu, dužno je da i u poslovnim prostorijama pravnog lica u zemlji instalira i čuva standardni računovodstveni softver koji omogućava funkcionisanje sistema internih računovodstvenih kontrola i kojim se onemogućava brisanje proknjiženih poslovnih promena.
Običnim rečima, web računovodstveni program mora da se ili hostuje u potpunosi u Srbiji ili korisnik mora da ima mogućnosti da i bez pristupa internetu omogući računovodstvenu kontrolu.
U slučaju hostinga u Srbiji, cena i kvalitet infrastrukture mogu da budu jako problematičan finansijski faktor (posebno imajući u vidu da se internet aplikacije nude obično za 10-20 eura mesečno). U drugom slučaju, omogućavanje offline moda internet računovodstvenih aplikacija je prilično krupan zalogaj koji (ako je uopšte moguć) vrlo verovatno zahteva instalaciju proksi servera na klijentskoj mašini, a od tog momenta to već nije internet web aplikacija po meni.
Web programi nemaju pristup lokalnom računarskom hardweru
Pritom prvenstveno mislim na: štampač, skener i fiskalnu kasu.
Dok je rešenje uobičajeno rešenje štampe dokumenata putem posebnih CSS stilova načelno primenljivo, u slučaju programa za knjigovodstvo koji je prepun štampanja složenih ad hoc izveštaja i dokumenata to nije tako jednostavno. Naravno da za svaki izveštaj može da se napravi ekran itd, ali to sve podiže trošak izrade i vodi diskutabilno kvalitetnom rešenju (u poređenju sa desktop varijantama). Iz tog razloga se često primenjuje “ping pong” rešenje gde korisnik klikom na link “Štampaj” na internet stranici izdaje web zahtev serveru koji onda na svojoj strani korišćenjem desktop rešenja generiše dokument u formi Adobe Acrobate PDF ili Microsoft Excell XLS koji onda korisnik otvori i odštampa. Problem sa tim rešenjem ja imam je što ruši poentu web-a: korisnik ne treba da instalira ništa. Šta ako korisnik nema reader ili excell? Šta ako koristim aplikaciju sa iPad-a ili nekog telefona i nemam ni mogućnost to da instaliram? Čak i da to sve nije problem, problem je korisničko iskustvo jer korisnik iz prozora svog web sajta prelazi u drugi prozor sa drugačijom navigacijom (embeded pdf reader) što u slučaju korisnika nevičnog radu na računaru može da bude jako zbunjujuće.
Ista ping pong priča je i sa fiskalnom kasom koja se koliko znam obično odrađuje tako što korisnik na svom kompjuteru instalira mali server koji sluša komande sa interneta tako da kada Web aplikacija uskladišti prvo na serveru podatke, web server pošalje te iste podatke desktop aplikaciji na računaru korisnika koji onda ima pristup hardveru računara te onda kasa dobija te podatke.
Skener ista priča, opet treba instalacija na klijentskom kompu, subomtimalna integracija itd…
Web programi odrađeni na pravi način su skupi
Implementacija je skupa
Da bi se dobilo korisničko iskustvo u radu sa web programima uporedivo sa desktop aplikacijom, potrebno je dosta jscript i CSS koda koji nije jednostavno kreirati, zaobilaženje osobenosti na koji browseri interpretiraju klijentski kod, rešavanje problema sa performansama koje Internet Explorer ima radeći sa velikim količinama jscripta kombinovanim sa velikim DOM-om itd. Pored performansi tu su i sigurnosni aspekti koji mora da se obuhvate takodje, zatim rešavanje problema da su poslovne aplikacije statefull, a web sajtovi stateless. Za efikasan intenzivni rad računovodja opcija rada bez miša neophodnost koja je verujem opet moguća ali teško ostvariva u web aplikacijama Itd, itd
Drugim rečima, da bi se prišlo blizu iskustvu koje pruža desktop aplikacija bez ikakvog truda, potrebno je dosta rada iskusnih web programera što košta dosta novca. I sa svim tim, ono čemu se možete nadati od web aplikacije je da bude blizu izgleda klasicne windows desktop aplikacije iz 1999.
Nema govora da dostignete potencijale koje nudi savremena desktop aplikacija (npr. zune)
Operacije (funkcionisanje sajta) je skupo
Kao što sam gore naveo dostupnost i performantnost servera web aplikacije je kritična za rad korisnika sa sajtom. Sve je to jednostavno kad imate 10 korisnika, ali kad imate desetine hiljada korisnika koji svi istovremeno rade u prvoj smeni sa špicom oko 11 sati potrebno je da imate ozbiljne resurse na serverskoj strani koji će da isprate procesiranje upita bazi i serviranje sadržaja (web stranica sa podacima) korisniku. Ne možete ništa kvalitetno ni da keširate jer je odnos citanja i pisanja daleko od onih idealnih 80/20.
Meni lično je to kompletno bacanje para jer dok se teret procesiranja svih 10000 korisnika prebacuje na server (i placa od strane proiyvodjaca web sajta) dotle potpuno besplatni resursi moćni kompjuteri tih korisnika leže potpuno neiskorišćeni. Hilarious , isn’t it?
Web knjigovodstveni programi nemaju zahtev da rade sa prospektima
Kod većine Web 2.0 internet sajtova, privlačnost “ne zahteva nikakve instalacije” ima najviše smisla jer se žele privući slučajni prolaznici, ne-korisnici –> potencijalni korisnici (eng. prospect users). Ako slučajni prolaznik sleti slučajno na vaš sajt ne želite da ga naravno terate da instalira ništa posebno jer veliki broj korisnika bi otišao i ne pogledavši šta to vi nudite.
Model knjigovodstvenih programa je drugačiji – to nisu prospect korisnici već korisnici koji aplikaciju koriste 8 sati dnevno u vršenju svoje primarne poslovne delatnosti. Ako korisniku ponudite da instalira 50 Mb java ili .NET framework (ako ih već nema) on će ih instalirati jednombez problema i uživati nakon toga svakog momenta u povećanoj u produktivnosti.
Zaključak
Imam ja još mojih ličnih zaključaka do kojih sam došao razmišljanjem na ovu temu, ali post je već predug te ću prestati ovde – čuli ste neke od glavnih razloga što je dovoljno da ilustruje razloge mog odbacivanja web knjigovodstvenih programa.
U drugom delu ovog posta, predstaviću S+S model koji sam ja odabrao da koristim koji lično verujem da kombinuje najbolje atribute web i desktop aplikacija na način optimalan po krajnjeg korisnika.
Do tad,
Nikola The Beerdrinker