Na ATD-u smo prikazivali hrpe demonstracija i obećali ih objaviti na post-konferencijskom webu. Glavni feature tog weba bit će video snimke svih predavanja, no one se još uvijek obrađuju i njihovu objavu očekujemo tokom idućeg tjedna. Do tada, na webu smo objavili sve prezentacije, demonstracije i linkove na dodatne resurse. Direktan link je atd3.inside.hr, a do stranica se može pristupiti i preko standardnih ATD3 stranica, gdje je postavljena i prigodna obavijest. Jednom kad objavimo video materijale poslat ćemo i službeni mail zahvale svim posjetiteljima s tom informacijom, kao i objaviti prikladnu PR obavijest, jer, neka me netko ispravi ako griješim, ovo je prva domaća konferencija koja će u potpunosti biti dostupna preko Weba. Sva predavanja, svi video zapisi, sve demonstracije, sve. No više o tome sljedeći tjedan.
Jedno od meni najvažnijih predavanja na konferenciji je bilo "A2 – Izrada Silverlight rješenja". Okosnicu predavanja činile su, uz neizbježan uvod kako rade Silverlight i XAML, glavne prednosti Silverlighta i 3 demonstracije konkretnih scenarija. Na gornjoj adresi možete preuzeti prezentaciju (direktan link), a evo i ključnih prednosti Silverlighta koje sam tamo naveo (prebačeno iz prezentacije u tekst pa je sve malo šturo, no poanta je tu).
XML opis sučelja (XAML): korištenje tekstualnih datoteka, odvojenost sučelja od koda, moguće indeksiranje na tražilicama. Programiranje u JavaScriptu: integracija s DOM-om, korištenje poznatih metoda, klasa, AJAX-a. Video je običan element u XAML-u: rotacija, prozirnost, transformacije, preklapanje, više simultanih video-zapisa. Implementiran industrijski standard – VC-1: podrška za WMV, WMA, MP3, besplatan Encoder SDK za prebacivanje iz drugih formata, integracija s Windows Media Servicesom. Besplatan hosting video-zapisa: silverlight.live.com. Rad s fontovima: uključite u svoje projekte vlastite i posebne TTF-ove. WPF model animacija: temeljen na vremenu (početak / kraj). Downloader objekt: dohvaćanje eksternih elemenata (XAML, TTF, …), pakiranje u ZIP datoteke. AJAX kao funkcionalni pokretač – poznate tehnologije, poznate klase i objekti. Silverlight 1.1: .NET programiranje (prvi put .NET na Linuxu, Macu i starijim Windowsima, podskup .NET klasa), gotove komponente, podrška za DRM, dostupno sredinom 2008. godine (danas je dostupna alpha verzija).
Na predavanju sam pokazivao i tri scenarija korištenja Silverlighta i napravio ih od nule (File – New Project). Scenarij 1 je pokazivao kako napraviti titlove na videu. Prvi korak je u Expression Encoderu učitati video kojem želimo dodati titlove, zatim označiti markerima trenutke kad treba prikazati pojedini titl i kodirati sve u izlazni WMV. Zatim samo MediaElementu u XAML-u dodamo event MarkerReached koji u JavaScriptu pokreće prikazivanje titlova. Svaki put kad video dođe do nekog markera, JavaScript kodu se proslijedi naziv markera na temelju kojeg izvlačimo traženi titl. Na primjeru smo napravili dvojezične titlove između kojih korisnik može birati i prebacivati se usred filma. A kako koristimo JavaScript, vrlo je lako titlove vući otkud god želimo (AJAX, web-servisi, XML datoteke, hardkodirani titlovi, itd.). Primjer je pokazivao i kako iz JavaScripta pokrenuti animaciju za prikazivanje titlova.
U scenariju 2 pokazivao sam kako koristiti posebne fontove u TTF formatu. Jednostavno TTF spremimo u ZIP i uz pomoć JavaScripta i downloader objekta u par linija koda skinemo ZIP, otvorimo ga i kažemo da neki TextBlock koristi taj font. Jednostavno, i nema komplikacija s glyphovima. Primjer je također pokazivao korištenje AJAX-a za dohvaćanje RSS-a i zatim dinamičko stvaranje elemenata u animaciji korištenjem metode createFromXaml za prikazivanje pojedinih vijesti.
Scenarij 3 se pak opet bavio videom, no na drugi način. Koristeći ASP.NET i FileUpload kontrolu pokazao sam kako se može napraviti sustav za upload videa, automatski kodiranje u zadani format u pozadini i zatim prikaz u nekom Silverlight playeru. Sam upload videa je jednostavan (par linija koda u ASP.NET-u), a trik je bio u automatskom kodiranju. Korištenjem Expression Encodera napravili smo presete u kojima smo definirali izlaznu kvalitetu videa, overlay sliku koja se enkodira u video (koristili smo logo konferencije) te smo još odredili duljinu videa (čisto radi primjera, svaki uploadani video smo smanjili na 15 sekundi). U ASP.NET-u smo nakon uploada pozvali Encoder.exe koji je u pozadini na temelju preseta spremljenog u XML datoteku kodirao video i zatim ga prikazali u Silverlight playeru. Za to sam koristio neki već gotov predložak iz Expression Encodera, doslovno samo copy/paste.
Poanta ove litanije jest da sve te primjere možete preuzeti i isprobati. Dostupni su preko post-konferencijskog weba ili, ako vam se ne da surfati da vidite čega još ima, direktno ovdje u ZIP datoteci (oko 4 MB). Kod je tu, na brzinu sam vam opisao što koji primjer radi, pa ako vas nešto od toga zanima, bacite pogled. Imajte na umu da sam svaki primjer napravio iz nule na predavanju za prosječno 10-ak minuta. Kod nisam pisao, trajalo bi vjerojatno par minuta dulje da jesam. U svakom slučaju, garantiram vam da ove scenarije možete ispuniti kroz Silverlight u ekstremno kratkom vremenu. Naravno, možete pričekati i dok ne objavimo video s predavanja pa možete točno slijediti korake i klikati zajedno sa mnom.