duminică, 7 decembrie 2008

Jocuri online: MMORPG vs Browser Games

Cele mai la moda jocuri la ora actuala sunt cele online. Acestea se impart in doua categorii importante, MMORPG (massive multiplayer online role-playing games) si cele jucate direct in browser.
Din cate mi-am dat seama, ele se adreseaza unor segmente diferite de jucatori. Amandoua se bazeaza pe aceleasi dorinte ale jucatorilor de a fi cei mai buni intr-un mediu cu milioane si milioane de alti jucatori care doresc acelasi lucru. Totusi profilurile jucatorilor difera de MMORPG la borwser games, la fel cum si jocurile in sine difera fundamental.
Daca jocurile MMORPG ofera scenarii fascinante, o grafica deosebita, posibilitati multiple de dezvoltare, detalii ce fac jocurile foarte atractive prin complexitate si sunt de cele mai multe ori contracost, jocurile browser game ofera scenarii limitate, interfete simpliste si o grafica practic inexistenta. Totusi, acestea din urma ofera foarte multe avantaje, ceea ce le fac foarte populare. In primul rand castiga prin faptul sunt gratis si pot fi jucate de oriunde exista un calculator si o conexiune de internet. Mai mult, jocurile nu necesita calculatoare performante, cum este in cazul jocurilor MMORPG. In plus, ele castiga prin interfetele simple testand calitatile de strateg ale utilizatorului si nu viteza de reactie.
Doua tipuri de jocuri intr-atat de diferite, aflate parte la poluri opuse, au parte si de jucatori diferiti. Daca un joc MMORPG presupune un timp alocat de catre jucator cat mai mare, pentru ca acesta sa se dezvolte cat mai repede, un joc browser based este limitat din punct de vedere al timpului alocat, deoarece numarul de actiuni pe care un jucator poate sa le intrepinda in mod concurent este limitat (fie de resursele limitate, fie de timpii de constructie etc).
As merge mai departe spunand ca jucatorii care sunt pasionati de jocuri MMORPG sunt jucatori full-time in timp ce cei care joaca jocuri browser-based sunt jucatori part-time.
Tipul de joc preferat depinde de fiecare. In general jocurile browser based au un numar mult mai mare de jucatori (ele fiind gratuie), au incasari mai reduse (nu se pot obtine incasari decat din anumite avantaje pe care le poti obtine in joc) si au timpi de dezvoltare ai jocului redusi si costuri de mentenanta reduse. Jocurile MMORPG au un numar mai mic de jucatori, care insa platesc pe langa unele avantaje si un abonament lunar , au incasari uriase dar si costuri pe masura.

sâmbătă, 6 decembrie 2008

Cum ma jucam ieri...cum ma joc azi si cum ma voi juca maine

Ca orice student la calculatoare care se respecta imi plac jocurile :) De-a lungul timpului am apucat sa ma joc multe jocuri pe diferite dispozitive. Din fericire jocurile au evoluat incredibil de mult, mai ales la capitolul interfata cu utilizatorul.
Primul joc incercat se numea Tai Pan. L-am incercat pe un Hc cumparat dintr-un bazar rusesc. Jocul era incarcat de pe o caseta audio si ecranul era repezentat de televizor. Tot ce trebuia sa fac era sa apas pe 3 butoane de pe tastatura. Era de vis :) Ma uitam la un ecran negru cu puncte galbene.
Apoi a aparut Nintendo. Cine poate uita pad-urile de control cu butonasele colorate de care ma foloseam sa il fac pe Mario sa sara in sus si in jos pe ecran. Ecranul care acum era viu colorat si jocul se desfasura pe o muzica care intretinea suspansul.
Urmatorul joc care m-a marcat a fost Wolf 3d. Aparusera pc-urile si eu am avut norocul sa imi cupar unu. Interactiunea era una extrem de palpitanta . Controlam personajul destul de bine din taste si sunetul jocului mentinea o tensiune extraordinara pentru acea vreme. Impuscam si sufeream cand eram impuscat.
Apoi a aparut joystick-ul, Simulatoare de avioane... F22. Joystick-ul oferea un control realist asupra avionului. Aspectul vizual al unui cockpit era extrem de bine detaliat pe ecran si puteam controla orice dispozitiv din avion.
Au aparut apoi shooterele serioase...Half life. Din taste si din mouse puteai controla orice miscare a personajului. Totul era extrem de realist, efectele vizuale si auditive. Sunetul in "surround" era incredibil, pasii se auzeau in boxe diferite. Fiecare glont lasa o urma. Utilizatorul era implicat in activitati complexe in mediul jocului: putea sa care obiecte, trebuia sa rezolve puzzel-uri.
Apoi a aparut volanul. Jocuri de genul Colin Mcrae Rally sunt extrem de realiste. Userul are un control aproape real asupra masinii. Efectele volanului (force feed back) dau un feeling extrem de realist asupra condusului. Masina are o dinamica reala.
Ultimele lucruri care m-au impresionat au fost consolele de jocuri. Interfata cea mai spectaculoasa o are WII. Utilizatorul poate juca golf, tenis, box sau orice altceva utlizand telecomenzile cu accelerometre. Feeling-ul este unul foarte realist user-ul obosind la propriu jucand tenis, un tenis solicintant fizic.
Viitorul suna bine :)

Evolutia interfetelor telefoanelor mobile

Telefonul mobil a devenit unul din cela mai importante accesorii din viata noastra cotidiana. Ca orice tehnologie telefonul mobil a evoluat mult dea lungul timpului, si o data cu aceasta evolutie au aparut noi interfete cu utilizatorul.
Probabil toti ne aducem aminte primele interfete ale telefoanelor. Un ecran cu un fundal monocolor si cu textul negru. Intereactiunea utilizatorului cu telefonul se facea greoi. Afisarea meniurilor se realiza prin text, iar utilizatorul trebuia sa apese pe butoane pentru a parcurge un meniu intreg, acesta fiind prea mare pentru a fi afisat pe un singur ecran.
Prima evolutie importanta in interfata cu utilizatorul a fost aparitia ecranelor color. Acestea au permis afisarea meniurilor sub o forma intuitiva. Un atribut al unui meniu este acum afisat ca o iconita, parcurgerea meniurilor de catre utilizator devenind intuitiva si mult mai usoara.
In opinia mea, a doua evolutie importanta este aparitia facilitatilor de voice recognition. Un utilizator poate accesa anumite funtionalitati ale telefonului printr-o simpla comanda vocala. Astfel in timpul condusului un utilizator nu mai este fortat sa apese pe butoane pentru a cauta un numar de telefon, ci poate "vorbi" cu telefonul pentru a face un apel.
Ultima dezvotare notabila in domeniul telefoanelor este aparitia touch screen-urilor. Acesta permite o interactiune extrem de rapida cu utilizatorul care nu mai este obligat sa apese o groaza de butoane mici pentru a utiliza telefonul. Touch screen-ul a permis aparitia multor aplicatii pentru telefoane care pe un telefon vechi cu butoane ar fi fost mult prea greu de folosit.
Telefoanele mobile sunt un subiect "hot" in IT iar dezvoltarea lor este extrem de rapida. Viitorul suna bine :)

Sunt interfetele doar web?

Orice aplicatie informatica are o interfata cu utilizatorul, cel putin pentru configurarea sau pornirea ei. Prin urmare, de fiecare data cand dezvoltam un program ne punem problema modului in care vom interactiona cu el.
Notiunea de interfata nu se limiteaza insa doar la domeniul informaticii, cu atat mai putin la cel web. In general legatura unui utilizator cu un sistem cu o anumita functionalitate se realizeaza prin intemediul unei "interfete":
- bordul unui autoturism sau avion (sistem mecanic)
- butoanele unui radio (sistem electronic)
- ghiseurile unei banci (sistem "social")
Toate trebuie sa aiba insa o calitate comuna: usurinta accesului utilizatorului, iar masura in care este indeplinita aceasta conditie influenteaza decisiv succesul sistemului respectiv.
Degeaba construiesc o masina trasnet daca are volan in stanga si pedale in dreapta. E un chin s-o conduci.
Din persepectiva interfetelor web ne intereseaza efectiv imaginea pe care browserul o afiseaza atunci cand tiparim in browser un url. Am putea spune ca este modul in care noi accesam informatia pe internet, insa este mai mult de atat: este publicitate (shake your money maker - by flash) , impact vizual (as much pink as you can) si tehnologie (nerdish) .
Interfetele definesc granita intre esenta si aparenta. Nu sunt doar web, sunt o problema a comunicarii si colaborarii.

Personalizarea unui select box

Tehnologia HTML si CSS ne permite azi sa dam site-ului nostru un design complex si cat mai aproape de viziunea noastra artistica. Putem folosi, mai greu sau mai usor, diverse forme si culori pentru a da paginilor noastre o imagine deosebita.

In acest proces de personalizare si infrumusetare va veti lovi insa de un element rigid care va tine neaparat sa strige armonia intregului design. Este vorba, desigur, de un "Select box". Desi putem schimba culoarea textului din el, este imposibil sa-l determinam sa-si schimbe border-ul, backgroundul etc., el ramanand fidel librariilor grafice aferente browser-ului.

Singura solutie pe care am gasit-o este construirea un select din div-uri, css si javascript. E o sarcina dificila, si nu neaparat fiindca trebuie sa lucrezi cu handlere in javascript, ci pt ca este o bataie mare de cap sa faci o varianta acceptata de toate browserele. Ca idee, odata ce am gasit o solutie cat de cat acceptabila, vine IE8 si ... iarasi de la capat.

Personalizarea unui selectbox este o problema de a alege intre functionalitate (care poate fi afectata prin trecerea la javascript) si design (care poate suferi din cauza inflexibilitatii sale grafice) . Pana cand? Acest lucru il hotaresc dezvoltatorii de browsere. Ramane insa o curiozitate cum un element asa comun intr-o pagina a fost ocolit de valul de diversificare a imaginii web-ului.

vineri, 5 decembrie 2008

Despre piraterie si Photoshop

Nu are nici un rost sa iti spun ca este un luru rau sa piratezi un program. Stii si tu ca este ilegal sa detii un program fara licenta si ca acest lucru se sanctioneaza conform legii. Dar de ce sa platesti pentru ceva, daca poti obtine acel lucru gatuit? Pentru ca cineva a muncit sa iti ofere acel program si pentru ca doar asa el va fi motivat sa imbunatateasca aplicatia si va reusi sa iti ofere tie mai multe facilitati. Asta e modul in care ii multumesti pentru efortul depus. Incearca sa intri in papucii dezvoltatorului: Tu ai munci, daca ai sti ca dupa ce te-ai chinui atata timp nu ai primi nici un fel de rasplata?


Dar ce poti face tu ca dezvoltator astfel incat sa nu iti fie piratat softul? Nu ai foarte multe posibilitati.

Sa spunem ca folosesti un cod (serial number): exista programele care genereaza coduri valide pentru aproape toate aplicatiile raspandite. Chiar daca nu folosesti un keyGenerator, poti gasi un cod pe net. Deci aceasta solutie iese din calcul.

Sa spunem ca pui la dispozitie un executabil care ofera o multime restransa de facilitati: exista crack-uri. Renuntam si la aceata idee.

Folosesti abonamente: pur si simplu utilizatorii se inregistreaza sub alt nume.

Morala este ca nu exista momentan o metoda 100% sigura impotriva pirateriei.

...

Iar in lumina reflectoarelor apare.... Adobe. Baietii de la Adobe dupa ce au intors problema pe toate fetzele au spus asa: De ce sa piratezi, cand poti sa obtii acel lucru gratuit si legal? Astfel, unul din cele mai vandute produse de la Adobe, si anume Photoshop, este disponibil gratuit online. Inca nu se ridica la nivelul produsului destinat utilizarii locale, insa are o multitudine de facilitiati. Drept sa va spun, are cam tot ce ai avea nevoie. Convinge-te singur: Photoshop.com (vei avea nevoie de cont). Si atunci cine mai cumpara Photoshop? Cei din mediul profesional care oricum il cumparau. Problem solved.

Umbla un zvon ca Photoshop ar fi fost doar prima aplicatie din acest nou curent. Urmeaza Dreamweaver!


P.S. Daca vrei sa obtii mai multe de la Photoshop, incearca unul din tutorialele de aici.


P.P.S. Nu am folosit nicaieri in acest post cuvantul "furt" deoarece cred ca exista o diferenta intre piraterie si furt. Chiar daca multa lume sustine ca nu exista

joi, 4 decembrie 2008

Netiquette

Netiquette sau "network etiquette" este un cod al bunelor maniere online. Acest cod este important pentru o experienta cat mai placuta si lipsita de peripetii pe net. Ca orice cod are un set de reguli dintre care cele mai importante sunt urmatoarele:


1. Aminteste-ti ca vorbesti cu un om!

Desi esti ascuns in spatele unui ecran, trebuie sa tii minte ca mesajul tau - fie el e-mail sau raspuns pe forum sau chiar un post pe blog - este finalmente citit de o persoana. Asa ca inainte de a scrie, intreaba-te: As vorbi asa fata in fata cu persoana respectiva?



2. Fii la fel on-line cum esti in viata de zi cu zi!

Desi online te bucuri de o oarecare anonimitate, nu trebuie sa profiti de ea in sensul negativ. Nu trebuie sa te porti urat cu cineva pentru ca "oricum nu te cunoaste".



3. Sa stii unde te afli in cyberspace!

Fiecare comunitate are reguli proprii. Astfel ce e ok intr-o comunitate, poate sa deranjeze mult membrii altei comunitati.



4. Respecta timpul celorlalti oameni!

Nu trimiteti SPAM. Este foarte deranjant sa intri pe mail doar pentru inca un mail de genul: "Daca nu trimiti asta la 10 persoane vei avea ghinion".



5. Imparte cunostintele!

Marea putere a internetului consta in faptul ca toata informatia este la un loc. Poti gasi informatii despre aproape orice online. Nu scrie despre un lucru decat daca stii despre ce vorbesti, altfel risti sa imprastii informatii false.




Pentru mai multe detalii, consultati RFC1855.

joi, 27 noiembrie 2008

Websiteuri cu asistenta vocala

Acum vreo doua luni a fost lansat primul site cu asistenta vocala ce apartine unei institutii publice.
Este vorba despre siteul ministerului Comunicatiilor si Tehnologiei Informatiei (MCTI). Situl a ramas in esenta nemodificat doar ca ofera o noua optiune ce reda audio, prin sintetizare vocala, continutul siteului.
In ciuda costurilor ridicate, implementarea costand 40.000 ron, aceasta initiativa mi se pare laudabila oferind accesul la informatie si unei categorii defavorizate destul de importante, existant circa 240.000 de persoane cu deficiente de vedere in Romania.
Mai mult se pare ca MCTI a realizat si un ghid, numit "Ghidul privind realizarea paginilor web pentru autorităţile şi instituţiile administraţiei publice centrale şi locale din România" care prevede si implementarea de optiuni ce vin in ajutorul persoanelor cu dizabilitati.

Pentru a vedea cum functioneaza concret noua optiune vizitati http://www.mcti.ro/ si accesati optiunea Accesibil

miercuri, 26 noiembrie 2008

Remarci asupra impactului vizual al unei pagini

Ca orice student in anul 4 la automatica am destula experienta de google-ing. De-a lungul timpul a trebuit sa caut cele mai neimportante informatii pe net. In felu asta am intrat pe cele mai obscure site-uri. Am putut sa vad multe site-uri care pur si simplu sunt deranjante vederii. Am facut o lista de cateva lucruri care nu ar trebui sa se regaseasca in designul unei interfete web.

Care este primul lucru care ne izbeste atunci cand deschidem o pagina web? Culoarea paginii :) E un aspect care inconstient ne face sa avem o anumita senzatie fata de respectiva interfata. Culorile sunt mult mai importante decat am crede. Ele au anumite implicatii psihologice.
De exemplu o pagina pe un fundal albastru deschis, evoca calm,liniste si nu te face sa cauti disperat combinatia alt+tab pentru a schimba pagina.
Pe de alta parte o interfata cu un rosu aprins pe fundal evoca agresivitate si iti "invadeaza" linistea din fata monitorului. Un alt lucru pe care il regasesc deranjant la anumite pagini este o "salata" de culori. Aceasta diversitate iti atrage atentia dintr-o parte in alta a
paginii, ingreunand urmarirea paginii.

Dupa ce trecem de prima impresie data de culoarea paginii, incepem sa cautam informatia prin textul expus pe site. Astfel, ajungem la alt capitol important pentru o pagina, textul. Pentu mine un lucru important este dimensiunea textului. Urasc site-urile care ma fac sa imi pun
ochelarii. La fel de mult urasc site-urile care nu aleg bine culoarea textului pentru fundalul paginii. O combinatie "perfecta" este un text rosu pe un fundal verde, sau orice combinatie de doua culori deschise sau inchise. O sugestie ar fi existenta unei modalitati de highlight a unor
cuvinte cheie pentru a nu forta utilizatorul sa apese ctrl+f. De asemenea, sugerez ca in design-ul unei interfete sa se foloseasca capital letters doar pentru titluri si nu pentru text normal.

Cam astea ar fi lucrurile care ma deranjeaza cel mai tare la paginile web. Am exclus din discutie flash-urile(gasesti un articol mai jos).

Proiectarea unei aplicatii: definirea interactiunii utilizatorului cu aplicatia

Prima intrebare care se pune in proiectarea unei aplicatii este... evident... ce ar trebui sa faca aplicatia.
Inca din aceasta faza incipienta, se traseaza, in linii mari, interactiunea dintre om si aplicatie. Practic se concep informatiile ce trebuie introduse de catre utilizator (fie elemente de autentificare, fie informatii relevante etc) si cum reactioneaza aplicatia la primirea acestor informatii.
In acest stadiu se pot stabili elementele de proiectare ce nu tin neaparat de design ci mai mult de functionalitate. Astfel se pot construi propozitii cum ar fi: Utilizatorul apasa pe butonul de login, introduce username-ul si parola, apasa pe butonul de submit, iar aplicatia ii afiseaza pagina lui personala.
Este clar ca aceste constructii sunt esentiale in proiectarea aplicatiei, acestea ajutand atat pe partea de design (stabilind elementele ce vor trebui sa fie prezente in design) cat si pe partea de implementare (definind elemntele de implementare, stabilind functionarea elementelor, oferind detalii despre interfetele publice ce trebuie sa fie implementate pentru fiecare element etc.).
Solutia de a scrie astfel de propozitii intr-un document si salvarea lor pe disk este una viabila. Totusi pot aparea (mai ales in cazul unor aplicatii mari) o serie de ambiguitati si inadvertente ce vor ingreuna dezvolatarea aplicatiei. Astfel se simte nevoia folosirii unei aplicatii care sa ajute la translatarea acestor propozitii intr-o forma standardizata.
Un astfel de utilitar este CCTE. Aplicatia este implementata in java, deci functioneaza pe orice sistem de operare, este gratuita si poate fi descarcata de pe http://giove.cnuce.cnr.it/ctte.html. Aceasta aplicatie ofera posibilitatea de a defini vizual elementele de interactiune a utilizatorului cu calculatorul precum si raspunsurile calculatorului. Definirea se face sub forma unui arbore ce se detaliaza pe masura ce se avanseaza pe nivel inferioare. De asemenea este obligatorie stabilirea de relatii intre nodurile de pe acelasi nivel cu acelasi parinte (aceste relatii ajuta la implementare ele stabilind ordinea si modul in care utilizatorul poate executa actiunile dorite). De asemenea CCTE ofera si mecanisme de verificare si de testare a diverselor scenarii posibile. Astfel se elimina inca din aceasta faza de proiectare ambiguitatile si inadvertentele ce pot aparea ceea ce reduce riscurile aparitiei de situatii neprevazute

duminică, 23 noiembrie 2008

Viitorul WEB interactiv

In ziua de astazi majoritatea programelor sunt gandite ca aplicatii online (over the internet). In modul acesta se poate garanta un acces rapid al utilizatorilor, dar si autentificarea acestora si, astfel , reducerea pirateriei. Mai mult de atat, un update se va realiza rapid, pe server, cu implicarea exclusiva dezvoltatorului software.
Modalitatea de interactiune cu aceste aplicatii se face, evident, prin sistemul WEB. Astfel, functionalitatea oferita clientului va depinde mult si de tehnologiile puse la dispozitie de comunicarea intre un browser si server.
Traim acum era AJAX, care a eliminat acele deranjante si inutile reincarcari de pagina la fiecare click, insa, in opinia mea este inca prea putin. Comunicarea asincrona poate oferi nenumarate facilitati de programare insa nu realizeaza o conexiune completa cu programul CGI ce ruleaza pe server.
Practic aceasta comunicare server-browser va trebui vazuta ca o colabarare complete intre doua programe complementare ce ruleaza in paralel nu doar o simpla succesiune de tranzactii HTTP.
Schimbul acesta de mesaje ar trebui sa fie mai dinamic, mai flexibil, sa permita de exemplu o cerere sau un raspuns in mai multe etape interemediare. Probabil multe din concluziile trase in studiul sistemelor distribuite vor fi aplicate si pentru indispensabilul WEB.
Desi, in general, comunicare WEB se bazeaza pe simplitatea HTTP este posibil ca acest lucru sa se schimbe in viitor (deja a inceput prin CSS, FLASH, AJAX etc) pentru a lasa loc unor posibilitati sporite de programare web based.

luni, 17 noiembrie 2008

Fara click-uri

Petrecem foarte mult timp in fata calculatorului. Tastam mii de caractere, dam mii de click-uri. Pe mine unul ma deranjeaza aceste click-uri intr-o oarecare masura deoarece folosesc mousepad-ul, iar acesta adauga un grad de discomfort. Cei mai carcotasi veti spune sa imi iau un mouse. Dar nu poti tot timpul folosi un mouse (un exemplu ar fi cand, in lipsa unei mese (a se citi suprafata plana), stai cu laptop-ul pe genunchi). Mi-ar fi mult mai usor daca as putea atat sa navighez atat pe internet, cat si in propriul sistem de operare folosind doar miscari de mouse (mouse gestures).


Mozilla a pus la dispozitia clientilor un add-on ce inregistreaza miscarile de mouse, si indeplineste o anumita sarcina, pe baza acestor miscari. Insa pentru a-l activa trebuie tinut apasat click-dreapta, ceea ce din nou este putin dificil pe un mousepad. Add-on-ul se numeste FireGestures si il gasiti aici.


Don't click.it este un site cu o interfata deosebita. Navigarea in cadrul acestui site se face cu doar un singur click (cel de intrare pe site). Site-ul este construit in intregime in flash si inregistreaza miscarile mouse-ului. Va invit sa experimentati acest site atat cu mouse-ul cat si cu mousepad-ul si sa decideti singuri daca e mai bine fara click-uri.

duminică, 16 noiembrie 2008

Aplicatii Desktop vs Aplicatii Online

Din ce in ce mai la moda, aplicatiile online sunt in plina ascensiune si castiga teren rapid fata de cele desktop. De cand cu noile tehnologii si platforme ce folosesc ajax, site-urile web au un look & feel din ce in ce mai atractiv si se aseamana din ce in mai mult cu aplicatii desktop.
Daca pana acum trebuia sa folosesti flash ca sa faci un site atractiv ceea ce aducea foarte multe dezavantaje (cele mai importante fiind faptul ca zonele in general nu erau selectabile, nu mergea tabul, nu mergea functia de back a browserului decat intre paginile flash care de obicei reprezentau sectiuni ce contineau mai multe pagini) acum pastrezi toate avantajele unei pagini web html cu posibilitatea de a incarca doar anumite zone dintr-un site facandu-l astfel mult mai rapid si in multe privinte asemanator cu o aplicatie desktop.

Evident ca in continuare exista diferente majore intre cele doua tipuri de aplicatii.
In ceea ce priveste aplicatiile desktop, avantajele incep sa nu mai fie intr-atat de importante.
Daca pana acum era important sa poti sa lucrezi offline, existand ca si conexiune de internet doar dial-upul in care orice minut in plus insemna un cost aditional, acuma nu prea mai este cazul de asa ceva, conexiunile fiind permanente.
Dezavantajele aplicatiilor desktop sunt faptul ca trebuie instalate, de cele mai multe ori trebuie sa ai privilegii de administrator pe sistem ca sa le poti instala, si nu sunt accesibile decat pe statia respectiva in general. Sigur exista si varianta de a te conecta remote (la distanta) dar asta presupune ca statia sa fie deschisa deci apar alte inconveniente.
Ceea ce ramane specific aplicatiilor desktop este accesul la resursele calculatorului. O aplicatie desktop se poate folosi de toate librariile sistemului, la care o aplicatie web, din motive de securitate, nu are acces.

In concluzie este clar ca aplicatiie web castiga teren, ele oferind mult mai multa flexibilitate si o accesibilitate sporita, dar in continuare cele mai puternice aplicatii vor fi cele desktop, rulate local.

Urasc Flash-urile

Daca ma deranjeaza ceva mai mult decat orice la un site este sa vad fel de fel de filmulete Flash tasnind in mijlocul paginii. Sunt absolut deranjante si agresive. Inteleg notiunea de publicitate dar uneori intrec masura. Un Flash poate dinamiza pagina, ii poate spori functionalitatea si poate creste gradul de interactivitate cu utilizatorul. Dar atunci cand acopera o mare parte din articol si refuza sa dispara cand apesti obsesiv pe salvatorul X, devine un motiv foarte intemaiat de a parasi site-ul. Orice am face in numele marketing-ului nu trebuie sa uitam de ca utilizatorul nu cauta pe paginile noastre publicitate, ci informatii.
Si daca in schimb gaseste un filmulet sacaitor, nu va pune cu siguranta url-ul nostru ca bookmark.

DIV sau TABLE

Pentru un vizitator comun ale unor pagini web o asemenea problema este total neinteresanta. Ba mai mult, exista probabil multi detinatori de site-uri care nu inteleg natura unei astfel de discutii: atat timp cat pagina arata asa cum se doreste, ce conteaza ce e in spatele ei? Exista un excedent de putere de calcul sau de transfer in internet care exclud chiar si ideea de optimizare...
Ei bine, am avut ocazia sa ma conving ca browserele vad o diferenta intre cele doua metode. O structura complexa a paginii va determina folosirea excesiva a tabelelor imbricate (nested tables). Aceste lucru se reflecta se pare nu doar in viteza de interpretare a codului HTML ci si in modul in care IE isi face cache-ul local. Pur si simplu dand Back pe o pagina aceasta "explodeaza", copia locala fiind corupta. Solutia pentru rezolvarea acestei situatii a fost, evident, rescrierea paginii folosind divuri, caz in care browserele se comportau impecabil.
Asadar, un mic sfat, daca pagina voastra are un grad mare de complexitate (sau va avea pe viitor) renuntati din start la tehnica "tabele in tabele".

luni, 10 noiembrie 2008

Analiza unei comunitati web

Acesta a fost subiectul primei teme la IOM.. Mi-am dat seama imediat ca nu este ceva asa complicat precum suna: trebuiau extrase doar niste link-uri din pagini web sau XML-uri, pe post de prieteni sau fani.
Primul pas.. sa caut o aplicatie, cat se poate de rapid, fiindca nu e timp de pierdut. M-am oprit la Yahoo 360. Pagina parea destul de simpla: comentarii, prieteni, id-uri utile sa poata fi parsata repede. Dar surpriza.. SAX parser insira o groaza de erori deoarece paginile nu erau validate. Google peste Google, dar degeaba.. nu am gasit nicio metoda sa determin parserul sa ignore problemele de sintaxa HTML.
Mi-au venit in cap doua solutii: sa validez intreaga pagina folosind o librarie jar ce trebuia atasata proiectului sau, mai interesant, sa gasesc eu o solutie direct pe codul HTML. Am ales sa parsez cu SAX doar anumite portiuni din pagina web care ma interesau. Citind linie cu linie fluxul de text am corectat pe aceste portiuni cele cateva probleme de validare: tag-uri img invalide, atribute neinchise in ghilimele etc. Si, spre bucuria mea, a mers..
Care ar fi concluzia? Ce fel de anagajati are Yahoo care scriu un cod HTML atat de oribil? Tocmai ei care gestioneaza un motor de cautare... Surprinzator totusi...

joi, 6 noiembrie 2008

Poza Zilei

vineri, 24 octombrie 2008

AJAX

AJAX este o prescurtare pentru Asynchronous JavaScript and XML. (Nu, nu este echipa de fotbal). Conceptul AJAX cuprinde un ansamblu de tehnologii printre care numaram: HTML sau XHTML, CSS, JavaScript, XML.

De ce AJAX?

Traim in secolul vitezei, iar acest lucru se simte in toate aspectele vietii noastre cotidiene, inclusiv cand vine vorba de navigatul paginilor web. Pentru a imbunatati interactiunea utilizatorului cu pagina web, a fost dezvoltata aceasta tehnologie al carei scop este cresterea rapiditatii si interactivitatii paginilor web.
Majoritatea paginilor web sunt lente din cauza reincarcarii lor. Daca a fost schimbata o setare, pagina trebuie reincarcata, iar acest lucru presupune transmiterea unui set foarte mare de informatii redundante. Pentru a rezolva aceasta problema, AJAX faciliteaza schimbul in fundal al unor cantitati mici de date cu serverul, astfel incat, singurele date reincarcate sunt cele modificate.
Un exemplu al implementarii acestei tehnologii il ofera chiar prietenii nostri de la google prin Google Earth.
Welcome to web 2.0

joi, 23 octombrie 2008

Informatii complete despre tehnologia web

    Acest blog isi propune sa dezbata cele mai interesante probleme legate de tehnologiile care stau la baza internetului. Diverse articole, legate de web design pana la unelte de programare sofisticate, vor incerca sa va indrume in alegerea solutiilor optime pentru proiectul vostru.
    Blogul va functiona in paralel cu site-ul http://www.interfeteweb.eu care va oferi informatii obiective, tehnice despre programarea web.