Blog

Poziv u pomoc blogosferi

Šta

Postovani publikume (oba moja citaoca) prikupljam gradju za blog post o cenovnoj politici poslovnih aplikacija i u tu svrhu sam kreirao malu anketu koja prikazuje tri vida placanja:

  • Mesečna pretplata
    Korisnik plaća mali iznos paušalno, nema inicijalne isplate niti ugovornih obaveza. Nove verzije su uračunate u cenu te pretplate
  • Godišnja pretplata
    Isto kao mesečna pretplata, ali se plaća jednom godišnje (rečeno mi je od vas nekoliko da je to prihvatljivije od mesečnog)
  • Jednokratna uplata
    Standardan model gde se odjednom unapred plati program, dobijaju se ispravke te verzije. Nova verzija se kupuje kao novi proizvod.

Kako

  1. Glasajte na blogu – http://papiri.rs/blog,
  2. Kliknite ovde da objavite ovaj “poziv u pomoć” na vašem Facebook zidu 
  3. Retwitujte ovu vest na Twitteru  

Hvala!!!

Nikola TheAnketar Malović

image

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ć

Distribuirani knjigovodstveni program

U članku o tome zašto su S+S desktop knjigovodstveni programi pravi put, kao jednu od odlika moje S+S arhitekture sam naveo distribuirani mrežni model koji zahteva malo detaljnije objašnjenje. Opet je poseban naglasak na pokušaju objašnjavanja ove usko tehničke teme na način razumljiv ljudima koji nisu programeri.

Prvo da pojasnim sam koncept, pa onda da pređem na odgovaranje Radenkovih pitanja iz komentara prethodnog posta…

Distribuirani knjigovodstveni program – koncept

Ako uzmemo primer centrale sa izdvojenom poslovnicom u nekom drugom gradu, postavlja se pitanje kako se one povezuju međusobno i kako se povezuju sa oblakom.

LAN/WAN bazirano rešenje

Rešenja koje sam ja viđao 2003-e su se svodila na postojanje direktne VPN veze između centrale i poslovnice sa bazom koja se nalazi na serveru centrale i nju koriste aplikacije i u centrali i u poslovnicama.

image

Suština ovog rešenja je da iako su lokacije geografski udaljene one suštinski su deo iste sigurnosne zone istog LAN-a. Prednost ovog modela je što podaci unešeni i u centrali i u poslovnici su momentalno vidljivi na oba mesta.

Neke od mana ovog modela po mom mišljenju su:

  • performanse –svi se upiti iz poslovnice šalju do centrale odakle onda se vraća set rezultata. Što više poslovnica sve je veći pritisak na računarske i interent resurse centrale itd
  • zavisnost poslovnice od centrale – u slučaju da kompjuter na centrali se ugasi, internet veza se poremeti itd poslovnica postaje neupotrebljiva
  • kompleksnost rešenja – profesionalna VPN mreža podrazumeva Cisco mrežnu opremu koja zahteva posebne stručnjake za administriranje i održavanje.
  • skupo
    Zakupljivanje dovoljno protočne linije u centrali da podrži 50 poslovnica i plaćanje plata Cisco administratorima nisu zanemarljivi troškovi po mom ličnom mišljenju.
  • zasniva se na odnosu poverenja
    Recimo da je sigurnosno prohvatljivo da poslovnice imaju direktan pristup podacima centrale i da je prihvatljivo to što su sve poslovnice u VPN vezi sa serverom. Šta ćemo sa knjigovođom iz knjigovodstvene agencije? Šta je sa distributerima i kupcima koji bi da poruče robu od nas? Hoćemo i njima svima da damo ključeve od našeg sistema?

Internet distribuirano rešenje

Kod mog distribuiranog rešenja, Internet se koristi za asinhronu sinhronizaciju podataka subjekata bez postojanja njihove direktne veze rešavajući na taj način gore opisane mane.

image

Podaci koji se kreiraju u centrali se šalju na oblak bez znanja ko će podatke da konzumira. Što se tiče centrale ne postoji u sistemu niko drugi sem nje i oblaka. Oblak je aplikacija koja “živi” na internetu 24 sata dnevno/365 dana godišnje uvek dostupna na bilo kom mestu gde postoji internet bez potrebe za VPN-ovima itd.

Recimo da se u centrali tako unese novi poslovni partner, koji se iz baze centrale kopira na bazu u oblaku. Svi učesnici u procesu periodično pozivaju oblak i pitaju “Da li ima nekih novih podataka u tvojoj bazi koji me se tiču?”. Oblak odgovara “Da,postoji novi partner. Zainteresovan?”. Recimo da Poslovnica 1 jeste zainteresovana za to te to i javlja oblaku. Oblak onda uzima podatke partnera i šalje putem interneta aplikaciji koja se izvrsava u poslovnici 1. Poslovnica 1 prihvata taj podatak i skladišti ga u svojoj bazi. Na taj način baza podataka u poslovnici 1 je dobila podatak iz centrale što omogućava knjigovodstvenom programu u poslovnici 1 da u svom radu radi samo sa tom bazom u lokalu, bez posezanja za bazom u centrali.

Prednosti ovog modela su sledeće:

  • performanse
    Program u poslovnici 1 se izvršava isključivo korišćenjem lokalnih resursa
  • nezavisnost subjekata
    Poslovnica 1 i centrala nisu direktno zavisne jedna od druge. Ako bi npr. ugasili kompjuter u centrali poslovnica bi i dalje radila. Poslovnica takodje nije zavisna ni od oblaka. Izvucite mrežni kabl i radiće i dalje. Sinhronizacija između subjekata može da se ostvaruje po potrebama subjekata: npr. poslovnice mogu da proveravaju svakih 10 minuta da li ima novih podataka za njih, dok centrala može da preuzme podatke iz poslovnica jednom dnevno nakon završetka radnog vremena. Moguće je odraditi naravno i “sinhronizaciju po potrebi” gde korisnik u Poslovnici 1 bi kliknuo na dugme “Ažuriraj” i inicirao početak sinhronizacione sesije.  To su samo dva primera koji ilustruju mogućnost definisanja dinamike sinhrinizacije za svakog subjekta poslovnom sistema ponaosob po potrebama preduzeća. Samoj aplikaciji je svejedno kad i koliko često se izvršava.
  • kompleksnost rešenja
    Nijedan od subjekata ne treba da radi absolutno ništa da bi se sinhronizacija izvršavala. Svako od subjekata radi svoj posao normalno /npr. fakturiše/, a moj knjigovodstveni program sam ispod haube orkestrira onda sinhronizaciju. Krajnji cilj je da niko u centrali ili poslovnicama ili bilo gde uopšte bude svestan te sinhronizacije.
  • cena
    Nema potrebe više za posebnim IT stručnjacima niti za skupocenim širokopojasnim vezama jer svaki od subjekata šalje i prima samo diferencijale podataka. Npr. poslovnica 2 može biti u nekom selu gde ADSL ne može da se uvede i recimo može svake ponoći da ostavri dial up vezu i dva sata šalje podatke na oblak.
  • poverenje
    Jednom kad imate ažuran set podtaka u oblaku koji predstavlja uniju podataka centrale i poslovnica, knjigovodja iz svoje kancelarije može da im pristupi putem interneta. Nikakv pristup centrali i poslovnicama više nije potreban i podacima može da pristupi bukvalno 24 sata dnevno. Kao što vidite na gornjoj slici i knjigovodja ima lokalnu bazu u svojoj kancelariji/kompjuteru tako da sve što je rečeno o sinhronizaciji centrale i poslovnica vazi i ovde.
    Na gornoj slici takodje možete da vidite i primer dva kupca gde jedan ima bazu, a drugi nema.
    Što se tiče ovog prvog, priča je ista kao i sa poslovnicama i knjigovodjom. Ono što je veoma bitno primetiti ovde je da ne dobijaju svi učesnici u sinhronizacionom procesu isti set podataka. Oblak odlučuje na bazi toga ko je subjekt šta od podataka mu šalje. U ovom primeru tako kupac 1 bi mogao na primer samo da dobije katalog artikala sa njegovim vp cenama. Postoji centralno sigurnosno mesto – oblak  – gde se definiše ko šta dobija.
    Drugi kupac nema bazu na ovom dijagramu jer on podacima pristupa putem B2B web sajta. Jednom kad imate bazu podataka u oblaku, u mogucnosti ste da napravite web sajt za rad sa tim podacima tako da kupac radi sa tim web sajtom vršeći kontrolisane promene nad bazom u oblaku koje se putem sinhronizacije sprovode do ostalih zainteresovanih subjektata (npr. centrale)

Odgovori na Radenkova pitanja

Kako se obezbedjuje pravovremena sinhronizacija izmedju subjekata?

Problem: “Ako se kreira podatak u centrali, do momenta sinhronizacije u poslovnici on se ne vidi u programu…”

Nisu svi podaci jednaki. Neki podaci se češće menjaju neki ređe. Neki podaci su bitni za rad oba objekta, neki su opet kritično bitni samo u radu tog objekta.

Npr. ako kupac dodje u poslovnicu jedan u Beogradu da kupi gradjevinski materijal i recimo nema toga što traži na stanju njega verovatno ne interesuje to što ga ima na stanju u Nišu. Ako vlasnik ima lanac apoteka, da li je bitno to što ima aspirin u apoteci na drugom kraju grada? Verovatno ne, jer ćete otići u drugu obližnju apoteku.

I pored toga što po mom praktičnom iskustvu većina podataka spada u grupu “toleratnih na kašnjenje”, definitivno se ne može tvrditi da su svi takvi u svakom slučaju.

Postoje razna rešenja ovog problema, ali ono koje po meni predstavlja najbolji kompromis izmedju efikasnosti rešenja, jednostavnosti rešenja i realne upotrebe je omogućavanje definisanja frekvencije intervala slanja i primanja na nivou entiteta kobmbinovano sa sinhronizazijom “na zahtev”.

Recimo da je podrazumevano podešavanje sistema da centrala na primer na svaka 30 minuta uzme sve nove podatke, spakuje ih u jedan paket i pošalje odjednom na server. Recimo da je to prihvatljivo za vecinu stvari ali ne i za partnere gde se zahteva uskladjenost podtaka. U tom slučaju bi se sistem podesio da nove partnere šalje u oblak čim su kreirani u centrali, nezavisno od ostalih podataka koji i dalje idu svaka 30 minuta. U zavisnosti od realne situacije knjigovodstevi program u podružnici se može podesiti npr da proverava svakog minuta da li ima novih partnera (ostali podaci se proveravaju na 30 minuta). Recimo da ni ta ažurnost u minuti nije dovoljna i da se ulazi u katalog partnera 30 sekundi nakon što je partner kreiran na centrali. U tom teorijskom slučaju, pre nego što se učita ekran unosa partnera, program u podruznici izdaje zahtev oblaku (“Pošalji mi nove partnere”) potpuno neovisno o osveživanjima koje se izvršavaju svakih 1 i 30 minuta. Ključni momenat je da se tim zahtevom dobija mala količina podataka (“samo partneri kreirani od prošle sinhronizacije”) te to ne utiče na performanse rada računara.

Dvosmerna komunikacija je isto izvodljiva, ali je rešenje koje limitira fleksibilnost sistema u smislu da oblak mora da bude svestan konzumenata što je po meni neprirodno, a srećom i nepotrebno usled postojanhja gore opisanog rešenja. Smile

Rezolucija konflikta

Problem:”Šta raditi kad ipak kad oba objekta kreiraju istog partnera?” (npr. Poslovnica 1 nije imala internet 2 dana.)

Ovo je teško objasniti bez tehnikalija, ali se ukratko svodi na to da programski svaki od partnera ima svoj jedinstveni ID koji je garantovano različit za sve partnere bez obzira kad i gde su kreirani. Sa aspekta sinhronizacije podataka, to bi rezultovalo time što bi spajanjem podataka centrale i poslovnice rezultovalo sa dva reda u bazi koja bi sadržala iste podatke. Sa stanovišta programa to je situacija koja ne pravi nikakve probleme, ali opet nije prihvatljivo imati evidenciju za partnera na više mesta. Taj problem rešavam time što u oblaku u momentu spajanja podataka proveravam postojanje logičkih duplikata – partnera sa istim PIB-om, artikala sa istim bar kodom. Kada se logički duplikat detektuje, duplikati se brišu a sva dokumenta koja su referencirala “duplikate” se prepravljaju da ukazuju na “original”. Sledeća sinhronizacija – sređen set podataka putuje ka svim stanicama što rezultuje normalizacijom partnera iz ovog primera.

Sigurnost podataka tokom sinhronizacije

Komunikacija između oblaka i subjekata sinhronizacije se obavlja sigurnim SSL transportnim kanalom što je samo po sebi dovoljno sigurno. Ipak za svaki slučaj inicijalni prenos podataka (kada destinacija sinhronizacije nema nikakve podatke pa se cela baza šalje) se takođe enkriptuje sigurnosnima sertifikatom radi povećane sigurnosti. Sve sinhronizacije diferencijala nakon inicjalne sinhronizacije se ne enkriptuju zbog performansi jer je potencijalna opasnost mnogo manja (ako neko u teoriji dodje do podataka jedne moje fakture to je manje opasno nego da dodje do svih faktura, svih partnera itd). Uz ovo standarno obezbedjenje transportnog kanala i poruke tu je i jedna moja lična dodatna mera sigurnosti o kojoj opet ovde ne bi da pričam mnogo da ne kvarim zabavu potencijalnim “hakerima”. Sve u svemu, po mom stručnom mišljenju sinhronizacija podataka  pokrivena ovim metodama je potpuno sigurna.

Performanse sinhronizacije i sistema tokom sinhronizacije

Sve se sinhronizacije obavljaju korišćenjem posebnih threado-ova tako da je uticaj na rad sa knjigovodstvenim programom minimalan. Podaci se sinhronizuju po važnosti i obrnuto hronološki. Npr. inicijalna sinhronizacija je definitivno nešto što duže traje, ali ako se npr. podaci pametno sinhronizuju: prvo partneri, pa zadnjih 50 faktura, pa njihovi artikli id. čak i taj jedan jedini put kada sinhronizacija bude trajala korisnik će moći da radi sa računarom. U eri savremenih ADSL veza, poslati nekoliko megabajta preko žice tokom te inicijalne sinhronizacije ne bi trebalo da traje predugo. Čak i da traje, to je samo jednom. Nakon toga se skidaju samo novi redovi kreirani van sistema i šalju novi redovi kreirani na računaru – minimalan set podataka.

Zaključak

Distribuirana S+S arhitektura je arhitektura koja se koristi u veoma malom broju programa, podržana samo od Microsofta itd. Iz tih razloga sam morao da provedem značajniji vremenski period razmišljajući o poslovnom i tehničkom aspektu mog proizvoda, radeći na prototipovima itd pre nego što sam se mogao sa sigurnošću da ustvrdim da u potpunosti odgovara mojim potrebama bolje od ostalih arhitektura koje sam razmatrao.

Idealno dobra i loša rešenja ne postoje, sve zavisi od konteksta i upravo je u tome uloga arhitekata informacionih sistema da usklade potrebe sistema koji dizajniraju sa ponudjenim resenjima.

Moj izbor – distribuirani S+S Smile

Vaš?

Nikola TheDistributed Malović

Knjigovodstveni programi – web vs desktop (2/2)

S+S desktop windows knjigovodstveni programi – i jare i pare

Prvi deo ovog posta je bio namenjen predstavljanju mog stava zašto je pogrešno raditi knjigovodstveni program korišćenjem web tehnologija. Ja sam mrzim ljude koji samo kritikuju postojeće bez iznošenja svog konstuktivnog stava po tom pitanju, tako da u ovom drugom delu mog posta predstaviću svoje mišljenje o tome zašto S+S desktop knjigovodstveni programi su optimalani  i po korisnika i po autora.

Veliki izazov sa ovim člankom koji je načelno tehničke prirode je ne ići u tehnikalije i u previše detalja, a opet prezentovati precizno nešto, ali daću sve od sebe da to ispoštujem pa „eto mene, eto vas – blog post publikumu

The Web Is Dead. Long Live the Internet.

Ne, nisu to moje reči (iako uslovno odražavaju suštinu mog stava) nego naslov jučerašnjeg naslovnog članka čuvenog Wired magazina. Za one koje mrzi da pročitaju članak, suštinski se svodi na analizu zapažanja kako u strukturi prometa na internetu udeo web sajtova opada te se web koristi sve više kao infrastruktura za transport sadržaja i podataka do krajnjih korisnika koji koriste native aplikacije. Taj pojam native aplikacija ne podrazumeva samo Windows/Linux PC računare već i pametne telefone (iPhone, Android..), tablete (iPad), igračke konzole (xbox, PS) itd…Evo jedne ilustracije te debate  prenešen na kontekst web vs desktop aplikacije.Ja sam vlasnik iPhone-a prve generacije (jeste u pravu ste, ja – „zaslepljeni Microsoft fanboy“ imam nekoliko godina iPhone – šokantno!).  Safari internet browser na iPhone-u je fantastičan i omogućava mi da koristim bilo većinu sajtova bez većih problema. Ipak, kada hoću da koristim twitter ja ne otvorim www.twitter.com adresu u njemu, već startujem Seesmic iphone aplikaciju. Neko bi pomislio možda da je to usled toga što je iPhone aplikacija svojom veličinom prilagođena malom ekranu telefona dok web stranica nije, ali identična stvar se ponavlja i na mom kućnom računaru gde imam 26“ ekran i na mom lap topu (15“) tako da po meni to i moja objašnjenje ne pije vodu. Ne radim ja to što „mrzim web“, već isključivo zato što udobnost korišćenja i moja produktivnost kada koristim twitter desktop klijent u veoma velikoj meri prevazilaze korišćenje twitter web sajta. Da li to znači da mi internet nije potreban i da mi je dovoljna samo ta aplikacija? Naravno da ne jer bez interneta i twitter servisa u oblaku aplikacija je beskorisna. Naravno da ne jer želim da pristupim podacima sa svakog od mojih uređaja, dok sam u metrou u pokretu itd…

Šta je to S+S ahitektura aplikacije?

„S+S“ je skraćenica za „Software + Services“ što označava pristup izrade aplikacije gde se aplikacija diyajnira tako da na na lokalnom računaru (npr. vaš kompjuter, telefon itd) se izvršava aplikacija koja komunicira sa servisima na Internetu ostavrujući tako svoju namenu. Razlikuje se od mnogo popularnijeg SaaS modela po tome što se aplikacije izvršava korišćenjem lokalnih resursa, dok kod SaaS kompletno procesiranje se obavlja na serveru. Drugim rečima, S+S program je desktop klijent povezan sa internet servisima.

Na konkretnom primeru mojg programa za knjigovodstvo S+S implementacija podrazumeva:

  • Pametni desktop klijent
    (moj izbor tehnologije klijenta -> Windows/WPF aplikacija – alternativa Linux/Java)
  • Servise u oblaku
    (moja platforma –> Windows Azure + SQL Azure – alternativa mrežne usluge Google/Amazon)
  • Distribuirani mrežni model sa sinhronizacijom podataka izmedju lokalnog i internet servera podataka
    (moja platforma –> Microsoft Sync Framework)

Poštovanjem ova 4 principa dobija se najbolje od obe platforme: desktop klijenta i internet servisa koje se u kontekstu programa za knjigovodstvo savršeno dopunjuju u sistem optimalan i za korisnika i za autora.

Prednosti S+S knjigovodstvenih programa

Maksimalno produktivan i prijatan rad

imagePo meni, udobnosti rada u dobroj windows desktop knjigovodstvenom programu nijedna web knjigovodstvena aplikacija ne može ni da priđe. Ne verujte? Idite na www.freshbooks.com (jedan od najboljih svetskih web knjigovodstvenih programa) i kreirajte free account pa probajte rad. Zatim idite na http://www.peachtree.com/ i skinite trial verziju pa probajte. Freshbooks je veoma dobar, ali Peachtree je bolji.

S obzirom da se upiti i pretrage podataka obavljaju korišćenjem lokalnih resursa odziv knjigovodstvenog programa je brz i omogućava složenije operacije i manipulacije nad podacima. Investicije koje korisnik pravi u svoje osnovno sredstvo – računar – direktno rezultuju sa povećanjem performansi rada programa.S obzirom da se radi o aplikaciji koja se koristi intezivno u toku dana (i to u dosta slučajeva većim delom tog istog dana) za obavljanje primarne poslovne delatnosti, itekako je bitno da knjigovodstveni program bude i „prijatan“ i produktivan za korišćenje.
Izbeći 1000 x 4 sekundi čekanja na učitavanje web stranice je više od sat vremena dnevno ušteđenih /3+ radna dana mesecno/, a na ne pričam o izbegavanju rizika dobijanja eplitičnih napada od tog silnog bleskanja web browsera J

Neprekidna internet veza nije neophodna

Kada se korisnik prijavi prvi put na program, na njegov lokalni kompjuter se sadržaj baze sa interneta sinhronizuje. Inicijalno bi to rezultovalo sa kopiranjem kompletnog seta podataka sa servera u oblaku na server u lokalu. Svaka naredna sinhronizacija rezultuje prenosom samo diferencijala nastalih od poslednjeg sinhronizovanja.

Ovaj pristup omogućava implementaciju knjigovodstvenog programa tako da program u većini slučajeva komuncira sa bazom na lokanom kompjuteru, a ta se baza ispod haube u zasebnom procesu sinhronizuje sa serverom na internetu. Na taj način i u slučaju gubitka internet veze program radi potupuno normalno. Jednom kad se internet veza povrati, svi novi unosi i ispravke se šalju na server.

Fleksibilna mrežna topologija

U većini slučajeva poslovnu aplikaciju koristi više od jednog korisnika – „kancelarijski scenario“.

Ako koristim primer iz prvofg dela ovog posta o tome zašto web knjigovodstveni programi nisu najoptimalnije i zamislimo da imamo 12 korisnika koji rade nad jednom istom bazom to je onda 12x veći protok sa serverom itd…

U mom modelu bi postojao jedan SQL Server u kancelariji koji bi se sinhronizovao sa serverom u oblaku ili „po potrebi“ ili u nekim zadatim vremenskim intevalima (5 minuta, dan – štagod). Taj server bi bio dostupan svim desktop klijentima u lokalnoj mreži tako da se opet sva komunikacija koju klijenti vrše sa setom podatka vrši u lokalu na taj način uvećavajući produktivnost korisnika.

U slučaju da nema interneta, nema problema – cela kancelarija radi i dalje neometano. S obzirom da svi koriste istu lokalnu bazu, svi uvek rade na ažurnom setu podataka tako da je sinhronizacija podataka sa oblakom potpuno nevidljiva sa stanovišta korisnika.

Poboljšana elastičnost troškova S+S knjigovodstvenih programa

Ovo je prednost koja se ne tiče korisnika nego nas autora. Kod web aplikacije prelazak sa 10 na 10.000 korisnika rezultuje eksponencionalnim rastom troškova usled povećanja protoka i usled činjenice da svih 10.000 korisnika zavise od hardvera jedne mašine – server (lokalni resurs računar apotpuno neiskorišteni – detaljniji opis problema dat u prvom delu ovog posta)

U mom distribuiranom S+S modelu programa za knjigovdstvo, troškovi rastu linearno jer:

  • što se protoka tiče on ja minimalan usled činjenice da svi dobijaju samo onog što je novo unešeno, obrisano ili izmenjeno i činjenice da se svi upiti (večina protoka ide na te upite) vrše u lokalu korišćenjem računara korisnika. Takođe kod S+S programa za knjigovodstvo ne šalju se ni same web stranice potrebne za rad tih 10.000 korisnika što može bitno utiče na veličinu protoka.
  • Što se opterećenja servera tiče s obzirom da se lokalni resursi koriste, nema potrebe za skaliranjem kupovinom dodatnih mašina itd.

Zašto je to bitno za krajnjeg korisnika? Iz prostog razloga što tipičan biznis model web programa se zasniva na prihodu od 10-20 eura mesečno po korisniku što pretpostavljam ima ekonomsku računicu u početku sa malim brojem korisnika – mali protok i malo opterećenje servera. Ako bi program za knjigovodstvo doživeo tržišni uspeh i došao na primer do 10.000 korisnika od kojih većina koristi intenzivno sajt u kratkom vremenskom periodu /npr. od 9 do 14/ to bi zahtevalo bitno ulaganje u infrastukturu kako bi se održao nivo usluge na početnom nivou. Da ne spominjem veličinu protoka samih web stranica koje kreira 10.000 ljudi intezivno koristeći aplikaciju nekoliko sati.

Ajde da se odmah priče radi složim sa tvrdnjom da se to neće ozbiljno odraziti na profit koji se ostvaruje po korisniku /resursi oblaka jeftini, zakupa infrastrukture povoljan  itd/ i da samim tim inicijalna cena zakupa može da se održi tokom vremena. Ipak, čak i u tom slučaju kada troškovi ne rastu marginalno oni i dalje rastu značajno u apsolutnom iznosu i zahtevaju ozbiljno operaciono planiranje i izvršavanje (npr. sve više ljudi na platnom spisku se bave administracijom tih resursa itd)

U mom desktop distribuiranom S+S modelu knjigovodstvenog programa, tropkovi rastu zanemarljivo i u apsolutnom iznosu iz razloga gore navedenih. To automatski znači da sa povećanjem broja korisnika u mom modelu aplikacije marginalni trošak po korisniku opada i samim tim mi omogućava (ako to želim) da počnem da spuštam cenu svog proizvoda do nivoa teoretski nižeg od onog što bi mogao sa web programom za knjigovodstvo. Ono što je dodna prednost kod ovog modela za mene je što mi omogućava da sa minimalnim brojem ljudi operaciono podržavam veliki broj korisnika, što se podudara sa mojim stavovima o poželjnosti što manjeg broja zaposlenih.

Ne tvrdim da trka sa cenama ima smisla u Srbiji, ali na tržištima gde je ozbiljna tržišna konkurencija svako oružje koje može da se iskoristi u tržišnoj borbi je dobrodošlo. Niži TCO je definitivno poželjan u tom kontekstu.

Zakonodavstvo

Nema nikakvih problema – baza se nalazi u vašoj kancelariji trajno dostupna sa ili bez interneta.

Pristup lokalnom hardweru

Štampači, skeneri, fiskalne kase… – podrazumeva se.

Mane korišćenja S+S arhitekture programa za knjigovodstvo

Instalacije knjigovodstvenih programa i distribucija novih verzija

Za razliku od web aplikacija, desktop windows knjigovodtveni programi zahtevaju od korisnika da instalira nešto na svom računaru što je teorijski problem ali ne i u stvarnosti jer:

  • korisnik nije neki anonimni prospekt koga bi zahtev za instalacijom nečeg odvratio od posete vašem web sajtu. Korisnik je profesionalac kome ne smeta da odvoji 5 minuta i instalira nešto na svom računaru, sve dok je proces instalacije jednostavan, kratak i pravolinijski.
  • Tehnologija distribuiranja desktop aplikacija je napredovala značajno zadnjih godina kroz evoluciju ClickOnce tehnologije. ClickOnce omogućava da korisnik prostim klikom na link na internetu potpuno automatski instalira aplikaciju. Takođe, sama se aplikacija (isto potpuno automatski) nakon toga stara o samoažuriranju skidanjem i instaliranjem novih verzija.
    Za one koji ne znaju kako to radi Google Chrome internet browser ga koristi tako da ako ga već nemate instaliranog idite na http://www.google.com/chrome i kliknite na download link.
    Bezbolan i brz način na koji se instalira Chrome je identičan načinu na koji će se instalirati moj knjigovodstveni program.

Administracija desktop aplikacija je komplikovana u većim firmama

Netačno sa modernim ClickConce distribuiranim aplikacijama.

  • Aplikacija instalirana ClickOnce tehnologijom ne zahteva da korisnik ima administratorska prava na računaru
  • Ne vrši nikakve modifikacije windows registry baze
  • Svi fajlovi aplikacije se kopiraju u jedan fizički folder gde se aplikacija nalazi – ništa se ne instalira van njega tako da ako samo fizički kopirate folder na drugu mašinu program će raditi.
  • ClickOnce aplikacije su po deafultu bezbedne jer se instaliraju per user a ne per machine.
  • Aplikacije se samostalno osvežuju kada se nova verzija pojavi
  • ClickOnce aplikacije mogu biti instalirane sa interneta, ali i sa mrežnog diska itd.

Većina mašina nema .NET framework instaliran

Tačan podatak po mom iskustvu i to je jedini postojeći problem koji po mom mišljenju je postao minoran sa izlaženjem .Net framework v4 koji ja koristim.
Veličina instalera koji podržava i 32 i 64 bitne OS-ove je samo 41 Mb,što na ovom računaru na kome pišem ovaj post se skidao 52 sekunde. Ajde neka traje i 10x duže na većini računara mojih korisnika.
Da li je to što ćete samo jednom morati da sačekate 10 minuta toliki baš problem da ćete odustati od desktop knjigovodstvenog programa i preći na web program za knjigovodstvo gde ćete svakog dana provesti 5x više vremena čekajući na učitavanje stranica? Po mom mišljenju, 10 minuta čekanja za download je savršeno prihvatljivo za posleovne aplikacije i samim tim glavna prednost web knjigovodstvenih programa pada u vodu.

Intelektualna svojina i pirati

Najveća mana i izazov sa desktop knjigovodstvenim aplikacijama je nešto što se tiče interesa samih autora. Prednost web aplikacija je da ne možete da ih „krekujete“ jer se aplikacija izvršava van vašeg kompjutera te samim tim nemate ni šta da krekujete. Nema pirata, nema muke sa naplatom. Kod desktop aplikacija, možete da probate da zaštitite kod korišćenjem nekih tehnologija, možete da otežate posao krekerima obfuskacijom, ali ne možete nikako da se zaštitite da ko ima znanja i volje neće da probije zaštitu. Najbolji dokaz za to je 8200 piratskih rezultata na crack upit za jedan od poznatijih hrvatski program. Rešenje ovog problema je ekstremno teško pogotovu ako se ima u vidu da aplikacija treba da funkcioniše i bez interneta ali ja verujem da imam efikasno rešenje. Ne bi želeo da kvarim buduću zabavu krekerima pa neću sada i ovde diskutovati o detaljima tog mog pristupa sem hinta: World Of Warcraft.

Wpf je windows only tehnologija.

Potpuno tačno. I?
Ako mi to ikada bude bilo problem kod nas portovanje WPF aplikaciju Silverlight aplikaciju nije toliko komplikovano i eto meni podrške za Linux i Mac. Ako mi bude trebao web site za neki B2C ili B2B, koristicu ASP .NET MVC. Poneta je da su mi ti segmenti trenutno potpuno ekonomski nebitni, a šta če biti – biti će. J

Zaključak

Ni web ni desktop knjigovodstveni programi nisu optimalno rešenje po krajnjeg korisnika jer oba modela imaju bitne nedostatke. Pravo rešenje je S+S model koji kombinuje ta dve tehnologije na način u kome se one dopunjuju jednu drugu eliminišući time većinu mana koje pojedinačno imaju.

Rečima Zelenog  Zuba:”“Nije dobro Bijelo Dugme, nije dobra Katarina…”

Sledeći post će se baviti time pitanjima koje sve češće dobijam od ljudi preko emaila: šta je to uopšte što ja pravim, što baš program za PC servise, kakve veze uopšte imaju stvari o kojima ja pišem sa knjigovodstvenim programima itd…

Čitamo se,
Nikola TheClickOnce Malović

Knjigovodstveni programi – web vs desktop (1/2)

Internet knjigovodstveni program-sadašnjost, budućnost ili utopija?

pivara1Ako 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: ,

A evo i dva domaća primera:

  • http://www.povezise.com/ (ako vas zanimaju internet rešenja, obavezno proverite ovaj sajt)
  • http://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.

image

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” Smile 

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).

imageimageimage

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…

image

 

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? Smile

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

Honey, I’m home…

Evo, da prekršim svesno blogerski zakon #3 Scott Hanselman-a i da objasnim što nema već dve nedelje postova – bio sam na odmoru 2 nedelje bez ikakvih elektronskih uredjaja (znam – svetogrđe, ali neophodno) sem kindle čitača napunjenog knjigama koje nemaju veze sa programiranjem i arhitekturom.

Da kompezujem oba moja čitaoca za štetu načinjenu tom nečuvenom pauzom, evo podeliću javno nekoliko fantastičnih knjiga koje sam pročitao za te dve nedelje i koje su na mene ostavile jak utisak

Ova knjiga sadrži svedočenja desetine osnivača malih firmi koje su uspele da ostave trag u kompjuterskoj istoriji. Osnivači PayPal-a, Apple-a, Excite-a, FireFox-a govore o genezi njihovih odeja i proizvoda, poteškoćama koje su u početku nailazili itd…

Ono što je na mene ostavilo posebno jak utisak u ovoj knjizi (pored ogromne količine energije i inspiracije) je saznanje da nisam: lud, naivan, šarlatan itd, već da ima još ljudi koji osećaju isto kao ja i zovu se preduzetnici (eng. entrepreneur). Ne poredim se ja pritom sa tim velikanima uopšte, samo je lepo znati da postoje srodne duše. Smile

 

Jason Fried  u ove dve knjige na genijalan način objašnjava kako organizovati softversku kompaniju po principima minimalizma gde sa šačicom zaposlenih imaju više od 5 miliona korisnika. 
Veliku većinu stvari o kojima piše u ovim knjigama ja potpisujem u celosti. Nije ni čudo što su zaradili 1+ milion dolara od prve knjige samo.

 

Seth je marketinško polubožanstvo, čija predavanja koštaju slušaoca oko 1000 dolara/sat i opet je sala ispunjena do zadnjeg mesta.

Moram da kažem da me je ova knjiga faktorom iznenađenja nokautirala u prvoj rundi kada sam ukapirao nakon citata Karla Marx-a o čemu se radi u ovoj knjizi. Uošte se ne radi o marketingu, već o pozivu na buđenje iz korporativnog Matrix-a u kome mnogi od nas žive. Nisam mogao da zaspem dok knjigu nisam isčitao i još je varim.

Ako bih morao da je sažmem u jednu rečenicu to bi bila:”Who dares wins!”

 

Ovu knjigu sam počeo da čitam kako bih naučio anglosaksonsku knjigovodstvenu terminologiju što će mi nadam se omogućiti detaljnije analize svetskih knjigovodstvenih programa.

Napomena: Ovo je knjiga tipa “for dummies” što je tačmo ono što meni treba, ali da znate da se ne razočarate ako je čitate a već ste iskusni u ovoj problematici.

 

 

Eto, dakle tog mog iskupljenja za pauzu. Nadam se da ćete uživati čitajući ih, a ja odoh da se raspakujem Smile

Čitamo se (uskoro),
Nikola The Book Reader

Knjigovodstveni programi, Linux i Open Source

Imaju li Linux OSS programi za knjigovodstvo ekonomskog smisla?

U komentarima mog prethodnog posta o potrebi konstantnog evaluiranja pozicije konkurencije i unapređivanja poslovanja razvila se mala diskusija o Linux-u i OSS (eng. Open Source Software) aplikacijama gde sam ja obećao da ću da iznesem u posebnom članku moje mišljenje o toj temi – evo tog članka J

Članak je možda je malo previše tehnički nastrojen za blog čija namena nije da bude o tehničkim temama, ali ipak smatram da je potrebno da iznesem ovako svoj stav o ovoj temi jer bitno utiče na implementaciju mog „savršenog“ programa za knjigovodstvo a i razlozi nisu uopšte tehničke prirode.

Da se predstavim prvo (full disclaimer)

Linux i ja

Ne tvrdim da sam bilo kakav Linux ekspert – čak naprotiv tvrdim da nisam. Zato ste vi tu 🙂 Moje zadnje bitnije iskustvo sa Linux-om je vezano za period oko 2000-te Madrake distro. Trenutno koristim Ubuntu 10.4 za testiranje Silverlight aplikacija na kojim radim i u potpunosti se slažem da je Linux u ovih 10 godina prešao ogroman put u pogledu upotrebljivosti kao desktop operativni sistem ne samo geek-ova nego i običnih ljudi. Većina aplikacija sa Windows-a su tu (Open Office, Firefox itd), a pogotovo u eri prelaska na internet cloud aplikacije kao Google Docs, izbor OS-a bi možda mogao da postane nešto sasvim opciono za svakdnevni rad. Ponavljam: nemam nikakve zamerke na Linux i smatram ga sasvim validnom alternativom Windows-u za korišćenje na PC-ju.

OSS i ja

Generalno govoreći nemam apsolutno ništa ni protiv OSS-a. U svom radu koristim more OSS alata od kojih su samo neki: Nhibernate, AutoMapper, Rhino Mocks, Mono i mnoge druge. Smatram da je postojanje OSS-a ključno za napredak MS programerske zajednice pa i samih Microsoftovih alata. Principi Alt.NET-a su mi veoma bliski i trudim se da se držim njih što više. Najbolji primer za to koliko je OSS vredan je napredak koji je učinjen u Entity Framework 4.

Licencing i ja

Absolutno ne tvrdim da sam bilo kakav eskpert u pravnoj interpreataciji uslova korišćenja koje dole navodim. Moji zaključci su bazirani na osnovu mog rezonovanja i ako neko zna da su pogrešni molim da me ispravi u komentarima i ja ću ispraviti tekst člnaka odmah.

Microsoft i ja

Ko god me zna lično zna koliki sam ja fanatični pobornik Microsoft-a. Moj primarni email je hotmail (IM takođe), koristim Bing za pretragu, Internet Explorer 8 kao default browser, Live Mesh/Sync za sinhronizaciju fajlova koje imam. .NET je programsko okruženje koje biram već 7 godina. Imam dva Win7 kompa kući, jedan na poslu. Planiram da kupim do kraja godine Windows Phone 7  telefon, novi XBOX 360 i verovatno WP7 tablet. Nemam apsolutno nikakvih problema sa negativim PR imidžom MS-a kao Dart Wader-a, jer nisam toliko naivan da kupim imidže Google kao „hippie“ i Apple „cool“ firmi. Sve su to korporacije koje imaju samo jedan cilj – maksimizacija profita. Podjednako dobre i podjednako loše. Za moj poslovni model – Microsoftov rules!

Sve je u kontekstu

Naravno da ne postoje univerzalno dobra ni univerzalno loša rešenja – sve je u kontekstu. Kontekst mog članka je program za knjigovodstvo ili neka druga poslovna aplikacija namenjena mikro preduzećima do 10 ljudi gde se održavanje sistema AOP (i kompjutera i aplikacija) obavlja od strane eksternih subjekata. Nema programera, administratora itd. Nivo poznavanja rada sa računarom je nivo normalnog čoveka koji računar doživljava „kao pametnu kasu“, a ne geek-a koji „skida patch za update verzije 173 koji je izašao pre pola sata“. Internet se koristi sporadično. Kompjuter se često koristi i za lične stvari nakon radnog vremena. Neke od tih firmi naprave samo 1-2 računa na dan. Spomen termina ERP-a izaziva samo:“ER.. šta?“. Veliki deo tih preduzeća je van Beograda (da ima i takvih – verujte mi na reč) što znači da imaju limitiran izbor dobavljača opreme i programa.

Drugim rečima: firma u kojoj rade normalni ljudi svakog dana 8 sati dnevno i kojima je kompjuter ništa više do sredstva kojim objavljaju svoju delatnost. Iskreno verujem da velika većina firmi u našoj zemlji potpada u tu kategoriju i to je tip korisnika i preduzeća koji mene lično interesuju najviše te ovaj post primarno posmatrajte u tom kontekstu.

O programima za knjigovodstvo Linux-u

Odmah da pokažem svoje karte i iznesem svoj stav:

„Podrška Linux platforme nema nikakve ekonomske logike u slučaju programa za knjigovodstvo ili bilo koje poslovne aplikacije.“

Evo i zašto:

  • Svi već imaju kompjutere sa Windows-om
    • Preduzeća koja vec imaju kompjutere

      Ja sam veliki protivnik angažmana naših državnih organa u službi interesa privatne firme i smatram da je šokantno da naša poreska policija kontroliše legalnost windowsa na računarima firmi preduzeća. Ipak, na stranu etički koncept, po mom ličnom iskustvu rezultat toga je da je većina firmi već „platila harač“ i poseduje legalni windows. Prelazak na Linux za njih nema nikakvog smisla

      Svako od nas zna bar nekolicinu klinaca iz komšiluka koji za „20 evra“ instaliraju piratski windows što verujem da pokriva ostatak većine kompjutera koji se koriste u poslovne svrhe. Ja lično ne znam ni jednog „klinca iz komšiluka“ koji instalira Linux, ali dozvoljavam da je to rezultat toga što sam dugo van Srbije i živim van Beograda. Prelazak na Linux za firme sa piratizovanim Windowsom možda ima nekog smisla „legalizacija“, ali ne prevelikog čim već sve ove godine rade sa piratskim Windows-om.

    • Preduzeća koja nemaju kompjutere

      Po onome što vidim preko ponude distributera većina novih računara dolazi u bundle-ovana sa OEM windows-om gde je cena windows-a redukovana u toj meri da se maltene stopi sa cenom tog laptop-a. S obzirom na godine akumuliranog iskustva u servisiranju windows mašina, čisto sumnjam da če prosečan serviser nuditi korisniku komp sa Linux-om iz prostog razloga što to može kasnije da mu se obije o glavu kod problema sa održavanjem itd. Pre sam sklon da verujem da je realnija od toga opcija bez OS-a u kombinaciji sa „klincem iz komšiluka“ koji instalira piratski Windows. Opet, nisam dugo u zemlji i možda se stvari promenile za to vreme drastično – javite dole u svom komentaru ako je tako.

  • Linux nije Windows

    Znam da zvuči kao dubioza, ali je po mom iskustvu jako bitna stvar da klijent shvati da iako postoje zamene neće moći da koristi: Word-a, Excell-a, Outlook-a. Nema passijansa. Klinac NEĆE moći da instalira GTA i FIFU da igra posle radnog vremena. Program koji imaju za snimanje kamerom za rad sa kasom radnje možda neće raditi sa Linux-om. Ako im to ne objasnite na potpuno transparentan način kad ih ubedjujete da prežu sa windowsa čeka vas dosta poziva i gundjanja sa druge strane telefonske žice. J

  • Povećani troškovi izrade

    Znam, vi koristite Javu i samo ćete da prekompajlirate kod imate podršku za oba sistema. Evo, neću biti NET-ovac ovde i neću da spominjem „Write Once, Debug Everywhere“ već ću vas samo pitati:“Zašto onda kompajlirate za Windows? Zašto ne samo za Linux?“ Naravno da nema smisla raditi to, te morate da podržavate dve platforme. Po meni, s obzirom da se radi o ozbiljnoj stvari programu za knjigovodstvo, koju god da tehnologiju odaberete moraćete da bar testirate nezavisno obe aplikacije. Ako tome priđete ozbiljno (a trebali bi ste) to je bar nekoliko plata QA testera itd. Sve to pod (nerealnom?) predpostavkom da nećete morati da modifikujete vaš program za različite OS-ove što dodatno podiže trosškove.

  • Povećani troškovi održavanja

    Ako vašeg klijenta ubedite da instalira Linux kako bi koristio vaš knjigovodstveni program, u stvarnosti preuzimate na sebe i održavanje tog računara. Šta pod time tačno mislim? S obzirom da po meni broj prodavnica računarske opreme – PS servisa i „klinaca iz komšiluka“ koji rade Linux je zanemarljivo mali, a vaši klijenti će neizostavno imati poteškoće u radu nevezane striktno za vašu poslovnu aplikaciju („kako da instaliram novi štampač?“, „gde se podešava landscape u open office-u“, postavlja se pitanje koga će oni da kontaktiraju za ta pitanja.

    U slučaju legalnog Windows-a date im broj tehnicke podrške Microsoft-a pa nek se „dave sa profesionalcima“. Forumi, IRC-ovi itd ne piju vodu. Normalni ljudi koriste telefon, a u slučaju Linux-a ne postoji taj broj telefona koji im možete dati koliko ja znam.

    Vi verovatno mislite da to i nije vaš problem, ali grešite. Poslovanje vašeg klijenta je vaš problem (bar ja tako gledam). To što on neće moći da odštampa list papira „20% popusta na aspirin“ da stavi na izlog učiniće ga nezodovoljnim u toj meri da em neće da vas preporuči (najbolji marketing je lični marketing), em će to nezadovoljstvo da se gomila dan za danom sve dok se ne ukaže alternativa gde nema tih problema. Drugim rečima, rezultat nerešavanja tih problema je pre ili kasnije prelazak na mainstream Win rešenje.

  • Milovanov zakon

    Ja sam krajerm 2001-e radio na Linux aplikaciji koristeći Borland Kylix 3. Ideja mi je bila da imam rešenje za oba sveta (kompajliram Delph-ijem isti source). To je bilo jako mučno iskustvo (dozvoljavam da su se za 10 godina stvari popravile) i brzina kojom je izrada knjigovodstvenog programa napredovala je bila veoma spora.
    Videvši to, moj prijatelj Milovan The Kick Ass knjigovođa me jednog dana pitao:

    „Da li tebe stvarno zanimaju klijenti koji nemaju 80 eura da plate za Windows XP Home?“.

    Efekt? Tehnički nokaut u prvoj rundi. Prosto mi nije bilo jasno kako mi ta misao nije pala na pamet kad sam počinjao rad sa Kylix-om. Nemojte da me shvatite pogrešno, ne radi se o nipodištavanju nikog ovde – svestan sam da ima ljudi kojima je 80 eura mnogo. Radi se isključivo o tome da ti ljudi ne predstavljaju moje klijente u toj meri da mi se isplati da investiram novac u stavke #3 i #4 da bi njih obuhvatio. Možemo da pričamo o principima koliko god hoćemo, ali na kraju dana se svede sve na to koliko novca potrošite i koliko zaradite. Zarada je glavni razlog našeg poslovanja. Možda brutalno, materijalistički itd zvuči, ali je bar iskreno moj stav.

    Cena Windows 7 sudeći po infromacijama koje sam našao na srpskom net-u je oko 90 eura što znači da je Milovanov zakon i danas važeći

Da zaključim deo o Linux-u ponvaljajući još jednom da Linux ko Linux nema absolutno nikakve mane, ali da usled gore navedenog jednostavno nema ekonomske opravdanosti investirati u njegovu podršku na našem tržištu u kontekstu koji sam gore naveo.

UPDATE: Odlucio sam da „komentar u crvenom“ obrišem odavde je mi nije mi namera da sa ovim postom započinjem religiozne ratove već da se fokusiram na bitne teme. Takodje, izmedju ES administratora i Linux zajednice ne moze da stoji znak jednakosti. Originalni tekst komentara je prebačen dole u komentare koga baš toliko zanima može tamo da pogleda.

O Open Source Software programima za knjigovodstvo

Za čitaoce kojima taj termin nije poznat samo kratka i laička definicija OSS-a. Da bi program bio OSS „otvorenog koda“, on mora da javno distribuira svoj izvorni programski kod, a ne samo verziju programa koja se koristi. To u praksi znači da vi teoretski možete da uzmete OSS program, prepravite ga po sopstvenoj volji i koristite ili distribuirate dalje.

Osnovna biznis ideja OSS aplikacija je da se program ne naplati (to je jedna od glavnih komparativnih prednosti kod prodaje) već da se profit ostvari putem održavanja i konsultantskih usluga.

Osnovna prednost OSS-a u svetu je to što imate pristup izvornom kodu tako da sami možete da se uverite u kvalitet izrade određenih delova programa, a takođe ako imate neki problem možete da ga otklonite. Na OSS programima rade grupe programera dobrovoljno (ili stipendirano od strane neke velike firme ako se radi o projektu od opšteg značaja – FireFox npr.) te ta kolaboracija i krospolinacija ideja i implementacije rezultuje kodom koji se uobičajno smatra kvalitetnim. Kod nas se po mom shvatanju pojam „Open Source program za knjigovostvo “ izjadnačava sa „besplatnim programom za knjigovodstvo“ što nije baš potpuno tačno, ali neka bude potpuno tačno u funkciji ovog članka. U ovom članku takođe neću se osvrtati na uobičajenu rak ranu OSS programa – dokumentaciju, već ću prihvatiti da postoji savršena dokumentacija, aktivne korisničke grupe itd…

Na osnovu gore rečenog nadam se da možete da shvatite da ja nemam ništa protiv OSS-a kao takvog, već nalik Linux-u smatram da nije ekonomski opravdan u slučaju knjigovodstvenih programa ili poslovnih aplikacija.

Besplatan ručak

Ako vam je prodajni moto (eng. „sales pitch“ ) da prodajete besplatni program onda logično možete da očekujete da ćete da privući baš taj tip korisnika – koji vole „besplatno“. To znači po meni da taj tip korisnika u najboljem slučaju ima da vas konsultuje jednom oko instalacije, a nakon toga će probati da prokljuvi sam od sebe. Ako je to rešenje vaše dobro kao što bi trebalo da bude OSS rešenje on neće da ima kvarove i moći će da ukapira sam kako da koristi program. Rezultat: prihod koji ćete da ostvarite po ovom tipu korisnika po meni bi vrlo lako mogao da bude jako nizak.

Daj 5 karte

Veliko je pitanje da li je korisnicima bitna cena programa. Da li je stvarno bitno za normalnu firmu to što će da uštedi 200 – 1000 eura za knjigovodstveni program ako se ima u vidu da se taj iznos amortizuje tokom 5 godina? Ako im je bitno da uštede taj iznos, zar mislite da će da plate sličan iznos vama za održavanje?

Panta rei

Ko god da je radio neku poslovnu aplikaciju kod nas zna da je jedina garantovana stvar: sve se menja. Menjaju se zakoni, stope itd na nivou zemlje, na nivou opština itd.
Ako vi imate aplikaciju koja je besplatna i čiji poslovni model je organizovan oko podrške i konsaltinga, onda verovatno većina tih ljudi nisu programeri jer je radni sat programera preskup za rad gde u većini vremena se obučavaju korisnici itd. U toj situaciji dolazi se do „optimalnij stajaćih kapaciteta“ što značajno limitira brzinu potrebnu da se reaguje na promene zakona. Takođe, kao što sam u članku vasa konkurencija ne spava i ako želite da opstanete na tržištu, danom kada isporučite tržištu V1 potrebno je krenuti u izradu V2 koja dodaje nove stvari i koriguje postojeće na osnovu povratnih informacija koje pristižu od korisnika. Jedini način da se ta razvojna dinamika održi je dugoročnim očuvanjem jezgra DEV tima. Ako oni rade na V2, onda vi morate da zaposlite druge ljude da rade konsulting i obuku (ne, ne verujem da isti mogu efektivno da rade oba). Eto vas sa timom značajne veličine i diskutabilnim nivom prihoda kao što sam objasnio u prethodnoj stavci.

Uslovi korišćenja

Najbitnija i potpuno nepremostiva po meni prepreka u OSS poslovnim aplikacijama.

Ono što većina ljudi poput mene ne čita nikad to su „uslovi korišćenja“. To vam je onaj dosadni EULA ekran na početku instalacije programa koji niko živi ne čita, a trebao bi jer je to ugovor između autora programa i korisnika koji jasno definiše prava i obaveze korisnika i autora. Da li je taj ugovor prikazan na ekranu ili stoji u tekstualnom fajlu u direktorijumu aplikacije (slučaj sa OSS ERP aplikacijama) nema nikakvog pravnog uticaja ‘ mora da se poštuje jer u suprotnom sudska tužba može da nastupi kao i u slučaju kršenja bilo kog drugog ugovora. Da ponovim još jednom: uslovi korišćenja su VEOMA bitni i ne smeju se zanemarivati.

Sad kad smo to nadam se razčistili da vam predočim dva interesantna primera o tome šta znači poštovanje tih uslova korišćenja za firmu koja se bavi izradom knjigovodstvenim programima.

MySQL

Kod nas u Srbiji koliko sam ja upoznat, kao prednost MySql-a od strane LAMP zajednice (u najšitrem smislu te reči) se navodi što je besplatan što ga čini logičnim izborom u poređenju sa zlim rešenjima Oracle-a, Microsoft-a i IBM-a.

Ono što se manje zna (barem ja nikad čuo da mi je to neko reako kod nas dok nisam sam pročitao) je da to zavisi od dva uslova:

  • Ako koristite MySql u neprofitne svrhe za izradu drugih besplatnih OSS aplikacija koje se distribuiraju pod GPL licencom (vise o GPL-u dole)
  • U suprotnom morate da sklopite poseban licencni ugovor sa Sun-om -> MySql vise nije besplatan

Po mom mišljenju, većina ljudi kod nas krši licencni ugovor o korišćenju. Možda se vama čini da to nije bitno, ali ako pričamo o ozbiljnom pristupu poslu gde za X godina planirate da imate hiljade i hiljade korisnika ne možete da se oslonite da niko to neće da primeti (postajete vidljivi). Po meni „neće grom u koprive“ pristup je apsolutno profesionalno neprihvatljiv.

GPL

Recimo da ste vi u drugoj grupi i da recimo radite na prevođenju postojeće OSS knjigovodstvene aplikacije i prilagođavanju našem zakonodavstvu koju nećete da naplaćujete, već planirate da ostvarite prihod podržavajući je. Recimo i da je ta OSS aplikacija koju vi prilagođavate pod GPL licencom.

Suština GPL licence za nas laike može biti objašenjena kao „korišćenje koda licenciranog GPL licencom je besplatno samo u slučaju kada se i kod koji ga koristi izda pod GPL licencom“. Izdati program pod GPL licencom znači da vaša aplikacija mora da bude otvorenog koda i da je dozvoljeno da da se koristi kao OSS od strane drugih subjekata itd.

Dva nepremostiva poslovna problema u vezi ovog pristupa ja lično vidim:

  • Nelojalna konkurencija

    Recimo da ste vi u Nišu, a ja u Ćupriji. Mojim klijentima više odgovara neko pri ruci, a imam i lična poznanstva. Ja se tako lepo zavalim u stolici i čekam da vi završite svoj rad (koji se meri mesecima i samim tim košta dosta). Jednom kad završite, skinem taj vaš kod kompajliram ga i krenem da instaliram sam po Ćupriji. A da, pošaljem vam razlednicu sa „Hvala!“

  • Recimo da sam ja velika firma poput Comtrade-a koja nema svoj program ya knjigovodstvo, ali ima znacajne distributerske kanale i dosta kapitala da uloži u podršku korisnika. Tako se oni zavale u svoje korporativne fotelje, vi radite – kad završite oni skinu kod, kompajliraju – ako treba doteraju i krenu da prodaju. A da, poslaće Vam i oni razglednicu sa „Hvala!“

Efekt GPL-a po meni je da istog momenta kad počnete da ostvarujete neki značajniji finansijski priliv novca i krenete da se širite van vaše lokalne zajednice, tu vas čeka konkurencija sa gore napisanim razglednicama, te samim tim je nemoguće je ostvariti nacionalnu/regionalnu distribuciju.

U najboljem slučaju /mada sumnjam i u to/ možete da naneste neku štetu postojećim programima za knjigovodstvo.

Zaključak

Evo čuli ste rezultat mog višednevnog razmišljanja na ovu temu. Po meni raditi knjigovodstveni softver u otvorenom kodu je ekonomski neodrživa opcija, dok je podrška za Linux operativni sistem od potuno sporedne važnosti u poređenju sa Windows podrškom. Ovaj moj zaključak uzmite u obzir imajući u obzir moj lični kontest koji sam izneo gore.

Iako sam tu odluku doneo pre 2 nedelje još uvek otpisao potpuno razvoj za Linux platformu tako da bi bio jako zahvalan ako bi neko mogao da mi pokaže da grešim u svojim tvrdnjama i ubedi da Linux podrška ima bitnu ekonomsku isplativost.

Čitamo se,

Nikola The Microsoft-ovac

Karl Marx je bio u pravu

O preuzimanju srpskog BlueSoft-a od strane slovenačkog DataLab-a

Ako bi morao da odaberem jednu stvar kao najkorisniju u pola dekade studiranja ekonomije, to bi definitivno bilo čitanje Kapitala Karla Marksa. Da li to više govori o mojoj poremećenosti ili o kvalitetu našeg školskog sistema u drugoj polovini 90-tih – nisam siguran, alio je meni to čitanje pomoglo mnogo više sa ispitima nego čitanje Smith-a i Keynes-a. I sve to na zvanično reformisanom fakultetu. J

Elem, jedna od stvari koje je Marks opisao u tom svom delu je zapažanje da kapitlaizam teži da preraste u monopolistički kapitalizam putem centralizacije i koncetracije kapitala. Marks je svoje teorije bazirao na događajima koji su se dešavali polovinom 19 veka u Zapadnoj Evropi, ali mislim da bez mnogo muke stanovnici dela zemaljske kugle zvanog Balkan mogu da zapaze iste te pojave u zadnjih 20 godina na ovim prostorima. Jedina razlika je u terminologiji: Marks piše o lihvarima i bankarima, mi to zovemo tajkunima. Marks piše o kanibalizmu kapitalizma „velika riba jede malu ribu“, mi to zovemo udruživanjem sa strateškim partnerom putem ugovora o saradnji itd…

Jedan takav ugovor o saradnji su potpisale juče kompanije BlueSoft i DataLab, gde je efektivno DataLab akvizicijom otkupio čipove BlueSofta i poslao svog konkurenta u penziju. Kako drugačije nazvati „otkupljivanjem prava na programski kod programa BlueSoft“?

Nekoliko stvari nalazim pozitivnim u tom događaju:

  • na još jedan način eto hvatamo korak sa Zapadom gde su takve akvizicije sasvim normalne (svaki VC finansiran startup ima samo jedan cilj – cash in kod akvizicije).
  • Srećan zbog BlueSoft-ovaca koji su dobili sigurno iznos sa 7 cifara za svoj knjigovodstveni program.
    Tu procenu baziram na grubo procenjenih 1.1 miliona eura godišnjeg prihoda, kao i na proceni DataLab-a o povećanju njihove zarade usled akvizicije od 1.6 – 3.9 miliona evra sa još 0.3 miliona eura godišnje zarade od upgradeo-vanja. Drugim rečima ako će neko da zaradi tolike novce spreman je i da plati/investira (zasluženo?) veliki novac.
  • Srećan sam takođe i zbog g-dina Vladimir Vitošević-a iz BlueSoft-a zbog njegove nove funkcije „savetnika za tržišni segment mikro preduzeća“. Razlog zašto sam toliko srećan je što za penzionerske dane koji su pred njim nema boljeg radnog mesta nego vršenja ova funkcije koju ja interpretiram kao „ne pojavljujem se u firmi, ali imam dosta akcija pa ubirem kajmak jednom godišnje od dividendi“
  • Srećan sam zbog DataLab-ovca i čestitam im na stvaranju najveće IT kompanije o jugo istočnoj evropi i napredovanju na putu ovladavanja regionalnog tržišta.
  • Srećan sam zbog DataLab-ovca što će da pokupe veći deo od onih 11.000 registrovanih jadnika koji ni krivi ni dužni će biti primorani da menjaju program za knjigovodstvo sa kojim rade godinama za neki drugi koji btw verovatno su već gledali pre kupovine BS 04 paketa i odlučili da ga ne koriste.
  • Srećan sam zbog DataLab-ovca što su naše firme inertne u tolikoj meri da neće da oduymu ni promil tih 11.000 korisnika. U normalnim zemljama sad bi krenula tržišna i marketiška bitka „poseban popust za vlasnike BS 04 ako predju kod nas“, „automatski uvoz podataka iz BS 04 u naš program“… Na sreću, to je kod nas još uvek misaona imenica pa će ta konverzija iči sasvim sam siguran kao podmazana.

Za mene lično vrednost ovog događaja i razlog što o njemu pišem na ovom blogu posvećenom programima za knjigovodstvo je najviše u tome što je to najbolji primer koji sam ja video o tome kako NE TREBA voditi posao izrade knjigovodstvenih programa… BlueSoft je firma koja je nastala o 2000-te na osnovu desetogodišnjeg iskustva u radu na programima za knjigovodstvo. To znači da su verovatno već te 2000-te BS-ovci radili punom parom na ozbiljnoj aplikaciji za potpuno otvoreno tržište. Otvoreno u smislu da početkom 2000-tih broj ozbiljnih knjigovodstvenih programa na nivou zemlje je bilo jako mali, a strane firme nisu još imale svoje prisustvo kod nas na tržištu. Tržišni pristup im je takođe dobar inicijalno – secam se 200 maraka (eura?) za program 2002-e je bilo značajno jeftinije od ostale konkurencije. Razvijaju mrežu ovlašćenih distributera kako bi postali prva firma čija distribuciona mreža prelazi radijus od 50 km od mesta stanovanja autora. Tržište im je najveća ex-YU republika što u načelu znači da mogu da računaju na veliki broj prodatih licenci. 2004-e godina je lepa za BlueSoft je izdaju svoj BlueSoft 04 paket koji odražava njihove poglede na to kako treba da izgleda knjigovodstvena aplikacija.

Nakon toga BS (po meni) pravi seriju poslovnih grešaka koje rezultuju jučerašnjim otkupljivanjem od strane njihovih konkurenata od kojih su tri (po meni) najbitnije:

Prva greška je ta što smo evo u godini 2010-oj, a BS prodaje i dalje BlueSoft 04 program. Za laike o BS 04 poput mene program iz 2002-e i program iz 2010-e izgledaju i funkcionišu skoro potpuno isto. Verujem da je x funkcija i z bugova dodato od tad, ali to po meni jednostavno tako ne ide. Ako to poredimo sa DataLab-om koji konstantno izdaje nove verzije i bitno menja korisnički interfejs izgleda veoma inertno.

Naravno da ne tvrdim ovde da su „izgled dugmadi“ i „verzija programa“ ključno bitni za uspeh knjigovodstvenih programa, iako sam čitao o tome u jednoj Microsoft-ovoj studiji da razlog broj 1 što korisnici upgradeuju OS i aplikacije je „izgledaju novije i modernije“.

2002-e godine ja sam takođe prodavao sopstveni program za knjigovodstvo po ceni nekad i 5x većoj od cene BlueSoft-a. Jedan od načina na koji sam ja te 2002-e prodavao program za knjigovodstvo korisnicima kojima je to bilo preskupo je bilo da im preporučim BlueSoft program. Oni bi instalirali trial, startovali ga, proveli 10 minuta pokusavajuci da se loguju i onda kad bi se jednom logovali docekalo bi ih 732 ikone i menija na ekranu koje su momentalno i kompletno obeshrabrivale vecinu korisnika. Njihov sledeći korak je da traže pomoć od lokalnog distributera koji je po pravilu poslovao na principu „vezivanja mašnice“ (termin koji koriste moleri za odreživanje cene usluga klijentima koji nemaju izbora – npr. poplava u stabnu itd.) pa je odgovor bio „x nemackih maraka za dolazak, po satu toliko, po coveku toliko“….

Sledeća stvar? Telefon zvoni, prestravljeni klijent drhtavim glasom („jadnik“ nije siguran da li sam ja ljut što nije hteo da radi sa mnom – kod nas se i biznis doživljava lično) traži da se vidimo jer hoće program.

Šta je greška BS-a ovde? Ako imaju aplikaciju koja 2002-e izgleda zastrašujuće „običnim smrtnicima“ (primer od gore je vlasnik jedne apoteke – ne knjigovođa) i koja nakon 6 godina i 10.000 legalnih korisnika (+ kako tvrdi BS – 14000 korisnika piratske verzije?) izgleda i radi potpuno isto to je svedočanstvo ili velikoj aroganciji ili velikoj neprofesionalnosti. Drugim rečima ili se BS-ovci nisu trudili previše da čuju feedback korisnika ubeženi da imaju uber knjigovodstveni program ili im priliv novca bio dovoljan da ne moraju da se muče. Ono što su trebali da odrade je da nakon zauzimanja tržišnog mesta i početka priliva kapitala da odmah krenu u segmentaciju proizvoda i da kreiraju verziju prilagođene i cenom i funkcijama različitim tržišnim segmentima koji objektivno postoje. Rad na tome je trebao da otpočne danom završetka rada na BS 04 verziji.

Pouka za mene: Biti paranoičan prema konkurenciji je neophodno za opstanak na tržištu.Konstantno komunicirati sa korisnicima i uvažavati povratne informacije koje stižu od njih. Neprestano se fokusirati na nove segmente i nove proizvode. Ajkula 24 sata dnevno mora da pliva u vodi jer ako stane počinje da tone.

Druga greška po meni je dugoročno oslanjanje na spoljnu distrubuciju. Imaću poseban blog post o tome koliko ja važnim smatram postojanje ozbiljne korisničke podrške u knjigovodstvenim programima, tako da ću ovde da se ograničim samo na slučaj BS-a koji ima kompleksnu aplikaciju i distributere van firme koji (tad bar) su naplaćivali više nego program za obuku instalaciju itd. Ono što je BlueSoft trebao da odradi je da deo tog novca koji je pristizao od prodaje usmeri na jačanje svoje sopstvene službe podrške korisnicima gde bi mogao da kontroliše cenu i kvalitet te podrške. Siguran sam da bi ta zanemarljiva investicija značajnije povećala broj korisnika BS 04 aplikacije.

Pouka za mene: Organizacija posla van izrade aplikacije je podjednako bitno (ako ne i bitnije) od same izrade aplikacije. Korisnička podrška, treneri, komercijalisti.. Bitniji od programera jer oni su lice firme koje korisnik vidi i na osnovu koga u dobroj meri formira svoj vrednosni sud o firmi i proizvodu koji firma prodaje.

Treća greška, ignorisanje konkurencije. Kako može slovenački DataLab da uđe na srpsko tržište i postane glavni igrač? Ne može se baš sve pripisati urođenom kompleksu tehničke inferiornosti kod Srba (99% ljudi sa kojima sam pričao u Srbiji su Panthoen nazivali „onaj slovenački program“ koji je „verovatno dobar jer znaš ti Slovence oni to sve rade kako treba“. Pravi odgovor je krajnja inertnost i „poslovna autističnost“ naših kompanija prema svakoj konkurenciji. Zašto BS nije potpisao ugovor o partnerstvu sa višom poslovnom školom? Već 30 godina sve firme počev od Microsoft-a se staraju da se probiju u školstvo jer znaju da ako se student školuje korišćenjem njihove aplikacije on će i nakon završetka studija težiti da radi sa tim programom. EDU partnerstvom DataLab-a i VPS, DataLab je obezbedio da svaki od novih diplomaca u svojoj glavi ima brend Pantheon-a kao etalon prvoklasnog programa za knjigovodstvo sa kojim će da radi u svojoj firmi.

Ignorisanje konkurencije može takođe da se vidi i u nedostatku ikakvog marketinga sa strane BS-a. Čak i ja što sam 3×7 dana bio u Srbiji u zadnjih 5 godina sam za to vreme čuo izgovor jednog većeg distributera računarske opreme za to što roba kasni uvoženje Pantheon-a koji „presporo radi i usporava nas sve“… Nebitno da li je to istina ili ne, gde ima dima ima i vatre. Ono što je BS trebao da uradi je da aktivno investira u marketing /inbound i outbound/ gde bi se fokusirao na potencijalne slabosti Panthenon-a. Čak i moralno veoma diskutabilan „nacionalni pitch“ pravilno izražen bi mogao biti koristan u toj tržišnoj borbi. Takože tu je i cena kao faktor marketinga: ako se ne varam BS 04 je jeftiniji bitno od Panthonona.Zatim što češće pojavljivanje na Kursor-u i sličnim (e)TV-ima…

Mogli su toliko toga da odrade na bazi svojih 10K+ korisnika da izgrade svoj kredibilitet, a nisu uradili apsolutno ništa. Idite na njihov sajt http://bluesoft.rs/ i kliknite na glavni meni Zahtevi da vidite o čemu pričam. Posle toga idite na http://www.datalab.rs i uporedite. Case closed

Pouka za mene: Marketing, marketing, marketing.

Zaključak

Karl Marks je bio u pravu. Kapital teži da se ukrupni asimilirajući konkurenciju. Na našem tržištu posle dekada „poslovnog amaterizma“ pojavljuje se ozbiljne kompanije (DataLab i Commtrade su primeri iz IT sveta) kojima je cilj potpuna tržišna dominacija u cilju maksimiziranja profita. Veća riba jede manju ribu. Na tržištima gde je većina riba gupika, pitanje je vremena kada će nekoliko pirana da isprazne akvarijum. J

Nema tu ničeg lepog ili ružnog – to je jednostavnio poslovna realnost na tržištu knjigovodstvenih programa koju po meni nijedna firma koja se bavi izradom programa za knjigovodstvo ne treba da smetne sa uma i prema kome treba da oblikuje svoju tržišnu strategiju.

Čitamo se,
Nikola The Marxist

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ć

Programi na uvce

Kupovina gotovog programa za knjigovodstvo – za i protiv

Programi/Muzika na uvce

Pre nego što krenem na poslednji deo mog objašnjenja atributa savršenog programa za knjigovodstvo (segmentacija i personalizacija) želim da se kratko osvrnem na jedno veoma bitno pitanje do koga sva preduzeća dođu pre ili kasnije: kupiti ili praviti program za knjigovodstvo?

Za slogan ovog posta odabrao sam namerno naslov koji bi trebalo da vas asocira na kafanski termin “muzika na uvce” koji označava pojavu kada gost kafane (ili učesnik nekog drugog *opštenarodnog veselja*) poziva muziku za svoj sto da “sviraju samo njemu ono što on lično želi” što rezultuje besmislenim utroškom određene sume novca i kratkotrajnim egzibicionističkim  zadovoljavanjem sopstvenog ega. Na stranu (be)smislenost tog čina, razlog što sam odabrao da koristim ovaj fenomen za ovaj članak je paralela između ovog primera i kupovine kompjuterskog programa gde korisnik često zahteva “muziku na uvce”  jer se oseća posebnim u dovoljnoj meri da je spreman za to da plati ekstra novac (ponekad suludo velike cifre), i da takođe kao i u kafani za uzvrat dobije vrlo diskutabilni nivo usluge /pomislite samo na sve limene orkestre koje ste čuli/

Kupiti ili praviti?

Dakle, jedna od dilema do koje skoro svaka firma dođe je odluka o tome da li treba praviti program za knjigovodstvo po sopstvenoj meri i u sopstvenoj režiji ili kupiti neki od već postojećih. Ta dilema ima nekoliko svojih pojavnih oblika: kod velikih preduzeća se svodi na dilemu da li praviti program specijalizovan po sopstvenim potrebama korišćenjem sopstvenih (eng. inhouse) resursa ili pak investirati u kupovinu postojeće aplikacije. Kod malih preduzeća se svodi na izbor između kupovine gotovog knjigovodstvenog programa ili kontaktiranja nekog lokalnog Geek programera koji će “bez problema prepraviti kod koji trenutno ima da podrži sve željene funkcije”.

Iako na prvi pogled možda odluka o tome koji je pravi put za firmu izgleda lagana (u korist kupiti gotov proizvod), u stvarnom svetu na žalost ipak ima neke preduslove koje je veoma bitno ispoštovati.

Primer iz mog životnog iskustva kada je kupiti bila pogrešna odluka

Tokom 2007-e firma u kojoj sam radio je dobila novo rukovodstvo čija je jedna od glavnih odrednica bila favorizovanje kupovine gotovih paketa svetskih lidera nasuprot sopstvene izrade aplikacija. Čak i sama odluka o tome koje aplikacije treba da budu kupljene i korišćene je poverena svetskom lideru u toj oblasti, firmi Accenture koja je nakon 6 meseci izradila studiju čiji je zaključak bio da trebamo da koristimo Microsoft Commerce Server kao osnovu našeg budućeg sistema elektronske trgovine. Po njihovoj studiji, gradeći na ramenima diva kao što je Microsoft bi nam donelo stabilnost temelja i jeftino (eng. cost effective) implementaciju koda i korisničkog interfejsa. Sve što smo trebali da uradimo je da odbacimo sve što smo sami radili do tad, kupimo papren proizvod (1,7 miliona dinara po procesoru servera), nešto malo kao prilagodimo i to je to. Da ne davim detaljima (bilo ih je dosta), samo ću reći da nakon 1+ godine  rada više od sto ljudi (programera, poslovnih ljudi, menadyera, 200+ USD/sat konsultanata it ) je projekat propao u potpunosti, a mi ponovo započeli raditi stvari u sopstvenoj režiji.

Ako se pogleda razlog zašto je propao ceo projekat, ne radi se o:

  • nedostatku novca (bilo ga je više nego dovoljno),
  • nedostatku ljudstva (100+ ljudi),
  • nedostatku vremena (1+ godina),
  • nedostatku znanja – imali smo najbolje konsultante i sam Microsoft Commerce server tim na direktnoj liniji podrške – (ja sam sam proveo 6 nedelja u Redmond-u učeći CS)
  • pogrešnoj tehnologiji (pored MS CS-a, gledali smo i Oracle Siebel itd)

Razlog zašto je projekat propao (i razlog zašto ga spominjem u ovom članku) je taj što je naš poslovni model prepun nekih specifičnih osobenosti koje nijedan program opšte namene nije mogao efikasno da se prilagodi. Pokušaji da prilagodimo gotov program našim potrebama su rezultovali takvim hack-ovanjem sistema, da nakon godinu dana sama kompleksnost te oblande povrh sistema je bila komplikovanija nego naš lični kod i još uvek nije mogla da radi sve što kod radi 100%. Pokušaji da prilagodimo sopstveni model poslovanja su isto propali jer je ocenjeno da bi morali da se lišimo previse stvari koje smatramo svojom komparativnom prednošću.

Troškovi ili profit?

Po mom mišljenju, odluka o kupovini gotovog programa ili o izradi programa u sopstvenoj režiji se suštinski svodi na odluku šta je bitnije: smanjivanje troškova poslovanja ili maksimizacija dobiti.

Korišćenjem kupljenog standardizovanog rešenja smanjuju se troškovi održavanja kroz viši kvalitet proizvoda koji je u praksi testirana od strane drugih poslovnih subjekata, nema potrebe za velikim IT ljudstvom, održavanje i popravljanje aplikacije je centralizovano i specijalizovano itd.. S druge strane opet, korišćenjem gotovog rešenja model poslovanja se limitira na osobine podržane programom efektivno smanjujući time potencijalne komparativne prednosti koje preduzeće možda ima u odnosu na svoju konkurenciju, te na taj način utičući na smanjenje prihoda koje preduzeće ostvaruje vršenjem svoje delatnosti.

Kako odlučiti?

Osnovna stvar koju morate imati na umu je da program kupujete/radite kao “nužno zlo”. Program ko program je totalno nebitan van konteksta delatnosti kojom se bavite. Autori programa znaju to dosta dobro da zamagle korišćenjem bombastičnih reči o standardizacijama, svetskim tokovima itd. ali na kraju dana radili vi papirom, kompjuterom ili nečim trećem vam ne donosi prihod. Ono što vam donosi prihod je vaš lični posao koji obavljate dan za danom na način koji mislite da je najbolji.

Imajući gore rečeno u vidu, evo dva kriterijuma koja po meni određuju da li korišćenje gotovog programa ima smisla ili ne:

  • ako je delatnost kojim se bavite standardna delatnost koju obavljaju mnoge druge firme i ako je način na koji obavljate tu delatnost identičan ili sličan kao i drugi.
  • ako ste voljni da prilagodite svoj biznis načinu na koji program radi u momentu kupovine (eng. “out-of-box”)

Ilustracija prvog preduslova su pitanja tipa “Da li imate neke specijalne načine numerisanja dokumenata?“, “Da li u postojećem programu koji koristite imate delove koji su morali da budu rađeni specijalno za vas?”, “Da li kad vidite tuđe programe, primećujete nedostatak dosta stvari koje bi vama *nedostajale* za vaš rad kad abi ste taj program koristili?”
(Pomoć prijatelja:“Što više “DA” odgovora => razmotrite opcije posebno pisanog programa”)

Ilustracija drugog preduslova su pitanja tipa:”Da li ste spremni da uvedete ISO standardizaciju X i Y u skladu sa najboljim svetskim praksama?” (sa raznoraznim varijacijama u oblastima analitike, kretanje dokumenta, upravljanjem informacija itd)
(Pomoć prijatelja:“NE” => razmotrite opcije posebno pisanog programa”)

Svetsko, a naše…

Dati definitivne odgovore na prethodna dva pitanja je samo po sebi već veoma teško, ali ne bi mi bili Srbija da nemamo okolnosti koje dodatno otežavaju dolaženje do tih odgovora.

Stvar je u tome da na našem tržištu stvarno velike svetske kompanije (Sage, Intuit, Peachtree, Salesforce itd.)nisu prisutne delom zbog osobenosti našeg knjigovodstva (drugačije od anglo-saksonskog modela), a delom zato što smo realno zanemarljivo malo tržište. Usled toga, programe prave lokalne firme manje ili srednje veličine te kupovina bilo gotovog programa nije  garantovano kupovina kvalitetnog programa jer ih ima raznih na tržištu.

Zakon o računovodstvu u članu 8 lepo definiše potrebu za standardizacijom

“Pravno lice i preduzetnik koji vrši obradu podataka na računaru dužan je da koristi standardni računovodstveni softver

Problem je jedino u tome što jedini standard koji bi  definisao šta je to standardni računovodstveni softver (JRS 33) je nevažeći već decenijama, a nikakav certifikaciono telo koje bi izdavalo ateste programima za knjigovodstvo ne postoji te je u praksi time omogućeno da bilo ko bukvalno može da radi bilo kakvu aplikaciju.

Po meni jedan od boljih načina za detektovanje “dobrih” programa su korisnička svedočenja o njihovim iskustvima u radu sa programom. Skoro svi programi na našem tržištu imaju neku web stranicu sa taksativno navedenom listom korisnika koja u toj formi ne doprinosi sticanju poverenja. Kao retki pozitivni primer svetskog pristupa ovom problemu kod nas mogu samo da izdvojim slovenački DataLab koji počev od svoje liste korisnika, preko meni lično posebno bitnih svedočenja stvarnih korisnika na sajtu, pa do marketinškog sadržaja dostupnog van samog sajta i na YouTube-u se maksimalno trudi da stekne kredibilitet ozbiljne firme i time se diferencira od “ostalih firmi” na tržištu.

U slučaju da se odlučite da radite svoju aplikaciju, ako ste malo preduzeće u većini slučajeva ste primorani da tražite “malog Pericu genijalca iz bloka”, osuđeni da glumite zamorče testirajući u praksi taj program koji nikad ne radi kako treba i nikad nije gotov. Tokom vremena, pre ili kasnije, vaše testiranje i Peričino krpljenje dovedu do aplikacije skrojene po vašoj meri , ali pitanje je da sli ste spremni da platite tu cenu i čekate toliko dugo.

U slučaju da ste srednje ili veliko preduzeće možete da oformite svoj sopstveni IT tim čiji bi posao bio da rade na vašoj aplikaciji i da izbegnete zavisnost od malog Perice. Iako na prvi pogled to deluje sigurnije u smislu da imate punu kontrolu nad procesom izrade programa, po mom ličnom uverenju to skoro nikada neće da dovede do zadovoljavajućeg rezultata jer da dođete do programa po svojoj meri treba vam određena mešavina znanja, iskustva i maštovitosti što je po meni retkost u takvim timovima. Da budem maksimalno iskren, da članovi tog vašeg tima imaju te kvalitete ne bi radili kod vas na vašem malom programu nego bi radili ili za sebe ili u nekoj velikoj svetskoj firmi. Imaćete koga da budite u 8 ujutro da pogleda odmah što “faktura nije htela da se snimi” to je istina, ali nije to poenta – poenta je da vam i ne pada na pamet da faktura neće da se snimi isto kao kad kliknete na snimi u Word-u ne držite fige razmišljajući da li će da snimi dokument ili ne.

Da sumiram, koristili spoljašnje ili unutrašnje resurse, vaša poslovna odluka da zahtevate “program na uvce” vrlo lako može (kao i u kafani) da rezultuje gorkim kajanjem “sutradan ujutro” nad uludo utrošenom hrpom novca 🙂

Zaključak

Da privedem kraju ovaj neplanirani post (izmigoljio mi se iz tastature sam od sebe kad sam krenuo da pišem o segmentaciji i personalizaciji) preporukom u korist kupovine gotovog programa, jer zaista nema ekonomskog smisla da pravite sopstveni program z knjigovodstvo (sem ako vam to nije delatnost).

To naravno ne znači da srljate slepo i kupite najreklamiraniji i najskuplji knjigovodstveni program ili program koji znate da gigant DOO Mika koristi jer svako preduzeće ima svoj sopstveni model poslovanja tako da čak i ako program savršeno odgovara jednom preduzeću ne mora da znači da će da odgovara  u istoj meri i vama. Kupovina aplikacije koja može da radi 123 stvari koje ne trebate sad ali ćete možda koristi u budućnosti može podjednako da vas uspori u vršenju vaše delatnosti kao i kupovina programa za knjigovodstvo koji radi premalo stvari.

Dobro proučite koje stvari u vašem poslovanju nisu podržane potencijalnim knjigovodstvenim programom na način koji ste vi navikli da radite trenutni i razmislite malo da li je problem u programu ili vašem poslovanju. Ako ne vidite problem u vašem načinu poslovanja, preporučio bi razmatranje još nekog programa. Nije na vama da prilagođavate vaše poslovanje programu već sasvim obratno – program treba da se prilagodi vama.

Takođe, pažljivo proučite referentne liste korisnika i kontaktirajte ih bilo putem telefona ili možda najavljenom posetom. Ovo zadnje preporučujem pretpostavljajući da  je svaka firma na listi korisnika stavljena uz pristanak korisnika i da je razlog postojanja telefonskog broja kontaktiranje te reference.

Poslednje što želite je da  budete nečije zamorče-tester ili da limitirate vaš posao samo da bi ste koristili neku aplikaciju.

Čitamo se uskoro,

Nikola

P.S.

Ja sam inače krenuo da radim u paraleli sa blogovanjem na svom knjigovodstvenom “programu za prodavnice računarske opreme” i planiram da objavljujem nove verzije najmanje jednom mesečno s tim da planiram da do kraja novembra dođem do 1.0 verzije. Definitvno do kraja juna planiram da izbacim prvu verziju koja će da radi jednu malu ali veoma korisnu stvar za koju nisam čuo da postoji u bilo kom programu kod nas 🙂

U tom radu već sam naleteo na nekoliko meni vrlo interesantnih praktičnih tema vezanih za rad naših b2b portala, tako da jedva čekam da što pre očistim ova 3 preostala “teorijska” posta  i da krenem da objašnjavam konkretne stvari koje radim pritom vam omogućavajući da isprobate aplikaciju koja reflektuje u stvarnosti ove stvari o kojima pišem.