MIX Essentials 08 - Mest om Silverlight

Kategori: Diverse | Kommentarer (0)
Gemt: 2008-05-22 11:49


I går afholdt Microsoft Danmark MIX Essentials i Cinemaxx i Kbh og det var en dag der hovedsageligt havde fokus på Silverlight, men som også bragte lidt nyt om et par andre ting.

Keynote
Dagens keynote stod August de los Reyes, en af mændene bag Microsoft Surface for, og den var hovedsageligt et småfilosofisk indslag om hvilke faktorer der spiller ind, når en bruger afgør om tommelfingeren skal vendes op eller ned.

Jeg må sige at jeg aldrig har set nogen vise så mange slides på så kort tid, flere af dem var kun på skærmen i et enkelt sekund eller to, så man skulle virkelig være på tæerne for at få det hele med, men syntes egentlig ikke at det gjorde det store, for når der var noget som var helt fundamentalt, så blev tempoet sat en anelse ned.

Hovedkonklusionen som August kom med er denne:
Machine output > User input = Magic!

Med andre ord, når brugeren får mere ud af noget end de investerer i det (tid/kliks/handlinger/whatever), så er det magien opstår.
Når man tænker over det, så er det egentlig meget selvfølgeligt, men derfor absolut værd at have i baghovedet.

Efter keynoten blev dagen delt op i to spor, et for webudviklere og et for designere, og her hoppede jeg på webudvikler-delen.

Expression Blend
Det næste indslag var af Christian Schormann, hvis titel jeg ikke kan huske, og i øvrigt kan jeg ikke huske ret meget fra hans præsentation, for mage til ukarismatisk person skal man lede længe efter.
Kan godt være at han er chef for en vigtig afdeling, men han evnede simpelthen ikke at begejstre.

Han fortalte lidt om nogle nye funktioner i Blend, Vertex animation og tweening med easing, men derudover også om en ny DeepZoom composer, som er et vørktøj der gør det nemt at lave DeepZoom-filer uden at man skal hen og programmere noget.

Silverlight til video-on-demand og reklamer
Erik Westermann stod for den næste session, som bød på et helt konkret eksempel på hvordan man kunne lave en meget simpel Silverlight applikation, nemlig en faneinddelt forsideboks, i stil med denne:
Silverlight demo

Kan i øjeblikket ses live på www.microsoft.com, hvis man har Silverlight installeret.

Erik var ganske interessant at høre, og sessionen gav et nogenlunde indblik i hvad der skal til for at lave sådan en simpel lille ting, men led dog under at han sagtens kunne have brugt dobbelt så meget tid.

Det mest interessante var at han fortalte om de problemstillinger han var løbet ind i undervejs, og de passede perfekt med de problemer som en der er ved at lære Flash/ActionScript render ind i, eksempelvis hvordan man finder ud af hvad en bruger har klikket på og sørger for at man ikke kan klikke på de ting som ikke er synlige.

Windows Live Platform
Efter frokosten fortalte Dr. Neil Roodyn om de muligheder som Windows Live platformen byder på, og her var de absolut mest interessante ting: Live ID og Silverlight Streaming.

Live ID er det brugernavn og password man bruger når man logger på eksempelvis Hotmail eller Messenger, med andre ord et login som stort set samtlige brugere på internettet har mindst et af, og med den nye platform har man som udvikler mulighed for at genbruge det login på sine egne websites.

Det betyder at brugerne slipper for at oprette et nyt login, ligesom at data som navn, fødselsdato, køn m.m. kan overføres automatisk hvis brugeren giver tilladelse til det.
Og, som det måske vigtigste, så kan brugeren også give et website adgang til de kontakter de har på deres venneliste, med de muligheder det giver for automatiske invitationer m.m.

Så, skal man lave et website hvor målgruppen i høj grad bruger Messenger, så er det absolut værd at overveje.
I øvrigt er denne service gratis til for websites som har under 1 million unikke brugere om måneden.

Det andet han fortalte om var Silverlight Streaming, som basalt set er gratis lagerplads fra Microsoft som kan bruges til at hoste Silverlight video eller Silverlight applikationer.
Har man eksempelvis lavet en applikation der benytter DeepZoom, som jo giver store og tunge filer, så kan man få det gratis hosted.
Begrænsningen er i øjeblikket på 10GB lagerplads og 1TB månedlig trafik, hvilket skulle være rigeligt til langt de fleste ting.

Silverlight 2.0
Næste speaker var Tor Kristensen, en erfaren Flash-haj, som beskrev hvordan det for ham havde været at lave en Silverlight-applikation, i hans tilfælde nogle extensions til DeepZoom.

Konklusion fra ham var, at det var ganske nemt at komme igang med hvis man var van til at programmere i forskellige sprog, og at det i øvrigt bød på et godt flow og nogle nyttige funktioner, herunder muligheden for at arbejde med dll’er som var lavet af andre.

Han viste også via noget XAML, hvor nemt det var at skinne og ændre udseendet på de extensions han havde lavet.

Alt i alt nydeligt, men ikke noget groundbreaking.

Love your XAML
Dagens sidste session var med Rich Griffin, Senior Developer fra Conchango, som fortalte om hvad han var så vild med ved XAML og viste nogle nyttige værktøjer til når man laver WPF og Silverlight applikationer.

Det mest nyttige jeg fik ud af denne session var et link, nemlig til KaXAML, som er en XAML-editor der er væsentligt nemmere at gå til en både Blend og Visual Studio, og som derfor er oplagt at starte ud med når man skal se hvad det dersens Silverlight egentlig er for noget.

Summa summarum
Som man måske kan fornemme af referatet, så var det egentlig ikke fordi at der kom så meget nyt på bordet - ingen store nye funktioner og ingen super fede tips, men mere et fornuftigt overblik over hvad der er sket med Silverlight siden sidste år, og hvor det er på vej hen.

En ting som folkene fra Microsoft lagde meget vægt på var, at man som udvikler skal finde en designer at alliere sig med, da det kun er på den måde at man får skabt de fedeste oplevelser - og det tror jeg absolut ikke er tilfældigt.

Min egen konklusion på hvor Silverlight er henne i øjeblikket er nemlig den, at hvis man i forvejen er dedikeret Microsoft-udvikler, så er Silverlight efterhånden er ved at være værd at overveje at lave noget i, hvis man gerne vil lave nogle ting der er mere interaktive end html, men er nervøs for at kaste sig over Flash, da det naturligt nok vil føles væsentligt mere fremmed.

Men omvendt er der absolut ingen grunde for Flash-udviklere at skifte til Silverlight, ligesom der ingen grund er for designere at skifte fra Photoshop/Illustrator/Flash til Design/Blend, og tror generelt at det sidste er en meget stor udfordring for Microsoft, da det kræver gode designere for at få skabt de virkeligt fede oplevelser.
Udfordringen bliver ikke mindre af, at hele Expression-suiten kun findes til Windows og mange designere traditionelt arbejder på Mac.

Så, helt kort, så er Silverlight absolut blevet bedre, men der er efter min mening stadig lang vej endnu.

Anekdoter
Til slut et par små facts og historier fra dagen, som du som læser selv må tolke ;-)

- Til en session sad jeg ved siden af to udviklere som lavmælt diskuterede hvad det der RIA egentlig stod for.
- En håndsoprækning viste at ingen brugte Windows Live Search.
- En håndsoprækning viste at højst en tredjedel af dem som havde valgte Webdesigner linien rent faktisk var webdesignere, hvilket de to internationale speakere var imponeret over, da det i de andre lande havde været en meget mindre andel.
- Alle de projekter der blev vist på dagen var udviklet i samarbejde med eller decideret sponsoreret af Microsoft. Ingen rent kundefiniansierede løsninger.


Silverlight - Hvad jeg lærte til Microsoft konferencen

Kategori: Diverse | Kommentarer (1)
Gemt: 2007-09-4 9:54


I går holdt Microsoft en endags konference i Cinemaxx med fokus på Silverlight, og da det er lanceret som Microsofts bud på et Flash-lignende plugin, så var det naturligt at tage med og smugkigge lidt.

Hvad er Silverlight?
For at starte med starten, så er Silverlight et nyt plugin til browseren, der baserer sig på WPF (Windows Presentation Foundation), og som gør det muligt via XAML (XML baseret spog til definering af objekter) at vise lækre grafiske ting direkte i browseren.
Alt i alt meget ligesom Flash, men med primært fokus på kode, og eksempelvis generer de grafiske programmer også XAML, fremfor eksempelvis eps, jpg eller lignende.

Silverlight 1.0 RC

Den første version af Silverlight er i øjeblikket ude som RC (Release Candidate) og er dermed næsten helt færdig, og på konferencen blev der vist eksempler på hvordan man udviklede løsninger til den version, hvilket primært foregik via JavaScript.

Jeg har ikke tænkt mig at gå ned i dybere detaljer om hvordan man gør, men mere komme med et par eksempler på hvor den adskiller sig væsentligt fra Flash, og hvad jeg ser som styrker og svagheder.

- Håndtering af fonte
Da en Silverlight applikation kun består af ren XAML kode, så kan den ikke inkludere andre ting i samme fil, eksempelvis fonte.
Det betyder at man selv skal zippe eventuelle specielle skrifttyper og loade dem ind. Det er egentlig relativt enkelt, men efter at man har loadet dem, så skal man for hvert enkelt tekstfelt som bruger den pågældende skrifttype selv assigne fonten til tekstfeltet, ellers virker det ikke.

Det betyder så også at man loader hele fonten, ikke kun de tegn man benytter, hvilket de fremførte som en fordel da det jo er super besværligt at embedde. Personligt har jeg det nok lige omvendt, jeg hader spild, og det er altså spild at loade 500 tegn hvis man kun bruger 20.

Alt i alt temmelig omstændigt, og hvad siger producenterne af skrifttyper egentlig til at man på den måde videre-distribuerer dem til alle ens brugere i ttf-format?

- Unikke navne
Hvor objekt-navne i Flash bare skal være unikke for det niveau objektet er på, så skal de i Silverlight være unikke på tværs af hele projektet. Fordelen ved det er, at man fra roden af kan kalde en funktion med det unikke id og så få returneret en reference til det, uanset hvor det er i projektet.

Ulempen er jo at to ting ikke kan hedde det samme, på trods af at de eksisterer på forskellige niveauer, og det synes jeg personligt er en kæmpe ulempe, da det jo strider meget imod den objekt orienterede tankegang.

- Uafhængige tidslinier
En ting som jeg til gengæld synes var smart, var muligheden for uafhængige tidslinier. Ja, ved ikke om uafhængige er det rigtige ord, men lad mig prøve at forklare.

Tidslinie A flytter Objekt 1 fra 0 til 10.
Tidslinie B flytter Objekt 1 fra X til 20.
Tidslinie C flytter Objekt 1 fra X til 40.

Med andre ord, tidslinie B og C tager sit udgangspunkt i tidslinie A, sådan så man for eksempel på baggrund af en if-sætning kan afgøre om den skal gøre det ene eller andet, og ændrer man senere på Tidslinie A, så skal man ikke rette noget i B og C.

Noget lignende er naturligvist også muligt at gøre i Flash via ActionScript, men her kan man gøre det direkte på sin tidslinie i Blend.

- Ingen inputfelter
Ja, det er rigtigt, i Silverlight 1.0 er der INGEN, jeg gentager INGEN input-felter.

Har man brug for at brugerne kan indtaste data, så er man nød til at lave et input-felt i html, placere det hvor man nu vil via css og koble det op på sin Silverlight applikation via JavaScript.

Ikke særligt elegant, og manden fra Microsoft gav da også udtryk for at det er noget som skulle komme i version 1.1, omend det ikke er med i den nuværende Alpha release.

Silverlight 1.1
Det lyder som om at Microsoft allerede har erkendt at 1.0 ikke rigtigt slår igennem med de mangler som den har, blandt andet er det jo svært at tiltrække eksisterende .Net-udviklere, hvis man kun kan programmere sine applikationer i JavaScript.

Derfor var der også et langt indlæg om det nye 1.1 version som i øjeblikket er i Alpha.

- CLR (Common Language Runtime)
Den utvivltsomt største nyhed i 1.1 er at den har et CLR, der gør det muligt at afvikle “serverkode” ude på klienten.

Med andre ord, så kan .Net-udviklere skrive en Silverlight applikation i eksempelvis C#, herunder også med komplet Intellisense i Visual Studio, og det tror jeg virkelig vil rykke, da det vil gøre springet fra at skrive web applikationer, eller traditionel software for den sags skyld, og til at skrive Silverlight applikationer meget lille.

Der er sikkert også andre nye ting i 1.1, men CLR var det eneste de rigtigt fremhævede på konferencen.

Status på Flash vs Silverlight
Nå, og så til fornemmelsen i maven: Efter konferencen, hvordan ser jeg så på kampen mellem Flash og Silverlight?

Jeg ser sådan på det at Flash ikke for alvor skal føle sig truet det første års tid, men at Silverlight på den lidt længere bane absolut har potentiale.

Når det så er sagt, så ser jeg ikke det ene erstatte det andet.
Silverlight ser for mig ud til at være ekstremt godt til data-intensive ting, da de udviklere som normalt arbejder med de tunge data kan tage dem direkte med derind, mens Flash vil være bedre til projekter hvor der er mere fokus på oplevelsen.