ajax anybody?

Jätkamaks pikaleveninud “härjavõitlust” ja tõestamaks eriti näitlikult sellise videote linkimise / embeddimise keelamatust (ning selgitamaks, miks ma teataval määral demagoogiasse laskudes olen nõus antud puhul embedimist linkimisega võrdustama) oleks vaja teha üks AJAX klient-server rakendus mis realiseeriks allstarz.ee lehelt mahavõetud funktsionaalsuse (st saab kusagilt mujalt striimitavat videot vaadata, hinnata, kommenteerida).

Õigupoolest võib see olla ka mitte-AJAX, tähtis vaid see, et video ei oleks otseselt veebilehe osa vaid kuvataks kasutaja arvutis jooksva programmi poolt. Seega midagi sellist:

  • minnes lehele X võtab sealt laetud javascript ühendust andmebaasiga mis sisaldab selgituste, hinnete ja kommentaaridega varustatud URLide nimekirja, kus selgitus on tüüpi “Bändi nimi: Laulu nimi” ja URL viitab netis avalikult kättesaadavale striimile, ühe URLi kohta võib olla mitu hinnet/kommnetaari
  • kasutaja brauseriaknasse kuvatakse nimekiri andmebaasist leitud lauludest koos hinnete ja kommentaaride arvuga (kui on)
  • kui kasutaja klõpsab laulu nimel tekitab javascript embedded player’i mis omakorda avab URLiga viidatud striimi, playeri all kuvatakse hinne, kommentaarid ja võimalus hinnata/kommenteerida
  • kasutajal on loo vaatamise ajal või pärast seda võimalik anda loole hinne ja lisada kommentaar, mille javascript edastab serverile

Kas keegi oskaja viitsiks valmis visata, piisab täiesti kui “andmebaas” sisaldab paari-kolme URLi ning välimus on megakole? Miskipärast ma eeldan, et selline prototüüp ei peaks võtma eriti üle sajakonna rea…

Täiendet: ilmneb, et miski pisifirma on just suutnud USAs patentide AJAXi, Flashi jne

Postitatud rubriiki Arhiiv, Foorum. Talleta püsiviide. Kommenteerimine ja trackback-viidete lisamine ei ole lubatud.

7 Kommentaarid

  1. Marek
    Lisatud 20. veebr. 2006 kell 17:09 | Püsiviide

    ma olen seda ammu-ammu tahtnud küsida. misasi on AJAX?

    • Priit
      Lisatud 20. veebr. 2006 kell 18:17 | Püsiviide

      Asynchronous Javascript And Xml

    • Peeter Marvet
      Lisatud 20. veebr. 2006 kell 22:04 | Püsiviide

      Ja antud kontekstis siis point selles, et vältimaks erinevaid retoorilisi lähenemisi kodulehel pildi näitamisse tahaksin ma tekitada olukorra, kus ka kõige nutikamal autorikaitsjal juhe kokku kleepub.

      AJAXi puhul laed sa endale veebilehe mis sisaldab Javascriptis tehtud programmijuppi, too võtab vajaduse tekkimisel ühendust serveriga ja saadab-vastuvõtab mida vaja. Näiteks maps.google.com laseb sul oma arvutis pilti liigutada ning tellib siis vajadusel pilditükke juurde.

      AJAXi-rakenduse jaoks on brauser nagu operatsioonisüsteem.

      Ning hetkel tahaks ma tekitada olukorda, kus kodanik A poolt kirjutatud (soovitavalt GPL-litsentsiga) kood saab autorikaitsja brauserisse laetud kodanik B serverist, võtab seejärel ühendust kodanik C andmebaasiga ja postitab hinde ja kommentaari kodanik D andmebaasi.

      Seejuures meie poolt palavalt armastatud allstarz.ee on sisuliselt kodanik D kes lihtsalt popup-lingib vaba tarkvara üldusele suunava kodanik B serverile :-)

    • v2ike6udik
      Lisatud 22. veebr. 2006 kell 02:13 | Püsiviide

      Mmm… minu meelest pole siin ajaxi teemas ikkagi mitte kui midagi uut. Tegu on ikkagi samasuguse leechimisega/freeloadimisega. Lihtsalt leechimise vihje tuleb kolmandamalt inimeselt (olgu selleks või googli otsimootor, mis urle pillub). Ma ei suuda tuvastada, kas see ajaxi ka värk räägitud teemale midagi põhjusmõtteliselt uut lisaks. Vbl, lihtsalt toob paremini esile seda fakti, et “internetis vabalt kättesaadav materjal on vabalt tarbitav sellises vormis nagu teda sealt välja antakse”.

      Kui kellelgi on leetchimisega probleeme, siis kasutagu tülikaid meetmeid, näiteks nagu HTTP Referreri kontrollimine. Ma nüüd ei mõtle hetkel välja, kas ajaxiga ise saab “automaagilisi” ridu http-päringu päises muuta/eirata.

      Küll saab seda teha näiteks php’s (ja kõikides muudes junnides). Enamasti suurendab see serverite vahelist koguliiklust 2x [A->B->C], välja arvatud case, kus B=C, st php jookseb lokaalses masinas. Põmst ikka leechimise teema.

      Kusjuures, viimast a->b->c meetodit pidin ma kasutama zone.ee serveri jaoks [zone.ee’s pole mingi “keeldu”, vaid nad lihtsalt näitavad sulle reklaami]. Reklaam keeratakse maha kas cookidega (1 reklaam per 6h) või siis cookide puudumisel http-reffereri määratlemisega (1 reklaam enne igat lõpliku lehte). Antud zone.ee-php-suckeri tegemine oli vajalik, et ma saaks lugeda newsfeederiga zone.ee’s asuvaid blogisid. Kergelt teemast mööda, aga savi. Samal meetodil lahenes ka “rate.ee 10 eegune mobiili taustapildi laadimine”, mille ma nüüd lahendasin kui tausta teenuse (keh, mul pole endal isegi värvilist telefoni ;). Kas ma rikkusin nüüd selle lükkega seadust? On siis nii lollid.

      Ainus asi, mida ma näen, kuidas saaks leetch-linkijaid vahele võtta, on see kui leechimine võrdsustada serveri kuriathtliku pommitamisega [firma tegevuse häirimine, millega kaasneb kahju (näiteks telefoni liinidele helistamine, nii, et firma ei saa äri ajada)]. Erm, kuidas küll seda on võimalik teha? Hea jurist räägiks muidgi kassipissi ka fanataks. :)

      Aga kas näiteks telekat salvestavad “boxid”, mis ka automaatselt reklaame eemaldavad, pole samasugune “ebaseaduslikul moel nänni kuritarvitamine”? Tõsi, ainus vahe on selles, et lisaträffikut ei tekitata, aga kas träffik on seotud kuidagi käesoleva “autoriõiguste” kammaijaaga?

      Üleüldse, miks inimesed karjuva “free beer” ja siis lasevad pumppüssiga, kui lähed seda kõrval baari jooma.

      Ja nüüd unejutt. Zzzzz…

    • Peeter Marvet
      Lisatud 22. veebr. 2006 kell 07:18 | Püsiviide

      Jahloomulikult on leechimine, selle vastu keegi ei vaidlegi, seda pisirakendust oleks vaja lihtsalt probleemi abstraktsemaks muutmiseks :-)

      Aga muidu igati nõus, sh et see asi võiks minna … näiteks KarS §207 Arvutivõrgu ühenduse kahjustamine alla… või pigem siiski midagi Võlaõigusseadusest, §1045 näiteks.

    • Priit
      Lisatud 22. veebr. 2006 kell 12:57 | Püsiviide

      Ah ma ei viitsi seda teha :-) Aga kui keegi viitsib siis ma annaks nõu, et asi veel keerulisem oleks. Asja saab teha nii, et ühest serverist tõmmatakse baashtml, teisest javascript, kolmandast css, neljandast pildid (kui vaja). Tore oleks saavutada olukord kus lehekülg töötaks ainult koos kolme komponendiga, kuid mitte eraldi, ehk html ilma js ja css’ta ei sisaldaks ühtegi linki. Ja siis veel et pärast esimest laadimist enam kordagi nende kolme serveri poole ei pöördutaks, vaid kõik tehaks ära js’s, kliendi masinas.

    • Endel Soolo
      Lisatud 22. veebr. 2006 kell 16:01 | Püsiviide

      Rakenduse võiks veel mõne (rakenduse autorile kuuluvat või registreerimata) logo leitud videote näitamise ajal nendele nurga peale kleepida. Kas siis oleks autoriõiguse seadus veelgi hullemini rikutud, kuna teost on ilma autori loata muudetud? Vaataja silma võrkkestale aga võib samamoodi muudetud videopilt jõuda ka juhul, kui kinos istub tema ees logoga mütsi kandev inimene või kui televiisori ekraanilt peegeldub aknast paistev neoonreklaam. Ka mõned televiisorid näitavad vahel sihipäraselt pildi peale andmeid (kontrastsus, kanali nr.) või logosid. Jälle seaduserikkumine?

      Vastuväiteks võiks olla, et ühel juhul saab vaataja aru, mis ja kuidas tema tajutavat kujutist moonutab, teisel juhul aga peab ta moonutust autori poolt tehtuks. Kuidas sel juhul olukord muutub, kui programmile lisada nupp, mis peale kleebitava logo ära kaotab või välja vahetab ja seega muudab kasutaja teadlikuks asjaolust, et logo lisab tema arvutis töötav vaatamisprogramm? Kui aga nupp ära jätta ja programmi kasutusjuhendis kirjutada: “Tehniliste iseärasuste tõttu lisab käesolev programm kõigile videotele oma logo”?