Arkiv for maj 2008

Actionscript 3 performance optimering

fredag, 30. maj 2008

En af de mest hardcore Flashkodere Joa Ebart har lavet et lille dokument med alle de tips og tricks til at optimere performance i ActionScript, som han selv er stødt på, og der er absolut et par guldkorn imellem.

De to som gør den allerstørste forskel er:

Genbrug objekter
Langsom:
for (;i<n;i++)
p = new Point(i, i);

Hurtig:
for (;i<n;i++)
{
p.x = i;
p.y = i;
}

Her er det cirka 40 gange hurtigere at genbruge objektet.

Undgå såvidt muligt try and catch
Langsom:
var o: Sprite;
for (;i<n;i++)
{
try
{
o.blendMode = BlendMode.ADD;
}
catch ( error: Error ) {}
}

Hurtig:
var o: Sprite;
for (;i<n;i++)
if ( o != null )
o.blendMode = BlendMode.ADD;

Her er det cirka 1000 gange hurtigere at teste på null.

Disse to og mange flere tips finder du i dette dokument:
ActionScript 3 optimization techniques by Joe Ebert

Og hvis du er i humør til lidt nørdgloser og teknisk snak, så vil jeg anbefale dig at kigge på hans egen blogpost om emnet, hvor særligt kommentarer bliver særdeles nørdede:
ActionScript 3 optimization techniques

Tutorial: Komplet site med dynamisk indhold og SwfAddress - del 1

torsdag, 29. maj 2008

Som jeg skrev i forbindelse med lanceringen af den sidste version af Se mor! - Digital konceptudvikling og design, så ville jeg benytte erfaringerne med SwfAddress derfra til at lave en lille tutorial, og i dag kommer så første del af den.

Mål
Målet med tutorialen er at lave et komplet og dynamisk microsite, der kan konfigureres via xml og loader alt indhold ind særskilt.
Og, som det måske mest interessante, så integreres det med SwfObject og SwfAddress, sådan så man kan bookmarke og linke til sektioner på sitet.

SwfAddress != SEO
Som noget af det første vil jeg gerne starte med at slå en tyk streg igennem en stor misforståelse som jeg ser flere steder:
SwfAddress har i sig selv intet med SEO (Search Engine Optimisation) at gøre.

SwfAddress gør det muligt forholdsvis enkelt, at lave et site i Flash, hvor man kan linke til og bookmarke bestemte sider og sektioner, med alle de fordele som det nu engang giver.

SwfAddress gør IKKE et Flash-site mere søgevenligt, da Google og andre søgemaskiner stadig ikke kan indeksere dynamiske Flash-sites, og derfor har det altså ingen effekt på det.

Ønsker man er SEO-optimere sit Flash-site, så er det oplagt at bruge SwfAddress som en del af sådan en løsning, men derudover kræver det også en del ændringer server-side.

Bare så vi lige har det på plads :-)

Flow
Det adskiller sig i bund og grund ikke ret meget at lave et site med SwfAddress og et uden, men der kommer en lille ændring i flowet, som jeg har forsøgt at skitsere her:

SwfAddress - Flow

Med andre ord så er det der sker, at der er en speciel event i SwfAddress som bliver aktiveret når url’en ændrer sig, her modtager man så den nye url som en streng, og så kan man ellers begynde og parse den og finde ud af hvad det var som der blev klikket på.

Så, det var introduktionen til det hele, i næste del tager vi hul på koden.

Nonoba - Lav et multiplayer spil i Flash og vind boksen!

mandag, 26. maj 2008

Nonoba - Play togetherHvis du altid har drømt om at lave et multiplayer spil i Flash, men har ment at det ville være for svært eller for dyrt, så har du nu chancen - og du kan ovenikøbet vinde $15.000 hvis du gør det godt!

Nonoba, som er et online gaming community, har netop lanceret en ny multiplayer API, der gør det væsentligt nemmere at lave multiplayer spil i Flash, noget som ellers traditionelt har været temmelig kompliceret.
Og, ikke bare har de lavet API’en, for at sætte skub i tingene har de også lanceret en konkurrence hvor hovedpræmien er ikke mindre end $15.000!

Et par af bagmændene til Nonoba er tidligere kolleger, og derfor har jeg haft fuldt det fra starten, og må tilstå at jeg er meget imponeret over det som de har fået stablet på benene - er super fedt at se når danske firmaer ikke er bange for at gå heads-up mod store, udenlandske udbydere.

Du kan læse mere om multiplayer API’en her:
Nonoba multiplayer API

Og om konkurrencen her:
Multiplayer API Kick Off competition

Fik jeg i øvrigt nævnt at Nonoba hoster alle spillene gratis og at det er fuldt tilladt indbygge reklamer i spillene?
Ikke dårligt, ikke dårligt.

Flash Player 10 - Det bliver vildere og vildere

fredag, 23. maj 2008

Siden sidste uge er der kommer endnu mere frem om hvad Flash Player 10 kommer til at indeholde og der er blevet spekuleret lidt i, hvad de nye ting giver mulighed for.

Af ting der er ekstra værd at bemærke er blandt andet at File Reference bliver udvidet, sådan så det nu bliver muligt at indlæse skrive og læse lokale filer, hvilket virkelig har været en efterspurgt feature, da man jo så for eksempel kan vise brugeren en thumbnail af det 10MB billede han skal til at uploade inden der trykkes på send.

En anden ny feature er RTMFP (Real Time Media Flow Protocol), som jeg absolut ikke selv aner hvad kan bruges til, men Stefan Richter fra FlashComGuru spekulerer i at den kan bruges til peer-to-peer, og han plejer at have styr på tingene.

En komplet liste med de nye features findes her:
Features and Enhancements

I øvrigt så er det nu også demonstreret hvordan man kan komme til at lege med de nye features, hvis du slet ikke kan vente, så se denne videotutorial:
Flash Player 10 Beta: Getting Started

Og, den fulde dokumentation til de nye API’er kan hentes herfra:
Flash Player 10 documentationr

MIX Essentials 08 - Mest om Silverlight

torsdag, 22. maj 2008

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.

Ny version af Se mor!

fredag, 16. maj 2008

Se mor! - Digital konceptudvikling og design

Efter længere tids arbejde har vi netop smidt en ny version af Se mor! i luften:
Se mor! - Digital konceptudvikling og design

Udover ændringen i designet, så er der kommet en mere hensigtsmæssig måde at vise cases på, og derudover har vi også brugt SwfAddress sådan så man kan bookmarke og linke direkte til alle sider.

Erfaringerne med SwfAddress udmynter sig i øvrigt snart i en lille, eller måske endda en større, artikel.

God weekend!

Flash Player 10 (Astro) Beta er i luften!

torsdag, 15. maj 2008

Så er Flash Player 10, kodenavn Astro, i luften som beta, og som tidligere omtalt, så er det ikke småting den byder på, blandt andet:
- Simpel 3D
- Custom filters
- Hardware accellereret grafik
- Avancerede tekstlayouts og bedre font-styring

Du kan se en række interviews med Justin Everett-Church, hvor han gennemgår de nye funktioner og viser små demoer, her:
Flash Player 10 demos and videos

Historien melder desværre ikke noget om hvornår den endelige version forventes klar, eller hvornår der kommer en opdatering til Flash, sådan så man selv kan begynde at publisere til Flash Player 10, men der kommer selvfølgelig et nyt indlæg når det sker.

Mere information om Flash Player 10 på Labs:
Flash Player 10

Gratis komponenter og klasser fra Yahoo

tirsdag, 13. maj 2008

Yahoo har netop frigivet en 1.2 update til deres ASTRA Flash components, og da jeg vidst aldrig har fået nævnt dem herinde på bloggen, så var det en oplagt anledning til at nævne det nu.

Kort fortalt, så er ASTRA en samling af forskellige komponenter som er velegnede til at lave RIAs, der er blandt andet en MenuBar, TabBar, AutoComplete, Charts og en del flere.

Der er gode eksempler og glimrende dokumentation, så de er rigtigt nemmere at komme igang med.
Du finder dem allesammen her:
ASTRA Flash components

De er en del af Yahoos store Flash Developer Center, hvor der også er en simpel tweening klasse samt, komponenter specielt til Flex og adgang til diverse APIer:
Flash Developer Center

360 graders video!

torsdag, 8. maj 2008

Først kom Google Streetview, med 360 graders billeder af veje og byer, men nu har Immersive Media Streaming fundet en måde at lave 360 graders video på.

Det er egentlig ikke fordi at det er så højteknologisk igen, en masse forskellige videofeeds som opfører sig som et, men det er lavet rigtig godt og smidigt:

Fra man er cirka 20 sekunder inde i videoen kan man holde musen nede og ændre perspektivet helt som man lyster, ikke dårligt!

Læs mere om hvordan de gør det her:
How it works

Fundet via FlashComGuru

God tutorial om avanceret tweening

onsdag, 7. maj 2008

Flash & Math har netop lavet en rigtig god tutorial som kigger nærmere på hvordan man laver avancerede tweens i ActionScript.
Normalt når man tweener, så er det jo linært, flyt object x fra a til b, men hvad nu hvis bevægelsen skal være en cirkel eller måske et s?

Det giver denne tutorial et par bud på:
Tween Tricks in ActionScript 3 and Flash CS3