Knjigovodstvo, knjigovodstveni programi i papiri

Knjigovodstvo, knjigovodstveni programi i papiri

Nekoliko me je ljudi putem komentara na blogu i mailom pitalo o tome kakve veze ima ovo što ja pišem sa knjigovodstvenim programima i sugerisalo tačnije nazive: poslovni softver, poslovna aplikacija, računovodstveni program, program za robno knjigovodstvo, program za materijalno knjigovodstvo, komercijalni program, PC shop program itd… Količina pitanja se posebno povećala od momenta kad sam ja rekao da ja pravim knjigovodstveni program samo za PC servise (prodavnice računarske opreme). Nekoliko vas mi je čak vrlo iskreno reklo povodom te moje izjave:”Do ovog momenta sam te shvata za ozbiljno, ali od sad…”

Metablogovanje je nešto što ja načelno želim da izbegnem, ali pošto:

  • odgovor na ovo pitanje ima veze sa mojom poslovnom politikom
  • ima SEO momenata koje verujem interesuju moja dva čitaoca
  • moleri me evo naterali da iskopčam ADSL ruter pa nemam internet sledeća 2 sata

eto novog članka sa odgovorima na ta pitanja. Smile

Papiri?

Kada sam prešao Rubikon i odlučio da krenem da ovo radim, kao svaki pravi geek sam krenuo od odabira interent adrese (domena) za svoj projekat. Neću ovde da zalazim u to koliko je izbor domena bitan ili ne u Srbiji jer uskoro planiram da pokrenem i moj drugi blog na oblak.rs adresi koji će se baviti pitanjima elektrosnke trgovine, marketinga, prodaje itd. pa ću tamo detaljnije o tome.
Za potrebe ovog članka moraćete da mi jednostavno verujete na reč da ima smisla.

Prvo pitanje sa kojim sa se suočio je da li treba:

  • odabrati ime domena koje sadrži u sebi reči koji se uobičajeno unose kod guglanja (npr. knjigovodstveniprogrami.com) ili
  • odabrati ime koje jednoga dana može izrasti u prepoznatljiv brend.

Softver vs aplikacije vs programi

Inicijalno mi je prvi pristup izgledao logičniji tako da sam krenuo da kupujem domene koji sadrže u svom nazivu reči koje verujem da ljudi koriste kao kriterijem pretrage na internetu. Prvo pitanje je bilo da li ljudi koriste u pretrazi “poslovni softver” ili “poslovna aplikacija” ili “poslovni program”. Ovo prvo odmah odbacim jer je strana reč koju normalan čovek nije siguran kako da ukuca (“software”, “softver”, “softvare” itd. Iako mi je druga izgledala preciznije, apsolutno svi od ljudi sam kojim sam pričao su mi rekli da kod nas u Srbiji je potpuno neprirodna u normalnom životu te tako se odlučim na termin “programi” i krenem da kupujem domene:

  • knjigovodstveniprogram.rs
  • knjigovodstveniprogrami.com
  • knjigovodstvo-srbija.com
  • knjigovodstvo.eu
  • knjigovodstvo.in.rs
  • knjigovodstvosrbija.com
  • programiknjigovodstvo.com
  • programizaknjigovodstvo.com
  • programknjigovodstvo.com
  • programzaknjigovodstvo.com
  • racunovodstvo.in.rs

Da budem potpuno iskren i priznam da većina ovih sajtova (iako potpuno zapostavljeni od početka) generišu blogu na dnevnoj bazi lead-ove (lead je korisnik koji je klikom na neki baner, search result itd došao prvi put na web stranicu vašeg sajta – više o toj tematici na oblak.rs blogu) tako da je inicijalno to što sam odlučio da koristim SEO nazive domena izgledalo kao pametan izbor.

Ipak, nakon nekoliko dana sam krenuo da razmišljam malo dublje o prirodi svog posla i proizvoda i došao sam do zaključka da je odabir SEO orijentacije bio pogrešan iz dva razloga:

  • proizvod koji nudim mom korisniku nije roba široke potrošnje koju on kupuje impulsivno za dnevne potrebe već je to alat kojim on obavlja svoju primarnu poslovnu delatnost te samim “širenje mreže” nema mnogo smisla.
  • po mom ličnom iskustvu izbor knjigovodstvenog programa se vrši u Srbiji prvenstveno na bazi kredibiliteta koji se suštinski svodi na vrednost brenda, a programizaknjigovodstvo.com u tom kontekstu nema nikakvu vrednost.

Zato sam tad promenio mišljenje i odlučio se za “brend imenovanje sajta” te sam krenuo ponovo da tragam za imenom programa. Prvo sam odredio sam tri prosta kriterijuma  koje ime mora da zadovolji:

  • Ime proizvoda mora da bude kratko (jedna reč se najbolje pamti i prenosi sa usta na usta),
  • Da ima veze sa problematikom (stvara asocijaciju kod korisnika o prirodi proizvoda),
  • Da bude termin koji koristi ciljna grupa kojoj je proizvod namenjen– mikro i mala preduzeća. Pravilno odabrano ime programa po meni treba da šalje jasnu poruku o tome da je program prevashodno okrenut realnim svakodnevnim potrebama zaposlenih u malim preduzećima.

Imajući u vidu ta tri jednostavna kriterijuma, prvo sam krenuo da analiziram imena postojećih knjigovodstvenih programa što se ispostavilo kao jako zabavna aktivnost jer sam nailazio sve i svašta: programe sa nazivima iz grčke mitologije (npr. “Pantheon”),  kriptičnim skraćenicama (npr. “FIN”, “V-ENERGY", “Tehno”), ego-trip nazivanjem samog programa po firmi ili autorima  (“BlueSoft 04”, “Addacco”…), more softova (”Mihajlović soft”, “NeshaSoft”, “AB Soft”…),  izmišljene/misspelled reči (“Lidder”) – jedina pametna strategija btw, sterilni Microsoft-like nazivi (“Male Poslovne Aplikacije – IT”), ime firme + SEO kriterijum (“Ipos Knjigovodstvo”) itd..

Većina ovih imena po meni je u suprotnosti sa mojim trećim kriterijumom, a prepuštavam vama samima da razmislite detaljnije o tome kakvu poruku oni šalju svojim imenima potencijalnim kupcima. Ja sam videvši tu raznolikost neprihvatljivih rešenja odustao od ideje traženja inspiracije u ostalim programima i okrenuo se analizi komunikacije sa stvarnim ljudima – potencijalnim korisnicima..

Pošto je program knjigovodstvene prirode krenem da razmišljam koji je to izraz koji sam čuo mnogo puta da se koristi i  dođem do dva:”Ko ti vodi knjige?” i  “Ko ti radi papire?”. S obzirom na moj kriterijum broj jedan “mora da bude 1 reč” to je rezultovalo sa dva kandidata: “papiri” i “knjige”. Od te dve reči “knjige” su otpale odmah po drugom kriterijumu jer reč stvara skroz pogrešnu asocijaciju o funkciji programa kod korisnika koji čuje prvi put njegovo ime. Papiri takođe nisu potpuno jednoznačni, ali bar ne stvaraju pogrešnu impresiju i asociraju u nekoj meri na problematiku. Ostalo je samo da testiram reč “papiri” na treći kriterijum: “Da li je u duhu ciljne grupe?”. S obzirom da sam do termina došao prisećajući se razgovora sa upravo takvim ljudima, 3 kriterijum  je zadovoljen.

Tako su domen i moj knjigovodstveni program dobili ime: papiri. Smile

Problem sa odabirom imena domena po brendu je što sam po sebi ne generiše nikakve lead-ove. Drugačije rečeno, niko neće tragajući za poslovnom aplikacijom da ukuca “papiri”. Jedan od “kapitalno efikasnih” načina da se priđe tom problemu je upotreba reči i termina koji se koriste u pretragama na samim stranicama tog domena tako da Google može da opet indeksira po tim terminima sajt. U mom slučaju to je značilo da iako sam odustao od SEO imena domena, sam opet morao da se vratim na SEO razmišljanje o rečima koje potencijalni kupci u Srbiji unose u svoj internet pretraživač tragajući za poslovnim aplikacijama.

Pre nego što podelim sa vama rezultate tog istraživanja, želim samo da vam predstavim trenutne rezultate moje odluke da “brendiram domen”. Iako sam sada na samom početku – samo par meseci postojanja sajta bez ikakvog proizvoda, letimični pogled na Google analytics otkriva ohrabrujuće rezultate u smislu da je 25% poseta mom blogu rezultat toga što su ljudi ukucali “papiri” u google pretraživaču. Naravno da je to veoma daleko od toga da se okarakteriše iole značajnim brojem posetioca i naravno da sled PR 0 ranga sajta se ne pojavljujem se u “normalnim upitima“ što iskrivljuje cifre. Ipak, sama činjenica da je određeni broj posetioca sajta zapamtio ime sajta i kasnije pretraživao po njemu je za mene veoma ohrabrujući znak da sam odabrao pravi termin u skladu sa tri gore navedena kriterijuma.

image

Da protresemo sad rezultate mojeg SEO istraživanja koji termin da koristim prilikom opisivanja svog proizvoda kako bi najbolje nadoknadio odluku da imam brend za naziv domena…

Zašto ne poslovna aplikacija?

Poslovna aplikacija je termin koji za mene lično najbolje odslikava prirodu i namenu mog programa. Na žalost, nakon nekoliko razgovora na tu temu odgovor od 100% mojih sagovornika je da “niko” kod nas u Srbiji neće da koristi "poslovna aplikacija ” već da svi koriste u svakodnevnom razgovoru za označavanje poslovnih programa u širem smislu:

  • knjigovodstveni program (savet mojih sagovornika koji su vlasnici i radnici u radnjama)
  • računovodstveni program (savet mojih stručnih prijatelja – knjigovođa/računovođa)

Zato ne koristim “poslovna aplikacija” u svojom postovima.

Zašto ne računovodstveni program?

Ovo je bio jako težak izbor, iako je na prvi pogled izgledao jako jednostavan imajući u vidu da svaki student prve godine ekonomskog (uključujuči tu i mene) zna da je računovodstvo ispravan termin, a ne knjigovodstvo.

Ja sam i pored tog ipak svesno odabrao da koristim termin knjigovodstvo, a ne računovodstvo iz sledećih razloga:

  • Implicitno definiše moju ciljnu grupu korisnika
    Vrlo je verovatno da će računovodstveni profesionalac koristiti “računovodstveni program” u pretrazi, a da će vlasnik radnje u potrazi za programom koristiti “knjigovodstveni program”.
    Ko je ciljna grupa: knjigovođe ili vlasnici mikro I malih preduzeća?
    Nakon dužeg razmišljanja na ovu temu ja sam došao do zaključka da su inicijalno preduzetnici moja primarna ciljna grupa.
  • Diverzifikacija u odnosu na velike igrače i izbegavanja SEO sukoba
    DataLab kao jedan od glavnih programa kod nas na tržištu je slovenački program, a u Sloveniji se po mom istraživanju isključivo koristi termin “računovodstvo”. Slična je priča kod drugih programa čija je ciljna grupa drugačija od moje, pa samim tim oni da bi izgledali “ozbiljni” u očima velikih firmi moraju da koriste pravilan izraz  “računovodstvo”. Samim tim, ne korišćenjem računovodstva u nazivu izbegavam SEO sukob sa delom velikih igrača.

Zato sam odlučio da inicijalno ne koristim “računovodstveni program” u svojim postovima.

Zašto ne program za komercijalu, robno i materijalno knjigovodstvo

Kad se ima u vidu ta moja primarna opredeljenost ka segmentu poslovnih korisnika, kojim je u većini slučajeva “glavna knjiga špansko selo”, logičnim se nameće zaključak: ”Njima nije potreban knjigovodstveni program već komercijalni/materijalni/robni program.”

Po meni ta podela na materijalno i finansijsko je veštačka podela nastala kopiranjem organizacije poslovanja iz perioda pre pojave savremenih računarskih sistema kada su sredstva AOP-a nalagala fizičko kopiranje i prekucavanje dokumenata. Kalkulacija kao ulazni dokument i knjižni nalog su jedna te ista poslovna pojava samo sagledana sa sva različita aspekta: materijalnog i finansijskog.  Račun dobavljača sadrži absolutno sve elemente potrebne za automatsko formiranje knjižnog naloga istovremeno sa kreiranjem računa.

Ta podvojenost, tako prisutna u većini  programa kod nas, rezultuje pojavom koju sam ja već jednom uporedio sa Pony Express kurirske službe, gde se “komercijlani program” koristi manje više kao poluzvanična igračka zaposlenih i kojoj je jedina “zvanična namena” da rezultuje štampanjem papira koji se onda nose knjigovođi koji ih onda ukucava u svoj “pravi” program i tek onda na osnovu prekucanih dokumenata kreće da knjiži. Da li ima smisla da knjigovođa kreira takođe u svom programu šifre artikala i pored toga što ekspert u tom domenu (vlasnik radnje) je već to odradio? Da li ima smisla da korisnik sam ručno vodi evidenciju ko mu od kupaca koliko duguje kad taj podatak se već ažurno vodi na analitičkom kontu tog kupca? Naravno da ne.

Jedan od glavnih principa izrade mog programa:
jedinstvo podataka sa segmentiranim i personalizovanim pogledima na taj jedinstveni set podataka.

Zato ne koristim komercijalni program u svojim postovima. Zato ne koristim program za robno knjigovodstvo u svojim postovima. Zato ne koristim program za materijalno poslovanje u svojim postovima.

Zašto ne PC shop program?

Pre svega niko nije znao da mi kaže zasigurno koji je naziv za prodavnicu računarske opreme koji bi neko ukucao na google-u: PC shop, PC servis, PC diskont, prodavnica računarske opreme itd. U situaciji kad postoji tolika diverzifikacija naziva, teško je osloniti svoju marketinšku kampanju na bilo koji od tih termina.

Drugi, mnogo bitniji razlog, su moji dugoročni planovi za razvoj mog proizvoda. Posao u koji sam se ja upustio ja (verujem veoma verodostojno u smislu tećine i rizika) poredim sa penjanjem na Mont Everest. To je ozbiljan poduhvat koji traje jako dugo i koji je podeljen u mnogo faza: dolazak u podnožje planine, penjanje do baznog kampa, penjanje od baze do baze da bi sve to na kraju rezultovalo osvajanjem planinskog vrha (ako preživite taj uspon uopšte)

Isto je  i sa mojim poslovnim poduhvatom: krajnji cilj je globalna dominacija i moj program na svakom stolu (potpuno očekivano od jednog Microsoft zealot-a, zar ne?), a do tog cilja ima mnogo baza i kampova koje treba dostići. Moj prvi bazni kamp u podnožju Mont Everest-a je v1 mog programa – program za PC shop-ove.

Nekoliko razloga zašto sam odabrao baš taj segment korisnika za svoju bazu:

  • nepostojanje konkurencije
    Sudeći po neformalnom istraživanju koje sam sproveo (ne znam nijedan formalan način za to te ) u Srbiji postoji oko 2600 firmi koji se bave prodajom računara što je zanemraljivo tržište za sve velike firme kod nas. Za nas “mikro firme”, i 10% od tog broja je vredan cilj.
  • specifičnost poslovanja
    U poslovanju prodavnica računarske opreme postoje razne specifičnosti (npr. tesna integracija sa jednim ili više distributera, on demand naručivanje, stikeri, reklamacije itd) koje nijedan od programa opšte namene ne tretira.
  • korisnici su IT napredni – rade sa računarima – manji troškovi korisničke podrške
  • korisnici su ravnomerno geografski distribuirani – nema gradića bez bar jednog PC shop-a što u teoriji može u budućnosti da rezultuje partnersko distributerskim odnosima
  • korisnici su potencijalno platežno sposobni – cenu programa koja je na mesečnom jednaka jednoj instalaciji Windows-a većina tih firmi mogu da prihvate.
  • radi se o segmentu tržišta sa relativno malim brojem artikla /u poređenju sa prehambrenim prodavnicama npr) gde večina artikala imaju barkodove,  koji se vrlo efikasno grupišu i agregiraju.
  • radi se o segmentu tržišta koji nije zatvoren ka novim idejama, nema problema sa isprobavanjem novih programa i zna da prepozna kvalitet.
  • radi se o segmentu koji koristi na prost način većinu dokumenata kao i preduzeća u drugim granama: tu su prijemnice, otpremnice, prosta proizvodnja bez zaliha, maloprodaja, velikoprodaja, reklamacije itd. Samim tim, program koji se koristi u PC shopovima je odlična osnova za dalji razvoj programa opšte namene

Usled gore rečenih razloga ja očekujem da proizvodnjom prve verzije mog programa koja će biti namenjena prvenstveno PC shop-ovima  ću dobiti jako dobar osnov za dalje napredovanje ka konačnom cilju čiji je bitan deo knjigovodstveni program opšte namene koji pokriva i segmente van PC shopova, te samim tim korišćenje termina limitiranih na segment PC shopova na duže staze postaje neprihvatljivo.

Zato ne korisim PC Shop program u svojim postovima.

Zašto uopšte koristiti knjigovodstveni program?

Na osnovu mog ličnog iskustva, dosta preduzetnika knjigovodstvo doživljavaju pretežno kao moranje, kao zakonsku obavezu kojoj je glavna namena samo da omogući državi da tačno izračuna iznos poreza i dopprinosa koje preduzetnik mora da plati. Pitam se koliko bi firmi i dalje plaćalo knjogovođu, kada bi se kojim slučajem ukinula zakonska obaveza za vođenjem poslovnih knjiga. Ja se ne bi iznenadio kada bi znatan broj vlasnika malih preduzeća momentalno prestao da se bavi knjigovodstvenim aspektima svog poslovanja.

Uzrok te veoma pogrešne predstave o ulozi knjigovodstva u preduzeću koje “ne-knjigovođe” imaju je posledica neupućenosti u to da je to knjigovodstvo ništa drugo nego celo njihovo poslovanje svedeno na nivo uporedivih veličina – novca. Knjigovodstvo slično ovom ukakvom mi danas koristimo je prvi put opisano krajem 15 veka u Veneciji i nastalo je iz čisto praktičnih pobuda venecijanskih trgovaca kojima je bio potreban način da prate svoje poslovanje. Ne datira džabe sistem dugovno/potražnih duplih unosa  od 14 veka i nije se se sve to očuvalo kroz sve ove vekove u maltene identičnoj formi. , preživelo prelazak iz feudalizma u kapitalizam, ratove, industrijsku revoluciju itd.

Dobrom knjigovođi niz sukcesivnih bilansa stanja i uspeha, stanja na nekoliko ključnih konta nepogrešivo govore o stanju u kome je firma i o pravcu u kome se kreće. Po meni SVAKI preduzetnik/vlasnik malog preduzeća, kakva god da mu je stručna sprema mora da zna bar osnove knjigovodstva.

Ako moj prosečan korisnik ima odbojnost prema izrazu “knjigovodstveni program” to za mene ne da nije znak da treba da izbegavam njegovo korišćenje nego je indikator jednog od bitnih problema koji moji korisnici imaju –nerazumevanje knjigovodstva i kojima ja moram da pomognem u tom smislu. Knjigovodstvo je ništa drugo do veoma softiciran alat u rukama preduzetnika da prate poslovanje svoje firme.

Ipak, i pored toga što ja zaista verujem da “knjigovodstveni program” potpuno tačno opisuje moj program, biću ovde iskren i priznati da je to samo 1/2 razloga zašto sam odlučio da koristim upravo taj termin.

Ako se pogledaju podaci sa Google AdWords-a pretrage za sve moguće varijacije ključnih reči vezanih za domen poslovnih aplikacija

image

vidi se da najveći broj pretraga ima u sebi knjigovodstvo, knjigovodstvene programe i slično.

Taj zaključak sam dodatno proverio koristeći podatke najveće domaće PPC ad provajdera Etarget  nudi

image

image

Mislim da je struktura pretraga ka terminima sličnim knjigovodstvenim programima sasvim očigledna te s obzirom da sam gore već objasnio kako taj termin ionako već odražava moja shvatanja, moja potraga za nazivom toga što ja pravim je okončana time odlukom da  koristim termin knjigovodstveni program u opisivanju programa na kome radim.

Zaključak

Nadam se da sam ovim člankom odgovorio detaljno na večinu pitanja koja dobijam putem bloga i emaila, a to je otkud odluka da koristim termin “knjigovodstveni program” za nešto što izlazi iz uskog okvira  knjigovodstvenih programa. Moj odgovor se svodi da ja nalazim uskost tog okvira uobičajenog tumačenja pogrešnim i za mene knjigovodstveni program je u stvari jako širok program veoma sličan po značenu poslovnoj aplikaciji.

Evo i moleri se spakovali pre 15-tak minuta tako da mogu da nastavim svoj rad, te ovde završavam ovaj članak.

Tema sledećeg je meni jako bitna: kako odrediti cenu knjigovodstvenog programa? Za pisanje tog članka, potrebna mi je mala vaša pomoć, tako da ako već dosad to niste učinili, pomozite.

Čitamo se,
Nikola TheKnjigovodstveniProgram Malovic

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 – https://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 https://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 https://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:

  • https://www.povezise.com/ (ako vas zanimaju internet rešenja, obavezno proverite ovaj sajt)
  • https://srbija.e-racuni.com/ (lično nisam oduševljen, ali more korisnika misli drugačije)

Da skratim post i da bez diskusije sve ove stavke priznam odmah kao nepobitno tačne. Na žalost i pored toga to je nedovoljno za mene da odlučim da radim svoj program za knjigovodstvo kao web aplikaciju.

Mane internet programa za knjigovodstvo

Web programi ne koriste optimalno računarske resurse u službi korisnika

Razvoj kompjuterskih sistema je ciklične prirode: pre 30-tak godina smo imali DEC VAX mainframe računare i glupave terminale direktno povezane sa glupavim terminalima koji su omogućavali samo prosti unos podataka bez ikakvog procesiranja. To nije radilo kako treba pa su terminali postali pametniji prvo malo (mini kompjuteri) pa onda i mnogo (PC kompjuteri). Arhitektura računarskih sistema je prešla istovremeno put od 2-slojne klijent server do n-slojne moderne arhitekture kakvu je imamo danas. Mogućnosti današnjih PC računara su neverovatne u poređenju sa kompjuterima od samo pre nekoliko godina. Imamo često 2 i više procesora na 3 Ghz sa gigabajtima RAM memorije, terabajtima prostora na disku, grafičkim karticama sa više kola nego Craz računar 70-tih. E u tom momentu se pojavljuju web aplikacije koje su ništa drugo do “mainframe sistema 21 veka” gde ulogu kabla od mainframe-a (web servera) do terminala (pc kompjutera) vrši sad internet. Zahtevi web aplikacija su neka vrsta “najmanjeg zajedničkog delitelja” iz samog razloga što najslabija platforma mora da ih podrži tako da većina tih HW resursa je potpuno neiskorišćena. Ako se pogleda tendencija gde google ide sa ChromeOS-om, jasno se vidi težnja da se korisnici liše tog nepotrebno jakog hardvera i zamene jeftinim računarima koji sve podatke skladište na minframe računaru. Kada to zaživi, eto nas opet u 70-tim sa jedinom razlikom da je internet sveprisutna mreža dok je mainframe veza sa terminalom išla RS 232 putem.

Ja ne znam da li je to budućnost ka kojoj idemo (lično se nadam da ne), ali s obzirom da živimo i poslujemo u sadašnjosti ja očekujem ne maksimalno moguću produktivnost i korisničko iskustvo. Želim da koristim  svaki delić mogućnosti moje mašine kako bi bio produktivniji i efikasniji u vršenju svoje poslovne delatnosti. Knjigovodstveni program mora da služi meni, a ne W3C organizaciji.

To sve naravno zavisi od konteksta – ponekad je i to “zadovoljavajuće” rešenje sasvim prihvatljivo rešenje.

Ako ste korisnik koji unese jednu kalkulaciju sa nekoliko stavki nedeljno, onda stranica unosa vp kalkulacije internet knjigovodstvenog programa BIS WEB-a (ponavljam preporuku za sve koje zanima internet poslovna aplikacija) može da bude sasvim prihvatljiva. Ako ste korisnik koji unosi desetine kalkulacija dnevno od kojih neke imaju hiljade stavki onda vam ovaj ekran možda neće pružiti dovoljno mogućnosti u poređenju sa desktop knjigovodstvenim programom.

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

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