duca's profileduca's spaceBlogLists Tools Help

Blog


    Kolateralna šteta

    Tek što sam razjasnio zbrku oko Silverlight-a, u borbu za tržište se uključio i treći igrač (za one koji ne znaju, prva dva su Microsoft i Adobe). Ko bi drugi nego Google. Google donosi svoje viđenje RIA (Rich Internet Application) u vidu Google Gears-a. Kako piše u šturom opisu, Google Gears je browser plug-in koji čine:

    • Lokalni web server, koji čuva HTML stranice, JavaScript, slike i druge sadržaje aplikaicje.
    • Relacionu bazu podataka, za lokalno čuvanje podataka,
    • Pozadinsku nit (thread), koja poboljšava odziv aplikacije, preuzimajući na sebe složene operacije.

    Kako kaže Bob Walsh, vodite računa da ne postanete kolateralna šteta ovog sukoba. Posebno ako razvijate novu aplikaciju koja treba da ugleda svetlost dana.

    PS: Ja sam odlučio da se držim starog dobrog, monopolističkog, Microsoft-asmile_regular. Nadam se da me neće izneveriti. Samo što ovo pokazuje da MS izgleda nije više bez konkurencije.

    Technorati tags:

    Silverlight 1.1 diagram

    Bilo je dosta reči o ovme tako da neću da pišem nešto više. Ako ipak niste čuli i ne znate šta je to Silverlight, probajte da pozovete Google u pomoć.

    Ako ste se posle prvog naleta zainteresovali za celu priču, sledeći dijagram može da bude od koristi. Zbrka oko cele ideje, razjašnjena je na sledećoj slici. Ako pogledate sliku postaje jasnije kako se sve MS dev tehnologije uklapaju u celu priču.

    link to original image 

    Technorati tags:

    Microsoft Empower Program

    Vest nije nova ali je svakako značajna za sve one koji se bave razvojem software-a. Ukoliko ste se odlučili da započnete sopstveni biz, onda je ovo pravi način da dođete do (skoro) svog software-a koji će Vam biti potreban. Naime, za samo 420 (cena važi za područije SER) američkih dolara dobijate sledeći paket:

    Pun džak software-a

    Do 5 licenci za sledeće proizvode:

    • Windows Vista Business ili Enterprise, ili Windows XP Pro
    • Office 2007 ili 2003

    Do 5 CAL (Client Access License) licenci za sledeće serverske proizvode:

    • Windows Server 2003 (Standard ili Enterprise)
    • Exchange 2003 Server (Standard ili Enterprise)
    • SQL Server 2005 (Standard ili Enterprise)
    • Share Point Portal Server 2007 ili 2003

    Pretplata ne MSDN Universal

    • Do 5 zaposlenih može da koristi MSDN licence istovremeno, za potrebe razvoja i testiranja

    Pristup on-line materijalima i resursima

    • Mogućnost da postavljate pitanja kroz MSDN Managed Newsgroup.

    Tehnička podrška

    • 10 sati telefonske podrške koja uključuje savete i preporuke u vezi sa razvojem, primere koda, i pregled dizajna i arhitekture Vaše aplikacije.

    Dobar dil

    Vrednost ovog paketa je oko 2700$. Ne verujem da treba da razmišljate u vezi sa ponudom. Zato požurite. Naravno postoje i ograničenja. Ponuda ne važi za Microsoft Certified i Gold Certified partnere. Podatke o aplikaciji koju razvijate morate da objavite u roku od 6 meseci na sajtu kompanije, od trenutka kada postanete član. U roku od godinu dana treba da počnete sa distribucijom gotove aplikacije. Možete da budete član samo jednom i po isteku, članstvo u programu ne može da se obnovi. Valjda je i jasno otkuda naziv Empower i kakva je računica Microsoft-a.

    Najzanimljiviji deo je onaj kada Vam na adresu stigne paket od oko 50 DVD diskovasmile_regular.

    Ima li programera u avionu

    Teško da bi Vaš software mogao da se "vrti" u nekom od Sikorsky helikoptera. Još su manje šanse da Vas uposle da pišete software za medicinski uređaj (ko je rekao pacemaker). Da li treba da pominjem posledice eventualnog "unhandled exception-a"...

    Ukoliko ipak želite da zante nešto o ovome, za početak, pogledajte ovde i ovde.

    IEEE standard 830

    O formalnoj verifikaciji i sličnim tehnikama ne mogu da Vas naučim. Međutim, mogu da Vam kažem šta je dobra inženjnerska praksa kada je u pitanju software. I ne samo praksa, već i standard i regulativa koji se odnose na mission critical aplikacije.

    Ono što se nameće kao preduslov za primenu bilo kog standarda su dobro utvrđeni procesi razvoja i upravljanja zahtevima. O zahtevima je bilo reči, kao i o procesu razvoja. Međutim, dobra volja, često nije dovoljna. Prvi problem nastupa kada treba da se odredi šta su to zahtevi za jednu aplikaciju. Posebno, šta treba da sadrži dokument specifikacije zahteva.

    Standard koji se posebno odnosi na zahteve i SRS je IEEE 830 standard. Po pitanju SRS-a, standard kaže sledeće:

    • The SRS writer(s) should avoid placing either design or project requirements in the SRS.
    • The SRS should not describe any design or implementation details.These should be described in the design stage of the project.
    • The SRS should address the software product, not the process of producing the software product.

    Implementing th IEEE  Software Engineering Standards

    Kao što se vidi, mnogo jelakše definisati šta SRS ne treba da sadrži nego šta treba. Sličan pristup ima i autor knjige Implementing the IEEE Software Engineering Standards :

    An SRS should not describe the software project or the software design. It should specify what the software shall do, not how the software shall do it, and not what the project team shall do.This is often a stumbling block for inexperienced SRS writers

    Osim toga, dobar SRS dokument treba da ispuni nekoliko karakteristika: Da bude Korektan, Nedvosmislen, Kompletan i Konzistentan. Pojmove ne treba dodatno objašnjavati obzirom da su u velikoj meri sami po sebi jasni.

    Bez obzira da li pišete software koji mora da zadovolji određenu regulativu, standardi mogu da budu od velike koristi. Nešto od onoga što je uslov za mission critical aplikacije svakako može da bude od koristi u svakodnevnom radu. Malo discipline ne može da škodi. U koliko Vas interesuje nešto više o  inženjerskim standardima svakako prelistajte Implementing the IEEE Software Engineering Standards.

    Eric Sink on Requirements

    Eric je u svom poslednjem članku Requirements pokušao, da na veoma iscrpan način objasni šta su to zahtevi. Međutim, ovakav pristup boluje od "dečije bolesti". Onima koji ne znaju šta su to zahtevi, neće biti ništa jasnije kada pročitaju tekst. Jednostavno nema rešenja. Moraćete sami da naučite i to na teži način.

    Ni sam Erick ne krije da dugo nije znao šta su to zahtevi. Ali to ni po čemu nije čudno. Pretpostavljam da danas 90% programera ne zna to isto. Ono što se provlačo kroz tekst je utisak nekoga ko je saznao "veliku tajnu".  Ne mogu da Vam otkrijem jednačinu svemira, ali  mogu da Vam kažem da se razvoj ne svodi na IDE i besomučno kodiranje.

    Najzanimljiviji deo teksta je onaj u kome Eric opisuje nezgodnu situaciju sa jednim od svojih prethodnih šefova. Ako Vam situacija izgleda krajnje glupo, zapitajte se, sigurno ste se i Vi našli u sličnoj situaciji. Međutim, u svetu u kome vladaju arogancija i sujeta (mislim na programerski svet), ovo nije retka pojava. I sam sam bio akter bar dve slične situacije. Zato, kada sledeći put poželite da nekome razbijete glavau, prvim tuipim predmetom koji Vam padne pod ruku, zastanite. Možda ipak niste u prau.

    Technorati tags:

    FogBugz on Demand - Drugi deo

    Posle neuspleog pokušaja da otvorim besplatan nalog na FogBugz on Demand, mail-a korisničkoj podršci i odgovora da je problem rešen, postao sam zadovoljni korisnik ovog servisa.

    Što se tiče problema sa registracijom, odgovor korisničke podrške je bio da je problem u Hotmail nalozima. Da li je to istina? Ne znam. Mogu samo da pretpostavim da je to bio način da se smanji navala. Dodatni mail je u tom smislu trebalo da napravi selekciju. Između onih zaista zainteresovanih i onih koji bi samo da probaju nešto za "dž".

    Odličan bug tracking sistem

    Ako zanemarim problem sa registracijom i period u kome je sistem bio nedostupan, nekih, 30 min. zbog održavanja, ostaje utisak da je FogBugz izuzetan alat. Ono što dobijete vredi svaku paru koju ste dali i mnogo više od togasmile_wink. Šalu na stranu, FogBugz je jedan odličan proizvod.

    Osim što služi kao tipičan bug/issue tracking sistem, FogBugz ima i druge primene. U prvom redu, ovo je odličan helpdesk sistem.

    Najkorisniju opciju predstavlja mogućnost da se novi slučaj otvori slanjem mail-a. Tako, FogBugz prikuplja sve mail-ove sa unapred određene adrese. To, između ostalog, može da bude adresa korisničke podrške, npr support@mojafirma.com. Tako FogBugz postaje dobar helpdesk sistem.

    Tu je i anti-spam sistem koji štiti od neželjenih poruka. Koristeći isti Bayesian algoritam, koji filtrira spam, poruke mogu da se sortiraju i po drugim kategorijama.

    Kako to izgleda u stvarnosti

    Kako bih što bolje predstavio mogućnosti FogBugz-a, poslužiću se jednim tipičnim scenarijem: Osoba A, inače u ovoj maloj priči, krajnji korisnik aplikacije, ima problem u radu sa programom. Osoba A, šalje mail korisničkoj podršci, u kome opisuje svoje nevolje. Na drugoj strani, FogBugz automatski prikuplja sve poruke sa adrese support@mojafirma.com. Tako, i tek poslata, poruka osobe A biva pokupljena. Poruka postaje novi slučaj (case), tj. incident u okviru sistema. FogBugz obaveštava osobu A, da je poruka primljena, te da će odgovor dobiti u najkraćem roku. O novonastalom slučaju FogBugz obaveštava i osobu B, inače člana tima zaduženog za podršku. Od sada, osoba B je odgovorna za razrešenje slučaja. Kako osoba B nije u mogućnosti da reši problem, dodeljuje ga osobi C. Tako incident eskalira kroz lanac podrške na sledeći nivo. Osoba C, inače programer, ovoga puta rešava problem. O tome obaveštava osobu A. Pošto problem biva uspešno rešen, incident se zatvara.

    Snimite Vaše greške

    Rad sa bug-ovima je u osnovi sličan. Samo što sada inicijator ne mora da bude samo krajnji korisnik, već to može da bude i bilo koji član tima. Korisnik FogBugz-a može da otvori novi slučaj (case), i detaljno opiše otkriveni bug. Na raspolaganju su sve mogućnosti koje se očekuju od jednog bug-tracking software-a.

    Novost je screencapture plug-in. Korisnik može da "uhvati" snimak ekrana u trenutku nastanka greške. ...slika govori bolje nego hiljadu reči. Takav snimak ekrana može da se postane potpuno novi slučaj ili da se pridruži nekom već otvorenom.

    Prevarite spamere

    Sledeća, zlata vredna, opcija je integrisani forum software. Kako izgleda jedan forum implementiran u FogBugz-u pogledajte ovde.

    Iako su postovi anonimni, forum poseduje jednu izuzetnu mogućnost. Svaka poruka može da bude odobrena ili obrisana od strane administratora. Pitate se sigurno šta je tu revolucionarno. Obrisana poruka ostaje vidljiva za autora poruke. Svi ostali učesnici ne vide poruku. Zaista inteligentno rešenje.

    Zaključak

    Jedina zamerka je pomalo konfuzan interfejs i navigacija. Ovo čudi, obzirom na iskustvo koje autor ima u oblasti interfejs dizajna.

    Zaključak je da je ovo rešenje koje definitivno mora da upotpuni svaki "developer stack". Posebno ukoliko ste micro ISV. Kvalitet podrške koju pružate može da napravi razliku između Vas i konkurencije. Jer posao se ne završava onda kada kupac izvadi kreditnu karticu iz džepa. Tada tek počinje.

    Za/protiv

    prednosti:

    • otvaranje novog slučaja slanjem e-mail-a
    • spam filter
    • screen capture plug-in
    • integrisan forum software

    mane:

    • nedostatak home stranice
    • pomalo konfuzna navigacija
    Technorati tags:

    Zakon o blogu

    Prerano ste se ponadali. Nema izgleda da bi ikada mogli da dobijemo zakon o blogusmile_teeth.  U situaciji u kojoj mnogo ozbiljnije oblasti nisu regulisane zakonom, teško bi bilo očekivati drugačije.

    Međutim, ako Vas zanima kako zakoni regulišu i utiču na blogosferu na "divljem" zapadu, sledeći tekst može da bude interesantan Blog Law » 12 Important U.S. Laws Every Blogger Needs to Know

    Technorati tags: ,

    1. Maj, e-mail i još po nešto

    1. Maj

    Čitam The New York Times, dodatak u Politici, i nikako da nađem da se negde pominje 1. Maj. Možda, zato što se u najrazvijenijem delu sveta i ne gleda blagonaklono na jedan "crveni" praznik. Na drugoj strani zemljine kugle, ovde u ovoj balkanskoj vu......ni, nije tako. I sedam godina kako smo zagazili u demokratske promene, nema ni pomena da se suspenduje ovakav jedan skaradni, nazovi praznik. 

    Zaboravili smo kakvu simboliku ima taj dan. Sa kavim značajem i značenjem se slavi u komunističkoj Rusiji i Kini. Sa kavom idejom se slavio u komunističkoj Jugoslaviji. Sa kakvom simbolikom se slavio u nacističkoj Nemačkoj. Sve smo to zaboravili. Prihvatili smo duh anarhizma i komunizma. Svega krajnje ekstremnog i po društvo destruktivnog. No o tome kako naše društvo voli da koketira sa ekstremizmom ne treba da govorim. Dovoljno je jasno iz toga, što trećina birača glasa za fašiste.

    Bitno je da slavimo 1. Maj, ali zato o Danu planete Zemlje nema ni reči.

    Znam sada sigurno u sebi mislite: "Šta, bre ovaj lupeta gluposti. Pa praznik se slavi svuda u svetu. Ma, bre Amerikanci su ga i izmislili." Ako tako mislite, onda dobro. Poštujem. Neću više da govorim o 1. Maju.

    E-mail

    U New York Times-u se ne pominje prvi maj, ali zato se pominje e-mail. Robert Wright u svom članku "E-mail, mi i prozak", postavlja pitanje da li e-mail, zapravo, unazađuje komunikaciju. Njegovo mišljenje je da je tako. U tome samo mogu da se složim sa njim.

    Pre nekih 15-20 godina sve je bilo drugačije. Komunikacija se obavljala isključivo telefonom. Mogli ste odmah da znate, da li možete da dobijete informaciju ili ne. Odgovor je bio momentalan. Mogli ste i da čujete sagovornika. Da osetite boju glasa i intonaciju. Jednom rečju, nije bilo nesporazuma. Danas, to više nije tako. Čekanje na ogovor može da se pretvori u beskonačnost. "Da li me druga strana ignoriše". "Da li je mail stigao, možda sam pogrešio adresu". "Da li može da mi odgovori". "Ili samo ne želi". "Možda je problem u njenom spam filteru". "Da li da pokušam još jednom, mogla bi da pomisli da sam dosadan". I na kraju kada primite, tako isčekivani, mail: "Šta je htela da kaže, ništa ne razumem".

    Situacija

    Ovih dana, dok čekam jednu važnu poruku, sam sebi postavljam ova pitanja. Situacija je sledeća:

    Pre nekog vremena obavio sam razgovor sa osobom A. Osoba A radi za instituciju B. Razgovor je dobro protekao. Zadovoljstvo je bilo na obe strane (njihovoj i mojoj). Na kraju razgovora, osoba A je rekla: "Zakazuću Vam sastanak sa osobom C i javiću Vam kada da dođete. Ostavite mi Vaš mail, te ću potanko da Vas obavestim o svim detaljima." I tu nastaje prvi problem. Počinjem da sričem slovo po slovo: "d", "p", "a", ..., "Ne sve su mala slova", "Nije ć, nego je c", "Ne, nema tačke između", "Kako mislite šta je to AT", "Da hteo sam da kažem majmunsko a". Da li je dobro zapisala? Ne znam. Niti ću ikada saznati. Prošlo je nedelju dana, nikakav odgovor nisam primio.

    Apsurd čitave situacije je da institucija B, i osobe A i C koje rade u njoj, imaju i te kakav interes da se "transakcija" dovrši. Interes je toliki, da ne bi bilo neprimereno da pošalju limuzinu po mene, sa sve plavušom pride. Bez obzira, odgovora još uvek nema.

    Šta je po sredi, ne znam. Da li je u pitanju tradicionalna neposlovnost, koja vlada ovim prostorima. Ili su možda u prazničnoj euforiji, pa ne stižu da mi odgovoresmile_teeth. Sačekaću da prođu i ti praznici pa onda telefon u ruke. I možda da primenim strai recept, "sve po spisku"smile_regular. Ovde, izgleda ne može drugačije.

    Technorati tags: ,