De ce Web 3.0 nu va fi suportat de HTML5

OK, hai să pornim cu începutul. HTML este un limbaj de programare în care sunt afișate paginile web. Practic, astăzi paginile web pot fi scrise în aproape orice limbaj de programare existent, în pentru a fi afișate/ interpretate corect, rezultatul procesării, indiferent de limbajul în care a fost scrisă aplicația de generarea a paginilor web, trebuie să respecte standardele HTML/ XHTML definite de World Wide Web Corporation.

Standardul actual se bazează pe prima versiune de HTML (HyperText Markup Language) care era mai de grabă orientat spre afișarea conținutului care a fost extins cu o parte din specificațiile XML (eXtensible Markup Language) care oferă și anumite facilități de procesare automată. Deci este un fel de hibrid.

Web simplu, poreclit și Web 1.0, este specific internetului anilor 1991 – 2000 când organizarea sa era mai de grabă specifică unei biblioteci, în care fiecare website era o carte. Ca în imaginea următoare. Pentru ca Web 1.0 să fie mai ușor de înțeles, l-ar aranjat ca și acum ar fi fost o serie de fișiere și foldere pe hard disk. Săgețile albastre indică legături de tip hyperlink între un obiect din pagină (cuvânt, expresie, imagine, fișier multimedia, orice altceva) și o pagină aflată undeva pe un alt server. Din motive de simplitate, am preferat să nu arăt linkul mergând spre documentul de pe server, ci spre server, simplificând prezentarea.

Apoi a apărut web 2.0, cu o organizare informațională orientată mai de grabă spre grup, astfel că informația era/ este distribuită și prin mijloace de social media (prin viu grai, de la om la om, pe baza relațiilor de afiliere, etc), ca în imagina în care se observă cum într-un articol avem un link spre conținutul generat de un utilizator, care articol este împărțit, mai departe, de un alt utilizator, crescând penetrarea acelui articol și a linkului din articol.

Se observă deja că relațiile sănătoase sunt date de obiecte de conținut înrudit (un articol despre Mesopotamia va linkui cel mai bine spre un alt articol despre Mesopotamia). Interesant la Web 2.0 este că distribuția conținutului se face atât transparent față de utilizatorul care l-a generat, prin site-urile de socializare și prin grupuri de pe site cărora generatorul de conținut nu le aparține, cât și prin metode netransparente, controlabile și măsurabile (de exemplu prin profilul utilizatorului).

Apoi, la ușă bate Web 3.0. Cel puțin la  nivel teoretic Web 30 este o sumă de entități (pagini, imagini, sunete etc) strâns legate între ele prin unități informaționale. Să pornim de la cel mai evident exemplu și anume cartea mea de vizită:

Nume: Molnar Robin Nicolae

Adresa: Cluj Napoca

Telefon: 0723…

Blog: www.robintel.ro

În era Web 3.0 se va putea face automat asocierea:

Molnar, adică morar în maghiară, cu link pe cuvântul Molnar spre un motor de căutare Web 3.0 (care este mai de grabă un integrator de informații) ce va avea rezultate spre: limba maghiară, morar, morărit și alte asemenea.

Robin – clar link spre Robin Hood, Sherwood, Robert etc.

Nicolae – evident, sfântul, cu variațiuni (Nicholaus, Nicholaas), informații despre obiceiul românesc de a pune și prenume de sfinți.

Cluj Napoca – link spre o pagină ce cuprinde o serie de informații despre oraș (hartă, date demografice, reclame la hoteluri, restaurante etc), istoric, Transilvania, România, Balcani.

Blog: date generale. De fapt, partea asta este foarte importantă pentru că dă formă relației dintre dintre mine și articolele mele și, într-un context mai larg, mă poate defini ca sumă de entități informționaled:

  • Molnar Robin Nicolae are adresa www.robintel.ro
  • Se semnează cu pseudonimul Robintel
  • A scris X+1 articole pe blog împărțite în… categorii și… etichete
  • Are Y+1 poze pe site
  • Are o cantitate de Z+1 obiecte multimedia pe siteâ
  • Prin blogroll este asociat cu…
  • A comentat pe un număr de… bloguri, el spunând… vizavi de (link spre pagina obiectului cu pricina).

Evident, Web 3.0 va pune grave probleme în ceea ce privește intimitatea individuală – voi reveni la asta într-un alt articol, că e interesant (până acum nimeni nu și-a pus problema asta). Deci Web 3.0 este un labirint de legături informaționale între varii obiecte de pe pagină, iar fundamentul Web 3.0 va fi în continuare linkul.

Citind specificațiile HTML 5 (încă nedefinitivate), din păcate n–am văzut o reflectare a legăturilor informaționale din Web 3.0 în acesta. Uitați aici partea despre linkuri. No, acum eu vin cu propunerea ca în linkuri să fie introduse și niște atribute speciale care să fluidizeze relaționarea diverselor forme de conținut, de la diverși utilizatori. Ca în exemplul următor:

Astfel, pe lângă atributul target sau title , ar trebui să fie posibil să legăm un obiect, să zicem un cuvânt de pe pagină cu rezultatul unui formular completat. De fapt, acum nu poți, în mod facil, completa un formular pe un site pentru a-l trimite spre procesare printr-un link. Să luăm cazul de mai sus, cu un formular de login care te întreabă username-ul și password-ul (utilizator și parolă).

De exemplu, în cazul Apache și SimpleAuth, acele informații sunt transmise sub forma unor metainformații auxiliare cererii de acces la un fișier, adică nu sunt transmise prin link, ci sub forma unei cereri speciale. Ideea mea vizavi de Web 3.0 este ca accese cereri speciale să poată fi împărțite sub forma unui link, fără a face public numele de utilizator și parola, ci doar niște hash-uri care, la fel ca în cazul certificatelor SSL, sunt considerate key publice.

Evident, nu prea e de interes să transmiți un formular de login printr-un link, dar este de interes să scrii undeva un articol protejat cu parolă iar în link să fie trecute niște informații care să permită accesul, astfel încât doar prietenii să aibă acces la acel articol prin acel URL special, sau un singur om sau toată lumea, după preferințele setate în browser.

Sigur, pentru asta trebuie ca browserul să aibă integrate funcții de generare a linkurilor în funcție de preferințele utilizatorului vizavi de intimitate, pentru că linkul pentru prieteni diferă de cel public (articolul neavând credențiale nu va putea fi accesat). Evident, acest lucru ar putea permite o experiență extrem de personalizată și de unică pentru fiecare utilizator, protejându-i, la cerere, identitatea. Dar în primul rând drepturile.

Și, ca să revin și să încep să închei, ar fi o idee bună, după părerea mea, ca în definițiile unor linkuri în HTML 5 să fie introduse și anumite atribute care să permită un anume grad de prelucrare ca la XML (XML parsing). Epoca în care informația trebuia doar afișată a trecut de ceva vreme.

Plus că merge și compatibilitatea înapoi (backwards compatibility) în browserele pre-Web 3.0. De exemplu prin definirea unor valori meta în documentul HTML care, prin niște scripturi Java sau ce-o fi, permită refacerea cererii prin URL, cu un header special. De exemplu:

Din HTML 5:

<html>

<head>

</head>

<body>

<a href="http://somesite.com" target="_blank" title="Quote from Some Site" rel="nofollow" ameta="quote" quote="Lorem ipsum dolor sit amet, consectetur adipiscing elit." quote="isvisible">Quote</a>.

</body>

</html>

În HTML 4.X:

<html>

<head>

<meta name="quote.1.name" content="quote" />

<meta name="quote.1.cdata" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />

<meta name="quote.1.isvisible" content="true" />

</head>

<body>

</body>

</html>

Da, am lăsat afară codul de incluziune pentru scriptul Java care va reface cererea în modul de compatibilitate inversă (pre-Web 3.0), ca să nu aglomerez codul. În fine, sper că acum s-a înțeles de ce este nevoie de atribute speciale la linkuri și de ce câtă vreme acestea nu există, nu putem vorbi despre Web 3.0, cea mai performantă unealtă construită vreodată de om.

După șase ore de scris la articol mi-a căzut serverul. Să mor, nu alta.

3 Comentarii

  1. Mihai Todor 20 decembrie 2010 la 12:00 - Raspunde

    Erata:
    "HTML este un limbaj de programare" – De fapt este un [url=http://ro.wikipedia.org/wiki/HyperText_Markup_Language]limbaj de marcare[/url] si nu prea are nici o legatura cu programarea…

    "World Wide Web Corporation" – Consortium nu Corporation 😉

    "Săgețile albastre indică legături de tip hyperlink între un obiect din pagină" – De fapt sunt rosii in prima poza 😛

    Referitor la acel script Java, mentionat de tine, deoarece HTML5 ar trebui sa fie valid din punct de vedere XML, cea mai buna solutie ar fi folosirea XSLT-urilor in locul unui parser chior 😉

    PS: Sa inteleg ca tu scriai articolul direct in interfata web, fara vreun backup? 😆

    • Robin Molnar 20 decembrie 2010 la 21:24 - Raspunde

      =D Să le luăm pe rând.

      1. Un formular HTML este mai mult decât o chestie statică.

      2. Corect.

      3. Deh, oboseala.

      4. Da., ar fi o chestie, dar nu știu câtă compatibilitate inversă oferă soluția asta.

      • Mihai Todor 21 decembrie 2010 la 03:11 - Raspunde

        1. Să zicem, deși…
        2. 😉
        3. 😀
        4. Destul de 🙂 XSLT-ul a apărut de ceva vreme, deși standardul 1.0 e destul de sărăcăcios 😛

Lasa un raspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Vreau să fiu părtaș la faptă. Poți, de asemenea, să fii părtaș și fără martori.

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.