marți, 30 decembrie 2008

Cele mai accesate site-uri de stiri

Potrivit Business Standard, pe prima pozitie se afla gsp.ro (site-ul gazetei sporturilor), urmat de celalalt ziar sportiv Pro Sport, urmat de tabloidul Libertatea, Evenimentul Zilei si Jurnalul national. Semn ca romanii sunt foarte atrasi de fotbal si de scandal.
Pe langa aceste variante electronice ale unor ziare s-au facut remarcate si unele publicatii online cum ar fi Hotnews.ro, 9am.ro, Ziare.com, Ziare.ro si Wall-Street.ro.

luni, 29 decembrie 2008

Second Life (partea II)

Avatarele pot comunica prin chat local sau mesagerie instanta. Chat-ul este folosit in spatii publice intre 2 avataruri care se intalnesc pe strada; range-ul de avataruri care pot comunica este dat de zona geografica.IM este folosit pentru conversatii private, fie intre 2 avataruri fie intre grupuri de persoane, sau intre obiecte si avatar-uri. Spre deosebire de chat, la IM nu este limitat de o zona geografica. In versiunile mai noi este disponibil si voice chat-ul prin microfon. Deasemena avatarurile si obiectele pot primi mail-uri.

In universul Second Life se disting mai multe tipuri de subculturi, create de utilizatori. Avatarurile pot lua anumite forme predefinite cum ar fi androgin, furry, roboti sau creaturi fantastice cum ar fi dragoni. Unii rezidenti pot da viata unor lumi bazate pe Roma antica sau Japonia medievala. Utilizatorii pot intra si iesi din aceste lumi dupa bunul plac. Conform drepturilor asupra proprietatii virtuale, creatorii acestor lumi ii pot exila pe cei care nu se supun unor anumite reguli de vestimentatie, de limbaj etc. Mai sunt prezente lumi inspirate din literatura, cum ar fi Dune, Gor sau din jocuri gen Final Fantasy. Unele subculturi se invart in jurul unor evenimente.

Exista un mecanism built-in pentru grupuri. Fondarea unui grup costa 100L$, care mai apoi are 3 zile timp pentru a gasi inca un membru. Un grup are nevoie de cel putin 2 membri pentru a putea ramane activ. Grupurile de care apartine fiecare rezident sunt afisate in profil si sunt un mod de exprimare,si faciliteaza comunicare intre membri. Un utilizator poate fii membru in 25 de grupuri simultan. Activitatea de grup este deobicei centrata in jurul unui anumit interes. Grupurile au drept de ownership asupra unor resurse sau terenuri/cladiri, apropiindu-se foarte mult de o corporatie in SL. Exista foarte multe bloguri pe care utilizatorii isi pot povesti aventurile din SL mai in detaliu decat cele din first life.

sâmbătă, 27 decembrie 2008

Second Life (partea I)

Second life este o lume virtuala lansata in 2003 de Lindan Lab, accesibila numai prin internet. Un program client, SL Viewer permite utilizatorilor, rezidentii, sa interactioneze prin intermediul unor avataruri. Rezidentii pot explora, se pot cunoaste intre ei, socialize, participa la activitati individuale sau de grup, pot crea si face comert cu propietati virtuale, isi pot oferi unul altuia servicii,, pot calatorii in jurul lumii. SL este rezervat utilizatorilor peste 18 ani, exista insa si un Teen Second Life pentru utilizatorii intre 13 si 18 ani.
Rezidentii beneficiaza de unelte prin care pot construi obiecte virtuale. Asta poate fii folosit in combinatii cu un limbaj de scripting pentru a daugat functionalitati obiectelor create. Mai pot fi utilizate de asemenea softuri externe pentru texturi pentru haine sau alte obiecte, animatii si gesturi. Utilizatorii primesc automat drepturi de autori pentru content-ul creat de ei.
Jocul foloseste o moneda interna numita Linden dollar care poate fi folosita pentru a face comert cu bunuri, cu terenuri sau pentru a oferi servicii altora. Bunurile virtuale includ cladiri, vehicole, dispozitive de toate felurile, animatii, articole de imbracaminte, flora si fauna sau opere de arte. Pamantul in second life este foarte valoros si poate fii cumparat, vandut sau inchiriat. Utilizatorii pot deasemenea oferi obiecte sau servicii altor utilizatori in schimbul L$ ; serviciile include munca in magazine, managementul afacerii, destindere (deobicei destinata adultilor), creare de continut. L$ pot fii cumparati de la alti utilizatori pe bani reali. In ciuda reclamelor in presa de specialitate, un procentaj foarte mic de jucatori scoate bani din joc. Second life are acum aprox 15milioane de utilizatori.
Desi jocul este gratuit, rezidentii pot plati abonament in schimbul unui cont premium (9.95$), primind support tehnic si 300L$ pe luna. Avatarul de baza este om, dar poate fii de orice sex, sa aiba o arie larga de atribute fizice. Unele servicii il forteaza pe utilizator sa isi dea anumite date personale, cum ar fi adresa, nr de tel etc. O persoana poate avea mai multe conturi.

duminică, 7 decembrie 2008

Google Earth


Google Earth este un program pentru navigarea si generarea de harti si locatii geografice. Maparea este realizata prin super-pozitionarea de imagini obtinute prin satelit, poze facute de la inaltime ( baloane cu aer cald, turnuri, avioane, elicoptere, dirijabile, deltaplane) si GIS (Geographic information system).
Google distribuie 3 variante diferite ale produsului : una gratuita cu features limitate, Google Earth Plus (20$ pe an) si varianta Pro (400$) destinata firmelor si este disponibil pe numeroase platforme, de la Microsoft Windows 2000, XP, Vista, Mac OS X de la 10.3.9 in sus, Linux, FreeBSD, ca plugin de Firefox sau IE6/7, pana la iPhone OS(gratuit).
Google Earth afiseaza imagini din satelit ale suprafetei terestre la diverse rezolutii , permitand utilizatorului sa vada orase si case printr-un ochi de vultur. Limita pana la care se poate folosit zoom difera in functie de popularitatea zonei, Google preferand sa se concentreze pe zonele des cautate.
Google Earth foloseste date colectate de NASA Shuttle Radar Topography Mission pentru a crea imagini 3D ale unor zone geografice cunoscute, cum ar fi Mount Everest sau Grand Canyon. Este posibila extinderea la cladiri cunoscute sau poduri si chiar orase, insa este necesara desenarea lor in softuri specializate de catre utilizatori. Deasemenea, folosind un plug-in similar cu Google Sky putem vedea diverse constelatii, folosind echipamentul Institutului de Cercetare Baltimore, mai precis telescopul spatial Hubble.

luni, 24 noiembrie 2008

iGoogle

iGoogle este un serviciu google, un portal bazat pe AJAX, lansat in mai 2005. Este o alternativa la Netvibes, Pageflakes, My Yahoo !, Live.com si Windows Live Personalized Experience. iGoogle este disponibil in 42 de limbi, avand peste 70 de nume de domeniu.
Gadget-urile au un rol aparte pe pagina personala. iGoogle ofera utilizatorului capabilitatea de a adauga optiuni cum ar fi web feeds sau Google gadgets( aceleasi ca cele disponibile pentru Google desktop, similare cu cele pentru Windows Vista). Aceste gadget-uri interactioneaza cu utilizatorul si ii dau posibilitatea sa foloseasca un API care este public si permite dezvoltarea de gadget-uri proprii. Deasemenea iGoogle pune la dispozitie utilizatorului un wizzard prin care se pot crea gadgets care sa poate fii puse la dispozitia familiei si a prietenilor. Aceste gadget-uri sunt de urmatoarele tipuri :

• "Framed Photo" – afiseaza o serie de fotografii cu rame
• "GoogleGram" – creaza mesaje zilnice
• "Daily Me" – similar cu un avatar, afiseaza starea sufleteasca a utilizatorului ?
• "Free Form" – permite utilizatorului sa introduca text si o imagine la alegere
• "YouTube Channel" – afiseaza videoclipuri de pe Youtube pe pagina
• "Personal List" – lista personala
• "Countdown" – cronometru

Cu iGoogle, iti poti seta teme unice pentru pagina principala.Aceste teme sunt interactive si se adapteaza la anotimp, perioada a zilei etc. Unele teme pot contine Easter eggs, de exemplu in « Beach» apare monstrul din Loch Ness sau in "Sweet Dreams" apare un Pi facut din stele la ora 3:14, altele includ gazulite sau animale care se plimba pe ecran sau buddy icons.
In varianta romaneasca, putem seta de exemplu : stiri, stiri din sport, ziare, agentii de stiri, dictionar, meteo, calendar, curs valutar, indici bursieri, integrame si jocuri, horoscop, meciuri live, rezultate sportive, gmail, mail yahoo, motor de cautare google, inclusiv pentru poze, toate in limba selectata. Asezarea lor pe pagina este lasata la latitudinea utilizatorului.

luni, 17 noiembrie 2008

Google Analytics

Google Analytics (abreviat GA) este un serviciu gratis oferit de Google care genereaza statistici detaliate despre vizitatorii unui site web. Cel mai bun feature este ca produsul este orientat spre marketing, spre deosebire de cele orientate catre webmasteri si profesionisti din care se dezvoltase initial industria de analize web.
GA poate urmari vizitatori de pe site-uri referente, motoare de cautare, ad-uri publicitare, retele pay-per click, marketing prin e-mail, sau link-uri din fisiere PDF. El poate fi deasemenea integrat cu AdWords. Folosind analize GA, paginile cu performante scazute pot fi identificate, efolosind tehnici de vizualizare, unde poti vedea vizitatorii veniti de pe site-uri referente cat au stat si locatia lor geografica. Contine de asemenea mai multe facilitati pentru segmentarea vizitatorilor dupa diverse criterii alese. Putem vedea ce ad-uri dau randament si care nu, ceea ce de posibilitatea de a efectua modificari intr-o campanie de publicitate. GA foloseste cod JavaScript care trebuie adaugat pe fiecare pagina a site-ului. Acest cod functioneaza ca un emitator care colecteaza datele vizitatorilor anonimi si le trimite la serverele de colectare google pentru procesare, ce are loc la cateva ore. Codul JavaScript, Google Analytics Tracking Code (GATC), instaleaza cookies pe calculatorul fiecarui vizitator, care vor retine informatii precum: daca este prima vizita sau nu, cat timp a stat pe site si care a fost site-ul de referinta de pe care a intrat vizitatorul (sau e-mail, motor de cautare, cuvant cheie, banner etc).
Functionarea GATC poate fii perturbata de programme de filtrare a ad-urile sau extensii de browser Firefox AdBlock si NoScript. Acest lucru impiedica o parte mica din trafic si creeaza goluri in fluxul de date colectate. Cel mai mare impediment consta insa in dezactivarea cookie-urilor sau stergerea lor. In afara de ultimele aparitii din domeniu, GATC are dificultati pe dispozitive mobile gen PDA sau Smart Phones.

joi, 13 noiembrie 2008

Drumroll....

Se apropie momentul in care voi face upload la primul tool oferit de ifaceWebber. Acesta este un crawler scris in python care analizeaza comunitatea blogger-ilor si pornind de la un anumit blog genereaza relatia de cunostiinte pe baza blogroll-ului. In momentul de fata crawler-ul recunoaste bloguri WordPress si Blogger dar poate fi foarte usor extins.

Ce metoda mai buna exista de a testa un asemenea utilitar decat de a-l rula pe blogul propriu. Aici aveti un tabel cu ce bloguri sunt accesibile din blogul nostru.

miercuri, 12 noiembrie 2008

Pagini web valide, si nu prea...

La fel ca si postul meu anterior e vorba de ceva "istoric" la mijloc. In trecut HTML impunea destul de putine restrictii in modul de utilizare a tag-urilor. Astfel fiecare pagina era creata in diferite moduri, iar browser-ele incercau sa afiseze cat mai bine paginile cu pricina. Astfel aceeasi pagina poate arata diferit in browsere diferite.

Standardele ulterioare (atat HTML cat si XHTML) au incercat sa repare acest neajuns impunand niste reguli mai stricte in ceea ce priveste structura unui document HTML. Compatibilitatea inapoi forteaza toate browser-ele sa fie capabile sa afiseze inca pagini de genul urmator, chiar daca ele nu mai sunt valide de mult:

<html>
<head>
<title> Hello World</title>
<body>
<b><i>Lorem ipsum</i></b><i></i>
dolor sit amet
</html>

Un parser care trebuie sa interpreteze standarde HTML mai vechi este dificil de realizat, deoarece tehnologiile folosite la parsarea unui document XML nu pot fi aplicate.

Vesti bune?
  • W3C pune la dispozitie un validator online la standardele actuale.
  • Pentru a usura tranzitia exista mai multe tipuri de HTML
    • strict.dtd - cel mai restrictiv tip, elimina cele mai multe elemente de prezentare
    • transitional.dtd - tip de document in care permite elemente legate de prezentare
    • frameset.dtd - folosit pentru pagini cu frame-uri
  • Multe framework-uri disponibile azi (WordPress, Joomla, etc.) genereaza cod valid (X)HTML
  • Exista o librarie care permite "curatarea" unui document invalid. Aceasta librarie poate fi folosita in mai multe limbaje de programare (C\C++, Perl, Python, PHP, etc.)
Vesti rele?
  • Mai exista in continuare o multitudine de site-uri actuale care nu sunt valide.
  • Chiar daca framework-urile mai sus mentionate genereaza cod valid, utilizatorul poate introduce in paginile generate cod invalid, invalidand astfel intreaga pagina.
  • Multi "programatori web" nu au habar de aceste standarde, sau depun prea putin efort in respectarea standardelor cand creaza un nou site.
Va mai dura multa vreme pana cand majoritatea site-urilor vor fi valide, pana cand programatorii web vor pune cu adevarat accentul pe respectarea standardelor, sau pana cand utilizatorul de rand (de exemplu un blogger) va intelege ca este bine sa verifice atent toate codurile/scripturile pe care le baga in paginile sale.

Later edit: Ca o curiozitate nici acest blog nu este valid si este din vina framework-ului blogger sau a template-ului ales.

luni, 10 noiembrie 2008

Ce alegem SAX sau DOM?

In cele ce urmeaza voi incerca sa raspund la cateva intrebari care, sper eu, sa ne ajute sa intelegem mai multe lucruri despre DOM si SAX. So let’s begin:


De ce au fost construite ambele?

SAX(Simple API for XML) si DOM(Document Object Model) au fost ambele concepute cu scopul de a permite programatorilor sa-si “manevreze” informatiile fara a fi nevoie de scrierea unui parser in cadrul limbajelor de programare (ales de catre acestia). Avand informatiile in format XML si cu ajutorul api-urilor de la SAX sau DOM, programul este liber sa foloseasca ce parser vrea. Acest lucru este posibil doar daca asa numitii “scriitori de parser” implementeaza api-urile SAX/DOM in unul din mutiplele limbaje de programare care permite acest lucru: Java, C++, Perl, Python etc.

So, dupa cele spuse mai sus, ne putem da seama ca scopul celor doua este comun. Acum urmarind acelasi tel, fiecare in parte: SAX/DOM are caracteristicile sale.


Ce este DOM?

DOM-ul (Document Object Model) ofera accesul la informatiile stocate in documentul XML sub forma unui graf; astfel el creaza un arbore de noduri (bazat pe structura si continutul din XML) si accesarea la informatii se face prin “interactiunea” cu acest arbore. Textul din documentul XML este “transformat” in mai multe noduri. Desi DOM ne obliga intr-un fel sa folosim un modelul arborelui,XML se comporta foarte bine avand in vedere ca si el are o structura arborescenta. Astfel ca DOM poate stoca informatiile intr-un arbore indiferent de tipul acestora(tabele sau o simpla lista). In DOM, de fapt fiecare nod retine o alta lista de nodurii. Aceste noduri-copii pot contine valori sau pot fi alte referinte catre alte noduri. La prima vedere pare inutil accesul la o valoare a unui nod cautand in lista de copii ai nodului. Daca elementul nodului ar reprezenta doar o valoare atunci putem spune ca nu are rost aceasta cautare, dar de obicei elementele contin date text si alte elemente. Acum am ajuns la un aspect nu prea placut in ceea ce priveste DOM-ul si anume faptul ca necesita “extra work” doar pentru a accesa valoarea unui element dintr-un nod.


Ce este SAX?

Fata de DOM, SAX (Simple API for XML) ofera acces la informatiile din documentul XML prin intermediul unei secvente de evenimente. Cum poate fi acest lucru util? SAX nu a ales sa creeze un obiect Java (default) pe XML (cum a facut DOM) dar are nevoie de urmatoarele:crearea unui astfel de obiect propriu, cat si a unei clase care “asculta” evenimente SAX si care practic creeaza un model al obiectului. Acestea duc la un SAX cat mai rapid cu cat modelul obiectului este mai simplu bineinteles.

Acum sa vedem cam ce fel de evenimente sunt declansate de catre parser-ul SAX. Pentru fiecare tag deschis si inchis SAX produce un eveniment; de asemea dispune de “events” pentru sectiunile #PCDATA si CDATA. Ideea este ca handler-ul nostru trebuie sa interpreteze aceste evenimente cat mai bine posibil. In plus, SAX poate ajuta la convertirea datelor din formatul arborescent DOM in alt format mai comod, iar pentru parsare nu este necesar a se memora intreaga informatie XML ci numai partile dorite.


Care e legatura dintre DOM si SAX?

In momentul de fata, DOM si SAX sunt cele mai populare API-uri pentru manipularea documentelor XML. Dupa cum am vazut mai sus, cele doua difera in provenienta, scop, stil de programare si amandoua au atat puncte bune cat si puncte slabe. Cele mai importante diferente dintre cele doua sunt ca SAX prezinta documentul ca un “event stream” serial (o serie de apeluri la o functie handler, pe masura ce parti din sintaxa XML sunt recunoscute), si nu ca un arbore, cum o face DOM. Acesta este un dezavantaj din punct de vedere al abordarii deoarece SAX nu suporta random-access.

Totusi, in functie de ce vrei sa faci, SAX nu consuma intotdeauna mai putina memorie, plus ca implementarile DOM variaza in cerinta de memorie, cum variaza si in marime si performanta. Si am ajuns la urmatoarea curiozitate (sper):


Cum alegem intre evenimente SAX si DOM trees?

Daca intentionam sa folosim alt cod, script-uri, etc., sa modificam continutul documentului the wise choice ar fi DOM, fiind standardizat si complet. Pe de alta parte, daca avem nevoie sa procesam documentul in mod linear, fara a folosi scripturi si fara sa ai nevoie de informatie contextuala la fiecare etapa, SAX poate oferi o interfata mai ‘directa’. Destul de important e sa ne gandim de cat efort e nevoie sa implementam propriul model document (in loc sa folosim DOM) si cat si cum se va dezvolta aplicatia in viitor.

Si daca nu stii si nu stii cum sa te hotarasti pentru ca esti mai nedecis din fire… mai exista o alternativa si anume combinarea celor doua in acelasi sistem intrucat multe parsere pot produce output DOM si SAX; si exista multe aplicatii care le combina in diferite moduri.

duminică, 9 noiembrie 2008

Interfete evoluate

Interfete evoluate se refera (la tehnologiile folosite pentru realizarea paginilor web. Tehnologii precum: XML, DTD, XML Patterns, XML Schema, XHTML, CSS, XPATH, XQUERY, XML Programing (cum ar fi DOM si SAX), JavaScript, AJAX, XSL, WebML, Flex, XFORMS, RDF, OWL.

XML(eXtensible Markup Language) este un limbaj de structurare a datelor recomandat de W3C pentru a facilita transferul de date intre diverse aplicatii pe internet. Familia XML contine : XHTML, RDF, RSS, MathML, SVG, OWL.

DTD(Document Type Definition) este un limbaj folosit pentru a defini structura unui document XML. Odata definita structura fisierelor XML, vor putea fi validate utilizand DTD. Intr-un fisier DTD putem defini elemente XML, atribute sau restrictii simple referitoare la tipul sau cardinalitatea lor. Un DTD poate fi declarat ininteriorul documentului XML sau ca referinta externa.

XML Patterns
– un pattern, asa cum a fost descris de Christopher Alexander, este o regula cu trei parti care exprima o relatie intre un anumit context, o problema si o solutie. XML a trecut de la a fi o tehnologie obscura la una folosita zilnic de catre SW designeri, asa ca pattern-urile au devenit o metoda excelenta de a pasa cunostinte de la experti la novici. Sa proiectezi o structura XML buna folosind DTD, W3C XML Schema sau RelaxNG nu este chiar usor, asa ca refolosirea de solutii este esentiala.

XML Schema
sau XML Schema Definition (XSD) descrie structura unui document XML si este o alternativa la DTD.

XHTML
(eXtensible HyperText Markup Language) este un limbaj de programare care preia atat capabilitatile XML cat si HTML.

CSS
(Cascading Style Sheets) este un standard pentru formatarea unui document scris intr-un limbaj de marcare. Utilitatea cea mai des intalnita este folosiea unui CSS este pentru a aranja pagini scrise in HTML sau XHTML, dar poate fi aplicata oricarui tip de document XML, inclusiv SVG sau XUL.

XPATH
(XML Path Language) este un limbaj de expresii folosit pentru a accesa port,iuni dintr-un document XML.

XQUERY
este recomandat de W3C pentru a permite interogarea documentelor XML si extragerea unor componente din acestea.

DOM
(Document Object Model) este un standard W3C (World Wide Web Consortium), independent de platforma si de limbaj pentru reprezentarea unor formate HTML sau XML.

SAX
(Simple API for XML) este un API, similat cu DOM, facut sa citeasca si sa interpreteza fisiere XML. SAX nu este insa un standard W3C, ci mai degraba unul ad-hoc si este open-source.

JavaScript este un limbaj de programare pe obiecte bazat pe conceptul de prototipuri. Este folosit pentru a adauga noi funct,ionalitati in paginile web, codul Javascript din aceste pagini va fi rulat de catre IE/Firefox. Intre Java si JavaScript nu exista dincolo de nume nici o legatura. Browserele memoreaza o reprezentare a unei pagini web sub forma unui arbore de obiecte, pe care il pun la dispozit,ie script-urilor JavaScript, care le pot citi si interpreta. Arborele de obiecte este numit Document Object Model (vezi mai sus).

AJAX
(Asynchronous JavaScript and XML) este un set de tehnici de dezvoltare a aplicatii web, raspandit de Google. Cu AJAX o aplicatie poate accesa date in mod asincron in background fara a afecta datele afisate de pagina. In pofida numelui, nu este obligatorie utilizarea JavaScript si XML.

XSL
(Extensible Stylesheet Language) este o familie de limbaje de transformare, care iti permite sa formatezi si sa transformi o pagina codata in XML in alte formate cum ar fi HTML, XML, plain-text, sau PDF.

WebML
(Web Modeling Language) este o unealta grafica, UML pentru web, utila in cazul aplicatiilor foarte incarcate in date.

Adobe Flex
este o colectie de tehnologii lansate de Adobe Systems pentru dezvoltarea de aplicatii cross-platform bazat pe platforma Flash.

XFORMS
este un format XML pentru specificarea unor modele de procesare a datelor XML si a interfetei grafice pentru aceste date, cum ar fi web forms.

RDF
(Resource Description Framework) este un cadru pentru procesarea metadatelor, care trebuie sa fie utilizat ca o metoda generala de modelare a informatiei prin formate te sintaxa.

OWL
a fost creat pentru a oferi o metoda de procesare a continutul unei pagini web (nu doar afisare). OWL are trei sublimbaje:
  • OWL Lite
  • OWL DL (include OWL Lite)
  • OWL Full (include OWL DL)

Pe acest blog vom prezenta descrieri detaliate asupra acestor tehnologii, dar si al altora, care arata periplul echipei noastra prin universul interfetelor web.

joi, 6 noiembrie 2008

Comunitati web anyone?

Web 2.0 se bazeaza in principal pe interactiunea dintre utilizatorii internetului. De mult au apus zilele in care doar o mana de oameni isi puteau face un site pe internet. Azi oricine e la cateva click-uri distanta de a-si putea crea un site web personalizat cu continut dinamic. Simplitatea utilizarii web 2.0 a atras cu sine dezvoltarea unor comunitati online de mari dimensiuni. Toata lumea a auzit de cel putin una din urmatoarele comunitati: myspace.com, hi5.com, 360.yahoo.com.

Aceste comunitati virtuale pot fi un obiect foarte interesant de studiu deoarece ele modeleaza cu o acuratete ridicata comunitatile umane. In 1967 Stanley Milgram a elaborat un experiment cu ajutorul caruia a determinat ca lungimea medie a unui lant de relatii sociale este sase!!!

Deci eu + prietenii mei + prietenii prietenilor mei + .... prietenii (prietenilor) * 6 mei = marea majoritate a lumii. Milgram si-a desfasurat experimentul numai in Statele Unite.

Mai nou Microsoft a descoperit ca lungimea medie a unui lant de persoane ce foloseste MSN Instant Messenger (deci o comunitate web) este de 6.6. Oare cum se situeaza alte comunitati web la acest capitol? Unii useri myspace.com au sute/mii de prieteni in comunitate. Implicit lungimea unui lant social ar trebui sa fie mai scurta. Dar cat?

miercuri, 5 noiembrie 2008

Cate ceva despre mashup si API-uri

Cred ca toti am facut colaje atunci cand eram mici.De ce mi-am adus aminte de colaje? Pentru ca acestea reprezinta, in opinia mea, metafora pentru englezescul "mashup". In acest articol ma voi referi la mashup ca fenomenul central al erei Web 2.0.

Ce este de fapt un mashup? O pagina sau o aplicatie Web care combina date de la doua sau mai multe surse online externe unindu-le intr-o singura experienta integrata. Aceste surse externe sunt,de obicei, la randul lor Website-uri, utilizate pentru a obtine un mashup prin mijloace precum API-uri, feed-uri XML si screen-scraping. Cateva exemple de website-uri folosite consistent in crearea mashup-urilor sunt Google, eBay, Amazon, AOL sau Yahoo.

Dupa ce am vazut in ce consta un "mashup" sa ne amintim care este treaba cu "API-urile". Application Programming Interface este un set de functii pe care o aplicatie le pune la dispozitie pentu alte programe. Exista mai multe feluri de API-uri, cum ar fi API-uri ale sistemelor de operare, toolkit-uri API, API-uri pentru aplicatii, website-uri API. Mai nou, API-urile pot fi identificate cu anumite webservice-uri; astfel amazon.com ofera un set de "API-uri de retail" ce permit producatorilor sa creeze programe care sa utilizeze infrastructura sofisticata de retail online a Amazon.

La fel ca si Facebook, Google a lansat un set comun de API-uri ce se adreseaza dezvoltatorilor de aplicatii, precum si website-urilor care doresc sa-si imbogateasca serviciile oferite utilizatorilor prin adaugarea unor aplicatii gen widget-uri sau gadget-uri, care insa sa nu functioneze doar pe un anumit site, ci pe oricare dintre site-urile care vor folosi acest sistem.
Proliferarea de API-uri unice pe zeci de website-uri sociale obliga dezvoltatorii sa le aleaga pe cele pentru care vor scrie aplicatii-si apoi sa isi petreaca timpul scriindu-le separat, pentru fiecare in parte. OpenSocial,de la Google, ofera un set unic de API-uri de invatat,pentru ca aplicatiile lor sa ruleze pe orice website cu capacitati OpenSocial. Website-uri ce sustin OpenSocial: Bebo, Enage.com, hi5, Myspace, Oracle, XING, Ning, Viadeo. Pentru dezvoltatorii presati de timp si resurse limitate, este esential sa poata "sa invete o data si sa scrie oriunde" -sa invete o data API-urile OpenSocial, apoi sa construiasca aplicatii care vor functiona cu orice website cu capabilitati OpenSocial.

Intrarea MySpace in comunitatea site-urilor care vor adopta OpenSocial reprezinta un succes major pentru Google si o veste nu foarte buna pentru Facebook si Microsoft. Site-urile cu OpenSocial vor avea in acest fel un numar mult superior de utilizatori, ceea ce ar putea determina dezvoltatorii sa se concentreze pe realizarea de aplicatii pentru OpenSocial, in loc de Facebook. Exista de asemenea posibilitatea ca Facebook sa adopte API-uri le Opensocial pentru a fi compatibila cu celelalte platforme,dar asta ar insemna sa cedeze controlul platformei sale catre Google, un lucru mai greu de inghitit, in special de catre Microsoft.

Echipa platformei 51.com a anuntat lansarea suportului de OpenSocial de catre dezvoltatorul 51.com pe data de 18 octombrie. Promovarea live cu success a unui OpenSocial app numit Emote dezvoltat de RockYou a dus la lansarea celui mai mai mare site de retea sociala din China de pana acum. 51.com sprijina, in prezent, OpenSocial API-uri pentru accesarea de utilizator si de profil-uri si permite dezvoltarea de aplicatii cu ajutorul OpenSocial API JavaScript 0.7.

Pentru cei interesati in dezvoltarea de aplicatii OpenSocial, puteti sa va "aplicati" ideile pe 51.com developer Platform.51.com a inregistrat in prezent 130 de milioane de conturi de utilizator, cu un activ de utilizator de baza de 31.5 milioane de euro;utilizatorii petrec cam 41 de minute pe sesiunea, "incarca" aproximativ 10 milioane de poze, scriu cam 3 milioane de blog-uri si asculta in jur de 35 de milioane de melodii pe zi.
Cateva idei de incheiere ale acestui articol:
  • Mashup-urile par un subiect destul de incalcit la prima vedere, insa afland mai multe lucruri despre acest concept al universului "Web 2.0" observam ca functioneaza pe baza unui principiu foarte simplu si eficient.
  • Detinerea si utilizarea informatiei disponibile in mediul online devine cu adevarat libera prin tehnologia mashup-urilor.
  • Daca ar fi sa exprimam printr-un proverb spiritul liber al mashup-urilor in ceea ce priveste colaborarea pentru imbunatatirea eficientei, acela ar fi "Unde-s doi , puterea creste". Desigur ca un website care imprumuta aplicatii de la altele va rezulta in ceva cu totul nou si poate mai entuziasmant decat partile sale componente.
  • Unificare unor informatii pentru o viziune globala, exhaustiva este motorul mashup-urilor si acestea atrag din ce in ce mai mult atentia companiilor, nu doar a utilizatorilor pasionati.
  • Google a lansat OpenSocial, in luna noiembrie 2007, pentru a simplifica crearea si adaptarea aplicatiilor la site-urile de networking social prin intermediul unui set comun de API-uri; MySpace s-a inscris printre primii sustinatori ai proiectului.
  • Fundatia OpenSocial are un site Web, http://www.opensocial.org, unde dezvoltatorii si detinatorii de site-uri Web pot gasi ultimele specificatii, link-uri catre alte resurse si oportunitatea de a se implica

Hello World!

3...2...1... Pornim! Acesta este blog-ul ifaceWebber, o echipa de patru studenti care va produce diverse utilitare interesante din lumea interfetelor web. Blog-ul va prezenta diferitele stadii ale dezvoltarii utilitarelor. Acestea vor putea fi descarcate, gratuit si sub licenta LGPL de pe site-ul nostru principal http://ifacewebber.co.cc.

Echipa este formata din Andreea Serban, Mihnea Gheorghiu, Alexandru Petrencu si Teodor Stoenescu.

Deci nu uitati sa verificati periodic atat site-ul ifaceWebber pentru detaliile tehnice legate de proiecte, precum si blog-ul pentru a afla in ce stagii se afla proiectele, dificultatile pe care le-am intampinat sau orice altfel de noutati.