Avtor: Dominik Mahnič (ALUO)
Programiranje: Klemen Nagode (FRI)

Podobe besede

Opis ideje

Projekt "Podobe besede" ustvari civilizacijsko ter časovno komoro. Beseda je najmanjša samostojna jezikovna enota, ki predstavlja ali sporoča pomen. Pomen besede pa je velikokrat odvisen tudi od okoliščin. Ljudje imamo ob določeni besedi različne asociacije in vsakdo si, ko sliši določeno besedo, zamisli drugačno podobo. Vsaka beseda je torej že t.i. nadpomenka različnih vizualnih predstav. Projekt "Podobe besede" ustvari pregled različnih podob, ki so na spletu poimenovane oz. naslovljene z isto besedo. Posameznik v aplikacijo vpiše ključne besede, le ta mu odgovori z mrežo slikovnih sopomenk najdenih na svetovnem spletu ter ga postavi v slikovno atmosfero besede.

Tehnična realizacija

V začetku projekta je bilo potrebno poiskati kompromis v tehnologiji. Ključni problemi, ki se bodo kasneje oblikovali v rešitev so: pridobitev seznama slik iz iskalnikov, uporabniška izkušnja in prikaz najdenih slik na zaslonu in prikaz rezultatov na več projektorjih

Zajem slik

Slike prebiramo preko XML dokumenta, ki ga generira PHP. S pomočjo PHP skriptnega jezika bomo simulirali obiskovalca na spletni strani “Google Images Ogled delovanja iskalnika pokaže, da je URL pri prikazu zadetkov naslednji:

http://images.google.si/images?hl=sl&source=hp&q=flower&btnG=Iskanje+slik&gbv=2&aq=f

Za nas je pomemben poudarjen del, katerega dinamično spreminjamo glede na iskalni niz. Google vrne zadetke v obliki povezav, ki že same po sebi vsebujejo URL do ciljnih slik. S pomočjo regularnih izrazov potrebne URL-je izluščimo iz dokumenta in jih v obliki XML prikažemo.

Prikaz slik

Za uporabniško izkušnjo skrbi Adobe Flash. Programska oprema Adobe® Flash® CS4 je vodilno okolje za ustvarjanje privlačnih interaktivnih izkušenj.

Flash se ob začetku zagona zažene v celozaslonskemu načinu. Da delujejo vse funkcionalnosti je potrebno SWF datoteko zgenerirati v EXE formatu. V nasprotnem primeru ne delujejo vnosna polja.

Prikaz na več projektorjih

Za prikaz na več projektorjih smo poizkusili najprej poiskati grafično kartico, ki bi omogočala prikaz enega zaslona na več monitorjih, kar bi precej poenostavilo sam razvoj aplikacije. Ker take grafične kartice nismo uspeli dobiti, smo raziskovali naprej in ugotovili, da bi bilo zelo smiselno, če posamezne monitorje med seboj "povežemo" preko strežnika. V temu primeru lahko naš projekt predstavimo z nešteto monitorji, poleg tega pa tudi nimamo dodatnih stroškov z nestandardnimi grafičnimi karticami.
Ker ima sam Flash že zelo dobro knjižnjico za povezavo s strežnikom v realnem času je bil to tudi eden ključnih dejavnikov za njegovo izbiro.
Sprva je bila ideja, da bi računalniki med seboj komunicirali kar preko strežnika Apache. Periodično bi na strežnik pošiljali poizvedbe o tem, ali za določeno okno čaka nek ukaz. Taka rešitev je enostavna in hitra za realizacijo vendar relativno počasna. Hitrejša komunikacija je možna preko protokola “rtmp” (real time messanging protocol). Odprtokodna rešitev, ki podpira ta protokol je Red5 strežnik, kar smo v projektu tudi uporabili. Strežniški programi so tako kot Red5 sprogramirani v jeziku Java.
Komunikacijo preko RTMP protokola smo realizirali preko portala Talcho.com, ki omogoča komunikacijo v realnem času.

49_1.jpg
       
49_3.jpg
       
49_4.jpg
       
49_5.jpg
       
49_2.jpg